Hoe de gemiddelde lijn per groep in ggplot2 te plotten


U kunt de volgende basissyntaxis gebruiken om een gemiddelde lijn per groep in ggplot2 te plotten:

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

Dit specifieke voorbeeld creëert een spreidingsdiagram van de assists vs. variabele assists . points en voegt vervolgens een lijn toe die de gemiddelde waarde van de punten weergeeft, gegroepeerd op de teamvariabele .

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: de gemiddelde lijn per groep uitzetten in ggplot2

Stel dat we het volgende dataframe in R hebben dat informatie bevat over de punten en assists van basketbalspelers van drie verschillende teams:

 #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),
                 dots=c(8, 8, 9, 9, 10, 9, 12, 13,
                          14, 15, 14, 14, 16, 19, 22))

#view data frame
df

   team assists points
1 to 2 8
2 to 4 8
3 to 4 9
4 to 5 9
5 to 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

We kunnen de volgende code gebruiken om een spreidingsdiagram te maken van de assists vs. variabelen. points en voeg vervolgens een lijn toe om de gemiddelde waarde van de punten weer te geven, gegroepeerd op de teamvariabele .

 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 gemiddelde lijn per groep

De drie lijnen zijn kleurgecodeerd om de gemiddelde puntenwaarde van elk team weer te geven.

We kunnen het Mean_Team- gegevensframe bekijken dat we hebben gemaakt om de werkelijke gemiddelde puntwaarden voor elk team te zien:

 #view mean points value by team
mean_team

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

Uit het resultaat kunnen we zien:

  • De gemiddelde puntenwaarde van team A-spelers is 8,8.
  • De gemiddelde puntenwaarde van team B-spelers is 12,6.
  • De gemiddelde puntenwaarde van de spelers van team C is 17.

Deze waarden komen overeen met de locaties van de lijnen op de y-as van het spreidingsdiagram dat we hebben gemaakt.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe maak je een relatief frequentiehistogram in R
Hoe meerdere boxplots in één grafiek in R te plotten
Hoe meerdere lijnen in een grafiek te plotten in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert