Comment utiliser la fonction droplevels dans R (avec exemples)



La fonction droplevels() dans R peut être utilisée pour supprimer les niveaux de facteurs inutilisés.

Cette fonction est particulièrement utile si nous souhaitons supprimer les niveaux de facteurs qui ne sont plus utilisés en raison du sous-ensemble d’un vecteur ou d’un bloc de données.

Cette fonction utilise la syntaxe suivante :

niveaux de chute (x)

x est un objet à partir duquel supprimer les niveaux de facteurs inutilisés.

Ce didacticiel fournit quelques exemples d’utilisation pratique de cette fonction.

Exemple 1 : supprimer les niveaux de facteurs inutilisés dans un vecteur

Supposons que nous créions un vecteur de données avec cinq niveaux de facteurs. Supposons ensuite que nous définissions un nouveau vecteur de données avec seulement trois des cinq niveaux de facteurs d’origine.

#define data with 5 factor levels
data <- factor(c(1, 2, 3, 4, 5))

#define new data as original data minus 4th and 5th factor levels
new_data <- data[-c(4, 5)]

#view new data
new_data

[1] 1 2 3
Levels: 1 2 3 4 5

Bien que les nouvelles données ne contiennent que trois facteurs, nous pouvons voir qu’elles contiennent toujours les cinq niveaux de facteurs d’origine.

Pour supprimer ces niveaux de facteurs inutilisés, nous pouvons utiliser la fonction droplevels() :

#drop unused factor levels
new_data <- droplevels(new_data)

#view data
new_data

[1] 1 2 3
Levels: 1 2 3

Les nouvelles données ne contiennent désormais que trois niveaux de facteurs.

Exemple 2 : Supprimer les niveaux de facteurs inutilisés dans une trame de données

Supposons que nous créions un bloc de données dans lequel l’une des variables est un facteur à cinq niveaux. Supposons ensuite que nous définissions une nouvelle trame de données qui supprime deux de ces niveaux de facteurs :

#create data frame
df <- data.frame(region=factor(c('A', 'B', 'C', 'D', 'E')),
                 sales = c(13, 16, 22, 27, 34))

#view data frame
df

  region sales
1      A    13
2      B    16
3      C    22
4      D    27
5      E    34

#define new data frame
new_df <- subset(df, sales < 25)

#view new data frame
new_df

  region sales
1      A    13
2      B    16
3      C    22

#check levels of region variable
levels(new_df$region)

[1] "A" "B" "C" "D" "E"

Bien que la nouvelle base de données ne contienne que trois facteurs dans la colonne région , elle contient toujours les cinq niveaux de facteurs d’origine. Cela créerait des problèmes si nous essayions de créer des tracés en utilisant ces données.

Pour supprimer les niveaux de facteurs inutilisés de la variable région , nous pouvons utiliser la fonction droplevels() :

#drop unused factor levels
new_df$region <- droplevels(new_df$region)

#check levels of region variable
levels(new_df$region)

[1] "A" "B" "C"

Désormais, la variable région ne contient que trois niveaux de facteurs.

Vous pouvez trouver plus de didacticiels R sur cette page .

Ajouter un commentaire

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