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