如何在ggplot2中使用geom_bar()绘制平均值


您可以使用以下基本语法使用ggplot2中的geom_bar()函数按组绘制平均值:

 library (ggplot2)

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

以下示例展示了如何在实践中使用此语法。

注意geom_bar()中的fun参数告诉 ggplot2 使用条形图显示哪个描述性统计数据。您还可以将不同的描述性统计数据(例如“中位数”)传递给此参数,以按组绘制中值。

示例:在ggplot2中使用geom_bar()绘制平均值

假设我们有以下数据框,其中包含有关不同球队的篮球运动员得分的信息:

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

在 ggplot2 中使用 geom_bar 绘制平均值

每个条形的高度代表每支球队的平均分值

要显示每个团队的实际平均分值,我们可以使用dplyr包中的summarise()函数:

 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

从结果中我们可以看到每支球队的平均分值:

  • A队: 4.75
  • B队: 6.75
  • C队: 8.75

这些值对应于上面条形图中显示的条形高度。

其他资源

以下教程解释了如何在 ggplot2 中执行其他常见任务:

如何调整ggplot2中条形图之间的间距
如何从 ggplot2 图中删除 NA
如何更改ggplot2中堆积条形图的条形颜色

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注