web-dev-qa-db-fra.com

R: instruction `which` avec plusieurs conditions

J'ai une matrice qui se compose de 13 colonnes (appelées PC). Je veux créer une nouvelle matrice comprenant uniquement les lignes qui ont une valeur entre 4 et 8 (appelées EUR). J'ai essayé d'utiliser cette déclaration:

EUR <- PCs[which(PCs$V13 < 9 && PCs$V13 > 3), ]

Ce qui, malheureusement, ne fonctionne pas ... (je n'ai qu'une seule ligne, alors qu'il y en a des centaines)

Quelqu'un sait ce qui ne va pas avec cette commande?

24
Abdel

La fonction && N'est pas vectorisée. Vous avez besoin de la fonction &:

EUR <- PCs[which(PCs$V13 < 9 & PCs$V13 > 3), ]
45
Ryan Thompson