ich folgende Daten mit Korea mit einem fehlenden Wert zwischen zwei Spalten:Der Name which.min und which.max Ausgang der gleiche Wert aufgrund fehlenden
canada <- c(100, 0, 100)
korea <- c(100, "", 100)
brazil <- c(100, 90, 100)
fruit <- rbind(canada, korea, brazil)
colnames(fruit) <- c("apple", "orange", "banana")
fruit
Ich brauche die Namen der Früchte drucken vom minimalen Wert bis zum maximalen Wert. Ich habe dies:
price <- function(val){
# General Functions ----
val <- tolower(val)
myrow <- fruit[val,]
nation <- tools::toTitleCase(val)
name.min <- names(myrow)[which.min(c(myrow))]
name.max <- names(myrow)[which.max(c(myrow))]
cat(paste0("There is an 'NA' between two columns: ", name.min, " ", name.max))
}
Das Problem ist, dass, weil es ein fehlender Wert zwischen Korea Apfel und Banane ist, das ist, was er druckt:
> price("korea")
There is an NA between two columns: apple apple
Ich mag es so aussehen:
> price("korea")
There is an NA between two columns? No problem: apple banana
Suche nach Min- und Max-Werten mit Preisen als Zeichen scheint auch ein Problem für mich - auch beide verfügbaren Werte für "Korea" sind sowieso gleich, also min = max – Cath
ändern Sie "" zu NA, um Ihren fehlenden Wert zu definieren und zu ändern 100 bis 50 für einen der Werte von Korea (um zu vermeiden gebunden) und es wird funktionieren ... Problem ist nicht wirklich mit dem fehlenden Wert, sondern wie Sie den fehlenden Wert definiert (= als Zeichen, konvertieren Sie Ihre gesamte Matrix zu einem Zeichen) – Cath
Danke, dass Sie sich die Zeit genommen haben, meine Frage zu lesen. Ich schätze es sehr. Ja, das Modifizieren von 100 zu 50 würde funktionieren, aber ich werde arbeiten müssen, wenn beide Punkte gleich sind. –