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")

geom_bar avec stat="identity" dans ggplot2

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

Ajouter un commentaire

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