Comment réorganiser les niveaux de facteurs dans R (avec exemples)
Parfois, vous souhaiterez peut-être réorganiser les niveaux de certaines variables factorielles dans R. Heureusement, cela est facile à faire en utilisant la syntaxe suivante :
factor_variable <- factor(factor_variable, levels=c('this', 'that', 'those', ...))
L’exemple suivant montre comment utiliser cette fonction dans la pratique.
Exemple : Réorganiser les niveaux de facteurs dans R
Tout d’abord, créons un bloc de données avec une variable factorielle et une variable numérique :
#create data frame df <- data.frame(region=factor(c('A', 'B', 'C', 'D', 'E')), sales=c(12, 18, 21, 14, 34)) #view data frame df region sales 1 A 12 2 B 18 3 C 21 4 D 14 5 E 34
Nous pouvons utiliser l’ argumentlevels() pour obtenir les niveaux actuels de la région de la variable factorielle :
#display factor levels for region levels(df$region) [1] "A" "B" "C" "D" "E"
Et nous pouvons utiliser la syntaxe suivante pour réorganiser les niveaux de facteurs :
#re-order factor levels for region df$region <- factor(df$region, levels=c('A', 'E', 'D', 'C', 'B')) #display factor levels for region levels(df$region) [1] "A" "E" "D" "C" "B"
Les niveaux de facteurs sont désormais dans l’ordre que nous avons spécifié à l’aide de l’argument niveaux .
Si nous voulons ensuite créer un barplot dans R et ordonner les barres en fonction des niveaux de facteurs de la région , nous pouvons utiliser la syntaxe suivante :
#re-order data frame based on factor levels for region df <- df[order(levels(df$region)),] #create barplot and place bars in order based on factor levels for region barplot(df$sales, names=df$region)
Remarquez comment les barres sont dans l’ordre des niveaux de facteurs que nous avons spécifiés pour la région .
Vous pouvez trouver plus de didacticiels R sur cette page .