Comment renommer les niveaux de facteurs dans R (avec exemples)
Il existe deux méthodes que vous pouvez utiliser pour renommer les niveaux de facteurs dans R :
Méthode 1 : utiliser les niveaux() de Base R
levels(df$col_name) <- c('new_name1', 'new_name2', 'new_name3')
Méthode 2 : utilisez recode() du package dplyr
library(dplyr)
data$col_name <- recode(data$col_name, name1 = 'new_name1',
name2 = 'new_name2',
name3 = 'new_name3')
Les exemples suivants montrent comment utiliser chacune de ces méthodes dans la pratique.
Méthode 1 : utiliser la fonctionlevels()
Supposons que nous ayons le bloc de données suivant dans R :
#create data frame df <- data.frame(conf = factor(c('North', 'East', 'South', 'West')), points = c(34, 55, 41, 28)) #view data frame df conf points 1 North 34 2 East 55 3 South 41 4 West 28 #view levels of 'conf' variable levels(df$conf) [1] "East" "North" "South" "West"
Le code suivant montre comment renommer un niveau de facteur par son nom à l’aide de la fonctionlevels() :
#rename just 'North' factor level levels(df$conf)[levels(df$conf)=='North'] <- 'N' #view levels of 'conf' variable levels(df$conf) [1] "East" "N" "South" "West"
Et le code suivant montre comment renommer chaque niveau de facteur :
#rename every factor level levels(df$conf) <- c('N', 'E', 'S', 'W') #view levels of 'conf' variable levels(df$conf) [1] "N" "E" "S" "W"
Exemple 2 : utiliser la fonction recode()
Le code suivant montre comment utiliser la fonction recode() du package dplyr pour renommer les niveaux de facteurs :
library(dplyr) #create data frame df <- data.frame(conf = factor(c('North', 'East', 'South', 'West')), points = c(34, 55, 41, 28)) #recode factor levels df$conf <- recode(df$conf, North = 'N', East = 'E', South = 'S', West = 'W') levels(df$conf) [1] "E" "N" "S" "W"
Remarque : Vous pouvez trouver la documentation complète de la fonction recode() ici .
Ressources additionnelles
Comment convertir un facteur en numérique dans R
Comment convertir un facteur en caractère dans R
Comment réorganiser les niveaux de facteurs dans R