Як побудувати середню лінію за групою в ggplot2
Ви можете використовувати наступний базовий синтаксис, щоб побудувати середню лінію для групи в 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))
Цей конкретний приклад створює діаграму розсіювання результативних передач і змінна допомога . points , а потім додає рядок для представлення середнього значення балів, згрупованих за командною змінною.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: побудова середньої лінії для групи в ggplot2
Припустимо, що ми маємо наступний кадр даних у R, який містить інформацію про очки та результативні передачі баскетболістів трьох різних команд:
#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
Ми можемо використати наступний код, щоб створити діаграму розсіювання результативних передач проти змінні. пунктів , а потім додайте рядок для представлення середнього значення балів, згрупованих за змінною команди .
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))
Три рядки позначено кольором для відображення середнього значення балів кожної команди.
Ми можемо переглянути фрейм даних Mean_Team , який ми створили, щоб побачити фактичні середні значення балів для кожної команди:
#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
З результату ми бачимо:
- Середній бал гравців команди А становить 8,8.
- Середній бал гравців команди B становить 12,6.
- Середня кількість балів гравців команди С становить 17.
Ці значення відповідають розташуванню ліній на осі y створеної нами діаграми розсіювання.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в R:
Як створити гістограму відносної частоти в R
Як побудувати кілька коробкових графіків на одному графіку в R
Як побудувати кілька ліній на графіку в R