如何在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 ')
每个条形的高度代表每支球队的平均分值。
要显示每个团队的实际平均分值,我们可以使用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中堆积条形图的条形颜色