Как построить среднее значение с помощью geom_bar() в ggplot2


Вы можете использовать следующий базовый синтаксис для построения средних значений по группам с помощью функции geom_bar() в ggplot2:

 library (ggplot2)

ggplot(df, aes(group_var, values_var)) +
  geom_bar(position=' dodge ', stat=' summary ', fun=' mean ')

В следующем примере показано, как использовать этот синтаксис на практике.

Примечание . Аргумент fun в geom_bar() сообщает ggplot2, какую описательную статистику отображать с помощью столбцов. Вы также можете передать этому аргументу другую описательную статистику, например «медиану», чтобы построить график медианного значения по группе.

Пример: построение средних значений с помощью geom_bar() в ggplot2

Предположим, у нас есть следующий кадр данных, содержащий информацию о количестве очков, набранных баскетболистами разных команд:

 #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 to 3
2 to 5
3 to 5
4 to 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

Мы можем использовать следующий синтаксис для создания гистограммы, в которой каждая полоса представляет собой среднее значение баллов , сгруппированное по командам :

 library (ggplot2)

#create bar plot to visualize mean points value by team
ggplot(df, aes(team, points)) +
  geom_bar(position=' dodge ', stat=' summary ', fun=' mean ') 

среднее значение графика с помощью geom_bar в ggplot2

Высота каждой полосы представляет собой среднее количество очков каждой команды .

Чтобы отобразить фактическое среднее значение очков каждой команды, мы можем использовать функцию summarise() из пакета dplyr :

 library (dplyr)

#calculate mean value of points, grouped by team
df %>%
  group_by(team) %>%
  summarise(mean_pts = mean(points, na. rm = TRUE ))

# A tibble: 3 x 2
  team mean_pts
      
1 to 4.75
2 B 6.75
3 C 8.75

Из результата мы видим среднее значение очков для каждой команды:

  • Команда А: 4,75
  • Команда Б: 6,75
  • Команда С: 8,75

Эти значения соответствуют высоте столбцов, отображаемых на гистограмме выше.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в ggplot2:

Как настроить пространство между столбцами в ggplot2
Как удалить NA из графика в ggplot2
Как изменить цвета столбцов в столбчатой диаграмме с накоплением в ggplot2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *