Comment remplacer plusieurs valeurs dans un bloc de données à l’aide de dplyr
Vous pouvez utiliser la syntaxe de base suivante pour remplacer plusieurs valeurs dans un bloc de données dans R à l’aide des fonctions du package dplyr :
library(dplyr) df %>% mutate(var1 = recode(var1, 'oldvalue1' = 'newvalue1', 'oldvalue2' = 'newvalue2'), var2 = recode(var2, 'oldvalue1' = 'newvalue1', 'oldvalue2' = 'newvalue2'))
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : remplacer plusieurs valeurs à l’aide de dplyr
Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur divers joueurs de basket-ball :
#create data frame
df <- data.frame(conf=c('East', 'East', 'West', 'West', 'North'),
position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
points=c(22, 25, 29, 13, 18))
#view data frame
df
conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18
Supposons maintenant que nous souhaitions remplacer les valeurs suivantes dans le bloc de données :
- Colonne ‘conf’ :
- Remplacez « Est » par « E »
- Remplacez « Ouest » par « W »
- Remplacez « Nord » par « N »
- Colonne « position » :
- Remplacez « Garde » par « G »
- Remplacez « Forward » par « F »
Nous pouvons utiliser les fonctions mutate() et recode() pour ce faire :
library(dplyr) #replace multiple values in conf and position columns df %>% mutate(conf = recode(conf, 'East' = 'E', 'West' = 'W', 'North' = 'N'), position = recode(position, 'Guard' = 'G', 'Forward' = 'F')) conf position points 1 E G 22 2 E G 25 3 W G 29 4 W G 13 5 N F 18
Notez que chacune des valeurs des colonnes « conf » et « position » ont été remplacées par des valeurs spécifiques.
Notez également que les valeurs dans la colonne « points » sont restées inchangées.
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