Est-ce que je supprime toutes les lignes d'un cadre de données où une certaine ligne répond à un critère de correspondance de chaîne?
Par exemple:
A,B,C
4,3,Foo
2,3,Bar
7,5,Zap
Comment retourner un cadre de données excluant toutes les lignes où C = Foo:
A,B,C
2,3,Bar
7,5,Zap
Utilisez simplement ==
Avec le symbole de négation (!
). Si dtfm est le nom de votre data.frame:
dtfm[!dtfm$C == "Foo", ]
Ou, pour déplacer la négation dans la comparaison:
dtfm[dtfm$C != "Foo", ]
Ou, même plus court en utilisant subset()
:
subset(dtfm, C!="Foo")
Vous pouvez utiliser le package dplyr
pour supprimer facilement ces lignes particulières.
library(dplyr)
df <- filter(df, C != "Foo")
J'avais une colonne (A) dans un cadre de données avec 3 valeurs (oui, non, inconnu). Je voulais filtrer uniquement les lignes qui avaient une valeur "oui" pour laquelle ceci est le code, espérons que cela vous aidera aussi -
df <- df [(!(df$A=="no") & !(df$A=="unknown")),]