Dplyr : Comment modifier les niveaux de facteurs à l’aide de mutate()
Vous pouvez utiliser la syntaxe de base suivante dans dplyr pour modifier les niveaux d’une variable factorielle à l’aide de la fonction mutate() :
library(dplyr) df <- df %>% mutate(team=recode(team, 'H' = 'Hawks', 'M' = 'Mavs', 'C' = 'Cavs'))
Cette syntaxe particulière apporte les modifications suivantes à la variable team dans le bloc de données :
- ‘H’ devient ‘Hawks’
- ‘M’ devient ‘Mavs’
- ‘C’ devient ‘Cavs’
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : modifier les niveaux de facteurs à l’aide de mutate()
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(team=factor(c('H', 'H', 'M', 'M', 'C', 'C')), points=c(22, 35, 19, 15, 29, 23)) #view data frame df team points 1 H 22 2 H 35 3 M 19 4 M 15 5 C 29 6 C 23
Nous pouvons utiliser la syntaxe suivante avec la fonction mutate() du package dplyr pour changer les niveaux de la variable team :
library(dplyr) #change factor levels of team variable df <- df %>% mutate(team=recode(team, 'H' = 'Hawks', 'M' = 'Mavs', 'C' = 'Cavs')) #view updated data frame df team points 1 Hawks 22 2 Hawks 35 3 Mavs 19 4 Mavs 15 5 Cavs 29 6 Cavs 23
En utilisant cette syntaxe, nous avons pu apporter les modifications suivantes à la variable team dans le bloc de données :
- ‘H’ devient ‘Hawks’
- ‘M’ devient ‘Mavs’
- ‘C’ devient ‘Cavs’
Nous pouvons vérifier que les niveaux de facteurs ont été modifiés en utilisant la fonctionlevels () :
#display factor levels of team variable
levels(df$team)
[1] "Cavs" "Hawks" "Mavs"
Notez également que vous pouvez choisir de modifier un seul niveau de facteur au lieu de tous.
Par exemple, nous pouvons utiliser la syntaxe suivante pour remplacer uniquement « H » par « Hawks » et laisser les autres niveaux de facteurs inchangés :
library(dplyr) #change one factor level of team variable df <- df %>% mutate(team=recode(team, 'H' = 'Hawks')) #view updated data frame df team points 1 Hawks 22 2 Hawks 35 3 M 19 4 M 15 5 C 29 6 C 23
Notez que « H » a été remplacé par « Hawks », mais les deux autres niveaux de facteurs sont restés inchangés.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans dplyr :
Comment supprimer des lignes à l’aide de dplyr
Comment sélectionner des colonnes par index à l’aide de dplyr
Comment filtrer les lignes contenant une certaine chaîne à l’aide de dplyr