R : supprimer les colonnes si le nom contient une chaîne spécifique
Vous pouvez utiliser les méthodes suivantes pour supprimer des colonnes d’un bloc de données dans R dont le nom contient des chaînes spécifiques :
Méthode 1 : supprimer les colonnes si le nom contient une chaîne spécifique
library(dplyr) df_new <- df %>% select(-contains('this_string'))
Méthode 2 : supprimer les colonnes si le nom contient l’une des plusieurs chaînes spécifiques
library(dplyr) df_new <- df %>% select(-contains(c('string1', 'string2', 'string3')))
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :
#create data frame df <- data.frame(team_name=c('A', 'B', 'C', 'D', 'E', 'F'), team_location=c('AU', 'AU', 'EU', 'EU', 'AU', 'EU'), player_name=c('Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'), points=c(22, 29, 35, 30, 18, 12)) #view data frame df team_name team_location player_name points 1 A AU Andy 22 2 B AU Bob 29 3 C EU Chad 35 4 D EU Dan 30 5 E AU Ed 18 6 F EU Fran 12
Exemple 1 : supprimer des colonnes si le nom contient une chaîne spécifique
Nous pouvons utiliser la syntaxe suivante pour supprimer toutes les colonnes du bloc de données qui contiennent « équipe » n’importe où dans le nom de la colonne :
library(dplyr) #drop columns that contain 'team' df_new <- df %>% select(-contains('team')) #view new data frame df_new player_name points 1 Andy 22 2 Bob 29 3 Chad 35 4 Dan 30 5 Ed 18 6 Fran 12
Notez que les deux colonnes contenant « équipe » dans le nom ont été supprimées du bloc de données.
Exemple 2 : supprimer des colonnes si le nom contient l’une des plusieurs chaînes spécifiques
Nous pouvons utiliser la syntaxe suivante pour supprimer toutes les colonnes du bloc de données qui contiennent « joueur » ou « points » n’importe où dans le nom de la colonne :
#drop columns whose name contains 'player' or 'points' df_new <- df %>% select(-contains(c('player', 'points'))) #view new data frame df team_name team_location 1 A AU 2 B AU 3 C EU 4 D EU 5 E AU 6 F EU
Notez que les deux colonnes contenant « joueur » ou « points » dans le nom ont été supprimées du bloc de données.
Remarque : Vous pouvez trouver la documentation complète de la fonction dplyr select() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment supprimer des colonnes par nom dans R
Comment conserver certaines colonnes dans R
Comment renommer les colonnes du bloc de données dans R