如何在ggplot2中绘制平均值和标准差


通常,您可能想在 ggplot2 中按组绘制平均值和标准差。

幸运的是,使用 ggplot2 中的geom_point()geom_errorbar()函数可以轻松做到这一点。

以下示例演示如何使用这些函数创建以下图表,该图表显示不同篮球队得分的平均值和标准差:

在 ggplot2 中绘制平均值和标准差

示例:在 ggplot2 中绘制平均值和标准差

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

 #create data frame
df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 6 ),
                 points=c(8, 10, 12, 12, 14, 15, 10, 11, 12,
                          18, 22, 24, 3, 5, 5, 6, 7, 9))

#view head of data frame
head(df)

  team points
1 to 8
2 to 10
3 to 12
4 to 12
5 to 14
6 to 15

我们可以使用dplyr包中的函数来快速计算每支球队球员得分的平均值和标准差:

 library (dplyr)

#calculate mean and sd of points by team
df_mean_std <- df %>%
  group_by(team) %>%
  summarise_at(vars(points), list(mean=mean, sd=sd)) %>% 
  as. data . frame ()

#view results
df_mean_std

  team mean sd
1 A 11.833333 2.562551
2 B 16.166667 6.013873
3 C 5.833333 2.041241

最后,我们可以使用以下ggplot2函数来可视化每支球队球员得分的平均值和标准差:

 library (ggplot2)

#plot mean and standard deviation of points by team
ggplot(df_mean_std, aes(x=team, y=mean)) + 
  geom_errorbar(aes(ymin=mean-sd, ymax=mean+sd), width= .3 ) +
  geom_point(size= 2 ) 

在 ggplot2 中绘制平均值和标准差

生成的图表显示了每支球队球员得分的平均值和标准差。

圆圈代表平均值,每个圆圈上方和下方的条形长度代表标准差。

注意geom_errorbar()函数中的宽度参数指定误差线的宽度。请随意更改此值以调整图中误差线的宽度。

其他资源

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

如何向 ggplot2 绘图添加图例
如何更改ggplot2中的字体大小
如何删除ggplot2中的图例
如何在ggplot2中旋转轴标签

添加评论

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