R : Comment supprimer des lignes contenant une chaîne spécifique
Vous pouvez utiliser la syntaxe suivante pour supprimer les lignes contenant une certaine chaîne dans un bloc de données dans R :
df[!grepl('string', df$column),]
Ce didacticiel fournit plusieurs exemples d’utilisation pratique de cette syntaxe avec le bloc de données suivant dans R :
#create data frame df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'C'), conference=c('East', 'East', 'East', 'West', 'West', 'East'), points=c(11, 8, 10, 6, 6, 5)) #view data frame df team conference points 1 A East 11 2 A East 8 3 A East 10 4 B West 6 5 B West 6 6 C East 5
Exemple 1 : supprimer les lignes contenant une chaîne spécifique
Le code suivant montre comment supprimer toutes les lignes du bloc de données qui contiennent « A » dans la colonne d’équipe :
df[!grepl('A', df$team),]
team conference points
4 B West 6
5 B West 6
6 C East 5
Ou nous pourrions supprimer toutes les lignes du bloc de données qui contiennent « Ouest » dans la colonne de conférence :
df[!grepl('West', df$conference),]
team conference points
1 A East 11
2 A East 8
3 A East 10
6 C East 5
Exemple 2 : supprimer les lignes contenant une chaîne dans une liste
Le code suivant montre comment supprimer toutes les lignes du bloc de données qui contiennent « A » ou « B » dans la colonne d’équipe :
df[!grepl('A|B', df$team),]
6 C East 5
Nous pourrions également définir un vecteur de chaînes, puis supprimer toutes les lignes du bloc de données contenant l’une des chaînes du vecteur dans la colonne d’équipe :
#define vector of strings remove <- c('A', 'B') #remove rows that contain any string in the vector in the team column df[!grepl(paste(remove, collapse='|'), df$team),] 6 C East 5
Notez que les deux méthodes conduisent au même résultat.
Ressources additionnelles
Comment supprimer des lignes avec certains ou tous les NA dans R
Comment supprimer les lignes en double dans R
Comment additionner des lignes spécifiques dans R