如何在r中绘制带有平均值的箱线图(附示例)


您可以使用以下方法在 R 中绘制平均值的箱线图:

方法一:使用Base R

 #create boxplots
boxplot(df$values~df$group)

#calculate mean value by group
means <- tapply(df$values, df$group, mean)

#add means as circles to each boxplot
points(means, pch= 20 )

方法2:使用ggplot2

 library (ggplot2)

#create boxplots with mean values shown as circles
ggplot(df, aes(x=group, y=values, fill=group)) +
  geom_boxplot() +
  stat_summary(fun=mean, geom=' point ', shape= 20 )

以下示例展示了如何在 R 中使用以下数据框实际使用每种方法:

 #create data frame
df <- data. frame (team=rep(c('A', 'B', 'C'), each= 5 ),
                 points=c(4, 4, 5, 6, 8, 7, 6, 8, 9, 12,
                          11, 12, 13, 16, 18))

#view first six rows of data frame
head(df)

  team points
1 to 4
2 to 4
3 to 5
4 to 6
5 to 8
6 B 7

示例 1:创建带有 R 基平均值的箱线图

以下代码展示了如何创建以 R 为基础的平均值的箱线图:

 #create boxplots
boxplot(df$points~df$team)

#calculate mean value by group
means <- tapply(df$points, df$team, mean)

#add means as circles to each boxplot
points(means, pch= 20 , cex= 1.5 ) 

每个箱线图中的黑线代表中,每个箱线图中的黑色圆圈代表平均值

注意:更改cex参数的值可以更改圆的大小。

示例2:在ggplot2中创建带有平均值的箱线图

以下代码展示了如何在 ggplot2 中创建具有平均值的箱线图:

 library (ggplot2)

#create boxplots with mean values
ggplot(df, aes(x=team, y=points, fill=team)) +
  geom_boxplot() +
  stat_summary(fun=mean, geom=' point ', shape= 20 , size= 8 ) +
  theme(legend. position = ' none ') 

R 中平均值的箱线图

每个箱线图中的黑线代表中,每个箱线图中的黑色圆圈代表平均值

注意:更改stat_summary()函数中大小参数的值可更改圆的大小。

其他资源

以下教程提供有关箱线图的更多信息:

什么时候应该使用箱线图? (3个场景)
如何识别箱线图中的不对称性
如何比较箱线图

添加评论

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