如何在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 ')
每个箱线图中的黑线代表中值,每个箱线图中的黑色圆圈代表平均值。
注意:更改stat_summary()函数中大小参数的值可更改圆的大小。
其他资源
以下教程提供有关箱线图的更多信息: