J'ai lu beaucoup de messages de déclaration if, mais je n'ai pas pu trouver de réponse à mon problème simple. Je souhaite créer une nouvelle colonne dans le testeur du bloc de données basé sur une instruction conditionnelle multiple.
tester<- as.data.frame(matrix(data=c(seq(1,300,by=1.5)), ncol=4))
if (tester$V3> 200 && tester$V4>250){tester[,5] <- "one"} else tester$V5 <-NA
Cela me donne des NA pour la colonne entière même si les 17 dernières lignes sont VRAIES pour les deux cas et devraient être "un". Que se passe-t-il ici? Merci de votre aide!
Lire cette discussion R - opérateurs booléens && et .
Fondamentalement, le &
est vectorisé, c’est-à-dire qu’il agit sur chaque élément de la comparaison en renvoyant un tableau logique de même dimension que l’entrée. &&
ne retourne pas un seul logique.