在 R 中的箱线图上绘制多个均值
Plotting multiple means on boxplot in R
我有来自 3 个不同 csv 数据文件的 3 个数据集,我试图将它们放在一个箱线图中,每个箱子的平均值为点。一切都很好,直到我尝试添加方法
使用下面的脚本,我得到了我想要的输出图(所以这部分都很好)...
boxplot(a$total, p$total, f$total,
names = c("Total", "PR", "FM"), ylab="Evals",
col = c("firebrick4", "red3", "tomato1"))
但是,我运行在添加均值的时候遇到了问题。使用 points(mean(a$total), pch=18)
准确地将我想要的添加到第一个框 ("Total"),但是当我使用 points(mean(p$total), pch=18)
时,它会将 p$total
的平均值添加到 "Total" 框而不是 "PR" 框。任何帮助是极大的赞赏! All 3 mean points on first box
我有一个 ggplot
解决方案给你:
首先,一些玩具数据:
a <- data.frame(total = rnorm(50, 4, 0.3))
p <- data.frame(total = rnorm(50, 5, 0.4))
f <- data.frame(total = rnorm(50, 4, 0.25))
现在画图,用stat_summary得到手段:
library(ggplot2)
ggplot(a, aes(y=total, x=NA)) +
geom_boxplot(data=a,aes(x="Total"),fill="firebrick4") +
geom_boxplot(data=p,aes(x="PR"),fill="red3") +
geom_boxplot(data=f,aes(x="FM"),fill="tomato1") +
xlab("") +
ylab("Evals") +
stat_summary(data = a, aes(x="Total"), fun.y = "mean", colour = "yellow", size = 3, geom = "point") +
stat_summary(data = p, aes(x="PR"), fun.y = "mean", colour = "yellow", size = 3, geom = "point") +
stat_summary(data = f, aes(x="FM"), fun.y = "mean", colour = "yellow", size = 3, geom = "point")
结果:
我有来自 3 个不同 csv 数据文件的 3 个数据集,我试图将它们放在一个箱线图中,每个箱子的平均值为点。一切都很好,直到我尝试添加方法 使用下面的脚本,我得到了我想要的输出图(所以这部分都很好)...
boxplot(a$total, p$total, f$total,
names = c("Total", "PR", "FM"), ylab="Evals",
col = c("firebrick4", "red3", "tomato1"))
但是,我运行在添加均值的时候遇到了问题。使用 points(mean(a$total), pch=18)
准确地将我想要的添加到第一个框 ("Total"),但是当我使用 points(mean(p$total), pch=18)
时,它会将 p$total
的平均值添加到 "Total" 框而不是 "PR" 框。任何帮助是极大的赞赏! All 3 mean points on first box
我有一个 ggplot
解决方案给你:
首先,一些玩具数据:
a <- data.frame(total = rnorm(50, 4, 0.3))
p <- data.frame(total = rnorm(50, 5, 0.4))
f <- data.frame(total = rnorm(50, 4, 0.25))
现在画图,用stat_summary得到手段:
library(ggplot2)
ggplot(a, aes(y=total, x=NA)) +
geom_boxplot(data=a,aes(x="Total"),fill="firebrick4") +
geom_boxplot(data=p,aes(x="PR"),fill="red3") +
geom_boxplot(data=f,aes(x="FM"),fill="tomato1") +
xlab("") +
ylab("Evals") +
stat_summary(data = a, aes(x="Total"), fun.y = "mean", colour = "yellow", size = 3, geom = "point") +
stat_summary(data = p, aes(x="PR"), fun.y = "mean", colour = "yellow", size = 3, geom = "point") +
stat_summary(data = f, aes(x="FM"), fun.y = "mean", colour = "yellow", size = 3, geom = "point")
结果: