Sous-ensemble d'une trame de données en utilisant OU lorsque la colonne contient un facteur
Je voudrais faire un sous-ensemble d'un bloc de données dans R qui est basé sur l'un OU l'autre valeur dans une colonne de facteurs, mais il semble que je ne peut pas utiliser |
avec les valeurs du facteur.
Exemple:
# fake data
x <- sample(1:100, 9)
nm <- c("a", "a", "a", "b", "b", "b", "c", "c", "c")
fake <- cbind(as.data.frame(nm), as.data.frame(x))
# subset fake to only rows with name equal to a or b
fake.trunk <- fake[fake$nm == "a" | "b", ]
produit l'erreur:
Error in fake$nm == "a" | "b" :
operations are possible only for numeric, logical or complex types
Comment puis-je accomplir?
Évidemment mon bloc de données a plus de 3 valeurs du facteur de colonne en utilisant simplement != "c"
ne fonctionne pas.
source d'informationauteur KennyPeanuts
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin
fake.trunk <- fake[fake$nm == "a" | fake$nm == "b", ]
. D'une manière plus concise de l'écriture qui (surtout avec plus de deux conditions) est:Une autre approche serait d'utiliser
subset()
et écrire