web-dev-qa-db-fra.com

R conditions multiples dans l'instruction if

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!

10
user3431218

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.

4