Comment remplacer une chaîne dans une colonne à l’aide de dplyr
Vous pouvez utiliser les méthodes suivantes pour remplacer une chaîne dans une colonne spécifique d’un bloc de données à l’aide des fonctions du package dplyr :
Méthode 1 : remplacer une chaîne par une nouvelle chaîne
library(dplyr) library(stringr) df %>% mutate(across('column_name', str_replace, 'old_value', 'new_value'))
Méthode 2 : remplacer plusieurs chaînes par une nouvelle chaîne
library(dplyr) library(stringr) df %>% mutate(across('column_name', str_replace, 'old_value1|old_value2', 'new_value'))
Les exemples suivants montrent comment utiliser chaque méthode avec le bloc de données suivant dans R :
#create data frame
df <- data.frame(conf=c('East', 'East', 'West', 'West'),
position=c('P_Guard', 'P_Guard', 'S_Guard', 'S_Guard'),
points=c(22, 25, 29, 13))
#view data frame
df
conf position points
1 East P_Guard 22
2 East P_Guard 25
3 West S_Guard 29
4 West S_Guard 13
Exemple 1 : remplacer une chaîne par une nouvelle chaîne
Le code suivant montre comment remplacer la chaîne « East » dans la colonne conf par la chaîne « Eastern » :
library(dplyr) library(stringr) #replace 'East' with 'Eastern' in conf column df %>% mutate(across('conf', str_replace, 'East', 'Eastern')) conf position points 1 Eastern P_Guard 22 2 Eastern P_Guard 25 3 West S_Guard 29 4 West S_Guard 13
Notez que chaque chaîne « East » a été remplacée par « Eastern » dans la colonne conf , tandis que toutes les autres colonnes sont restées inchangées.
Exemple 2 : remplacer plusieurs chaînes par une nouvelle chaîne
Le code suivant montre comment remplacer les chaînes ‘P_’ et ‘S_’ dans la colonne conf par une chaîne vide :
library(dplyr) library(stringr) #replace 'P_' and 'S_' with empty string in position column df %>% mutate(across('position', str_replace, 'P_|S_', '')) conf position points 1 East Guard 22 2 East Guard 25 3 West Guard 29 4 West Guard 13
Notez que chaque chaîne ‘P_’ et ‘S_’ a été remplacée par une chaîne vide dans la colonne de position , tandis que toutes les autres colonnes sont restées inchangées.
Notez que nous avons utilisé l’opérateur « OR » ( | ) pour indiquer à R que nous aimerions remplacer toutes les chaînes égales à « P_ » ou « S_ » par une chaîne vide.
N’hésitez pas à utiliser autant d’opérateurs « OU » ( | ) que vous le souhaitez pour remplacer autant de valeurs que vous le souhaitez dans une colonne à la fois.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes à l’aide de dplyr :
Comment recoder des valeurs à l’aide de dplyr
Comment remplacer NA par Zero dans dplyr
Comment filtrer les lignes contenant une certaine chaîne à l’aide de dplyr