check.num <- function(x){
if(x>0){
print("Greater than or equal to 1")
} else if(x==0){
print("Equals zero")
} else if(x<0){
print("Less than zero")
} else{
print("Confused")
}
}
check.num(1)
#Output: [1] "Greater than or equal to 1"
check.num(0)
#Output: [1] "Equals zero"
check.num(-1)
#Output: [1] "Less than zero"
Wie geben die folgenden Befehle die Werte zurück? Ich habe im ersten Fall "0" und im zweiten Fall "Confused" erwartet.Wie geschieht das Gießen in R?
check.num("")
#Output: [1] "Less than zero"
check.num("kj")
#Output: [1] "Greater than or equal to 1"
Danke für die Antwort @Ben Bolker, löste es mein Problem, und ich verstehe das Casting jetzt besser. Ich habe versucht, den folgenden Code zu verstehen, um den lexikographischen Vergleich zu verstehen. if ("" < "0") TRUE sonst FALSE #Output: [1] TRUE if ("kj"> "0") TRUE sonst FALSE #Output: [1] TRUE –
wenn es löst Ihr Problem, das Sie Es wird empfohlen, auf das Häkchen zu klicken, um es zu akzeptieren (Sie brauchen nicht "if (condition) TRUE else FALSE" ..., das nur den gleichen Wert wie '(condition)' –
Thumbs up. Kurze Programmierpraktiken. Danke noch einmal. :) –