Quand utiliser stat=”identity” dans les tracés ggplot2
Il existe deux manières courantes d’utiliser la fonction geom_bar() dans ggplot2 pour créer des graphiques à barres :
Méthode 1 : utilisez geom_bar()
ggplot(df, aes(x)) + geom_bar()
Par défaut, geom_bar() comptera simplement les occurrences de chaque valeur unique pour la variable x et utilisera des barres pour afficher les comptes.
Méthode 2 : utilisez geom_bar(stat= »identity »)
ggplot(df, aes(x, y)) +
geom_bar(stat="identity")
Si vous fournissez l’argument stat=”identity” à geom_bar() alors vous dites à R de calculer la somme de la variable y, regroupée par la variable x et d’utiliser des barres pour afficher les sommes.
Les exemples suivants illustrent la différence entre ces deux méthodes en utilisant le bloc de données suivant dans R qui montre les points marqués par les basketteurs de différentes équipes :
#create data frame df <- data.frame(team=rep(c('A', 'B', 'C'), each=4), points=c(3, 5, 5, 6, 5, 7, 7, 8, 9, 9, 9, 8)) #view data frame df team points 1 A 3 2 A 5 3 A 5 4 A 6 5 B 5 6 B 7 7 B 7 8 B 8 9 C 9 10 C 9 11 C 9 12 C 8
Exemple 1 : Utilisation de geom_bar()
Le code suivant montre comment utiliser la fonction geom_bar() pour créer un graphique à barres qui affiche le nombre de chaque valeur unique dans la colonne d’équipe :
library(ggplot2) #create bar chart to visualize occurrence of each unique value in team column ggplot(df, aes(team)) + geom_bar()
L’axe des X affiche les valeurs uniques dans la colonne de l’ équipe et l’axe des Y affiche le nombre de fois où chaque valeur unique s’est produite.
Puisque chaque valeur unique est apparue 4 fois, la hauteur de chaque barre est de 4 dans le tracé.
Exemple 2 : Utilisation de geom_bar(stat= »identity »)
Le code suivant montre comment utiliser la fonction geom_bar() avec l’argument stat=”identity” pour créer un graphique à barres qui affiche la somme des valeurs dans la colonne des points , regroupées par équipe :
library(ggplot2) #create bar chart to visualize sum of points, grouped by team ggplot(df, aes(team, points)) + geom_bar(stat="identity")
L’axe des X affiche les valeurs uniques dans la colonne de l’ équipe et l’axe des Y affiche la somme des valeurs dans la colonne des points pour chaque équipe.
Par exemple:
- La somme des points de l’équipe A est de 19.
- La somme des points de l’équipe B est de 27.
- La somme des points de l’équipe C est de 35.
En utilisant stat=”identity” dans la fonction geom_bar() , nous pouvons afficher la somme des valeurs d’une variable particulière dans notre bloc de données au lieu des décomptes.
Remarque : Pour que stat= »identity » fonctionne correctement, vous devez fournir à la fois une variable x et une variable ay dans l’argument aes() .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans ggplot2 :
Comment ajuster l’espace entre les barres dans ggplot2
Comment supprimer les NA du tracé dans ggplot2
Comment changer les couleurs des barres dans le graphique Bart empilé dans ggplot2