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)
où 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 .