用 R 中的平均值绘制箱线图
在本文中,我们将讨论如何在 R 编程语言中绘制带有均值的箱线图。
方法一:使用points()和text()
在这种绘制带有数据平均值的箱线图的方法中,用户需要使用绘制给定数据的简单箱线图所需的参数调用 boxplot()函数,并使用此用户需要调用点()函数指出绘制的每个箱线图的平均值,并进一步借助具有所需参数的 text()函数,可以在 R 编程语言中获得箱线图的平均值。
- Points():这是一个通用函数,用于在指定坐标处绘制一系列点。
Syntax:
points(x, y = NULL, type = “p”, …)
- Text函数有助于在 x 和 y 给定的坐标处绘制向量标签中给定的字符串。
Syntax:
text (x, y = NULL, labels = seq_along(x$x), adj = NULL, pos = NULL, offset = 0.5, vfont = NULL, cex = 1, col = NULL, font = NULL, …)
例子:
R
gfg=data.frame(A=c(1,5,1,5,6,6,4,1,1,5,4,1,8,1,1),
B=c(1,8,6,6,6,4,5,7,8,1,7,4,4,1,6),
C=c(9,5,1,5,4,1,8,6,4,8,4,4,5,7,6))
gfg_mean=colMeans(gfg)
boxplot(gfg)
points(x = 1:ncol(gfg),y = gfg_mean, col = "green")
text(x = 1:ncol(gfg),y =gfg_mean - 0.20,
labels = paste("Mean:", round(gfg_mean, 1)), col = "green")
R
library(ggplot2)
gfg=data.frame(values=c(1,8,6,6,6,4,5,7,8,1,7,4,4,1,6),
group =LETTERS[1:3])
ggplot(gfg, aes(x = group, y = values)) + geom_boxplot() +
stat_summary(fun = mean, geom = "point", col = "green") +
stat_summary(fun = mean, geom = "text", col = "green",
vjust = 1.5, aes(label = paste("Mean:", round(..y.., digits = 1))))
输出:
方法 2:使用 ggplot2 包中的 geom_boxplot() 和 stat_summary()
在这种用均值绘制箱线图的方法中,用户首先需要将 ggplot2 包导入并安装到 R 控制台,因为在这种方法中使用的函数来自 ggplot2 包,然后用户需要调用 geom_boxplot()函数使用所需的参数,这将导致对所提供数据的箱线图进行正常绘图,然后用户需要进一步调用 stat_summary() ,它将找到每个箱线图的均值并将其标记在 R 编程语言的图中。
geom_boxplot()函数用于绘制盒须图。
Syntax:
geom_boxplot( mapping = NULL, data = NULL, stat = “boxplot”, position = “dodge2”, …, outlier.colour = NULL, outlier.color = NULL,outlier.fill = NULL, outlier.shape = 19, outlier.size = 1.5, outlier.stroke = 0.5, outlier.alpha = NULL, notch = FALSE,notchwidth = 0.5, varwidth = FALSE, na.rm = FALSE, orientation = NA, show.legend = NA, inherit.aes = TRUE)
- stat_summary()函数允许在汇总函数的规范中具有极大的灵活性
Syntax:
stat_summary(mapping = NULL, data = NULL, geom = “pointrange”, position = “identity”, …)
例子:
电阻
library(ggplot2)
gfg=data.frame(values=c(1,8,6,6,6,4,5,7,8,1,7,4,4,1,6),
group =LETTERS[1:3])
ggplot(gfg, aes(x = group, y = values)) + geom_boxplot() +
stat_summary(fun = mean, geom = "point", col = "green") +
stat_summary(fun = mean, geom = "text", col = "green",
vjust = 1.5, aes(label = paste("Mean:", round(..y.., digits = 1))))
输出: