Comment ajouter un nouveau niveau à factoriser dans R (avec exemple)



Vous pouvez utiliser la syntaxe de base suivante pour ajouter un nouveau niveau à une variable de facteur dans R :

levels(df$my_factor) <- c(levels(df$my_factor), 'new_level')

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : ajouter un nouveau niveau au facteur dans R

Supposons que nous ayons le bloc de données suivant dans R qui montre le nombre de ventes réalisées dans différentes régions pour un magasin de détail :

#create data frame
df <- data.frame(region=factor(c('A', 'B', NA, 'D', NA, 'F')),
                 sales=c(12, 18, 21, 14, 34, 40))

#view data frame
df

  region sales
1      A    12
2      B    18
3   <NA>    21
4      D    14
5   <NA>    34
6      F    40

Notez que la variable région est un facteur.

Pour visualiser les niveaux de ce facteur, nous pouvons utiliser la fonctionlevels() :

#view factor levels for region
levels(df$region)

[1] "A" "B" "D" "F"

Nous pouvons utiliser la syntaxe suivante pour ajouter un nouveau niveau de facteur appelé « aucune région » :

#add factor level called 'no region'
levels(df$region) <- c(levels(df$region), 'no region')

#convert each NA to 'no region'
df$region[is.na(df$region)] <- 'no region'

#view factor levels for region
levels(df$region)

[1] "A" "B" "D" "F" "no region"

Le nouveau niveau appelé « aucune région » a été ajouté comme niveau de facteur.

Si nous le souhaitons, nous pouvons utiliser la fonction table() pour compter l’occurrence de chaque niveau de facteur :

#view occurrences of each factor level
table(df$region)

A         B         D         F no region 
1         1         1         1         2 

À partir du résultat, nous pouvons voir que le nouveau niveau de facteur appelé « aucune région » apparaît deux fois dans la colonne région du bloc de données.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *