Comment tracer la ligne moyenne par groupe dans ggplot2



Vous pouvez utiliser la syntaxe de base suivante pour tracer une ligne moyenne par groupe dans ggplot2 :

#calculate mean points value by team
mean_team <- df %>% group_by(team) %>% summarise(mean_pts=mean(points))
 
#create scatterplot of assists vs points with mean line of points by team
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(color=team)) +
  geom_hline(data=mean_team, aes(yintercept=mean_pts, col=team))

Cet exemple particulier crée un nuage de points des variables assists vs. points , puis ajoute une ligne pour représenter la valeur moyenne des points regroupés par la variable d’équipe .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : tracer la ligne moyenne par groupe dans ggplot2

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur les points et les passes décisives des basketteurs de trois équipes différentes :

#create data frame
df <- data.frame(team=rep(c('A', 'B', 'C'), each=5),
                 assists=c(2, 4, 4, 5, 6, 6, 7, 7,
                           8, 9, 7, 8, 13, 14, 12),
                 points=c(8, 8, 9, 9, 10, 9, 12, 13,
                          14, 15, 14, 14, 16, 19, 22))

#view data frame
df

   team assists points
1     A       2      8
2     A       4      8
3     A       4      9
4     A       5      9
5     A       6     10
6     B       6      9
7     B       7     12
8     B       7     13
9     B       8     14
10    B       9     15
11    C       7     14
12    C       8     14
13    C      13     16
14    C      14     19
15    C      12     22

Nous pouvons utiliser le code suivant pour créer un nuage de points des variables assists vs. points , puis ajouter une ligne pour représenter la valeur moyenne des points regroupés par la variable d’équipe .

library(dplyr)
library(ggplot2)

#calculate mean points value by team
mean_team <- df %>% group_by(team) %>% summarise(mean_pts=mean(points))
 
#create scatterplot of assists vs points with mean line of points by team
ggplot(df, aes(x=assists, y=points)) +
  geom_point(aes(color=team)) +
  geom_hline(data=mean_team, aes(yintercept=mean_pts, col=team))

ggplot ligne moyenne par groupe

Les trois lignes sont codées par couleur pour afficher la valeur moyenne des points de chaque équipe.

Nous pouvons afficher le bloc de données Mean_Team que nous avons créé pour voir les valeurs moyennes réelles des points pour chaque équipe :

#view mean points value by team
mean_team

`summarise()` ungrouping output (override with `.groups` argument)
# A tibble: 3 x 2
  team  mean_pts
      
1 A          8.8
2 B         12.6
3 C         17  

À partir du résultat, nous pouvons voir :

  • La valeur moyenne des points des joueurs de l’équipe A est de 8,8.
  • La valeur moyenne des points des joueurs de l’équipe B est de 12,6.
  • La valeur moyenne des points des joueurs de l’équipe C est de 17.

Ces valeurs correspondent aux emplacements des lignes sur l’axe y du nuage de points que nous avons créé.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment créer un histogramme de fréquence relative dans R
Comment tracer plusieurs boîtes à moustaches dans un seul graphique dans R
Comment tracer plusieurs lignes dans un graphique dans R

Ajouter un commentaire

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