R pas dans le sous-ensemble

Duplication possible:
Méthode standard pour supprimer plusieurs éléments d’un dataframe

Je sais dans R que si vous recherchez un sous-ensemble d’un autre groupe ou si vous recherchez un identifiant, vous utiliserez quelque chose comme:

subset(df1, df1$id %in% idNums1) 

Ma question est de savoir comment faire le contraire ou choisir des éléments qui ne correspondent PAS à un vecteur d’identifiant.

J’ai essayé d’utiliser ! mais obtenez le message d’erreur

 subset(df1, df1$id !%in% idNums1) 

Je pense que ma sauvegarde doit se faire comme ceci:

 matches <- subset(df1, df1$id %in% idNums1) nonMatches <- df1[(-matches[,1]),] 

mais j’espère qu’il y a quelque chose d’un peu plus efficace.

L’expression df1$id %in% idNums1 produit un vecteur logique. Pour le nier, vous devez annuler tout le vecteur:

 !(df1$id %in% idNums1)