ggplot2 :用 geom_bar 绘制平均值
ggplot2 : Plot mean with geom_bar
我有以下数据框:
test2 <- data.frame(groups = c(rep("group1",4), rep("group2",4)),
X2 = c(rnorm(4), rnorm(4)) ,
label = c(rep(1,2),rep(2,2),rep(1,2),rep(2,2)))
我正在为每个组的每个标签绘制条形图,使用:
ggplot(test2, aes(label, X2, fill=as.factor(groups))) +
geom_bar(position="dodge", stat="identity")
但是,我似乎无法找到 stat="mean"
所以我可以在每个条形图上绘制均值而不是标识。
感谢您的帮助。
ggplot2
喜欢 1 个数据点对应 1 个情节点。使用汇总统计数据创建一个新数据框,然后使用 stat="identity"
绘图
require(reshape2)
plot.data <- melt(tapply(test2$X2, test2$groups,mean), varnames="group", value.name="mean")
ggplot(plot.data, aes(x=group,y=mean)) + geom_bar(position="dodge", stat="identity")
只需使用 stat = "summary"
和 fun.y = "mean"
ggplot(test2) +
geom_bar(aes(label, X2, fill = as.factor(groups)),
position = "dodge", stat = "summary", fun.y = "mean")
尝试使用 ggpubr。它创建类似 ggplot2 的图表。
library(ggpubr)
ggbarplot(test2, x = "label", y = "X2",
add = "mean", fill = "groups")
或者,添加一个方面:
ggbarplot(test2, x = "label", y = "X2",
add = "mean", fill = "groups",
facet.by = "groups")
我有以下数据框:
test2 <- data.frame(groups = c(rep("group1",4), rep("group2",4)),
X2 = c(rnorm(4), rnorm(4)) ,
label = c(rep(1,2),rep(2,2),rep(1,2),rep(2,2)))
我正在为每个组的每个标签绘制条形图,使用:
ggplot(test2, aes(label, X2, fill=as.factor(groups))) +
geom_bar(position="dodge", stat="identity")
但是,我似乎无法找到 stat="mean"
所以我可以在每个条形图上绘制均值而不是标识。
感谢您的帮助。
ggplot2
喜欢 1 个数据点对应 1 个情节点。使用汇总统计数据创建一个新数据框,然后使用 stat="identity"
require(reshape2)
plot.data <- melt(tapply(test2$X2, test2$groups,mean), varnames="group", value.name="mean")
ggplot(plot.data, aes(x=group,y=mean)) + geom_bar(position="dodge", stat="identity")
只需使用 stat = "summary"
和 fun.y = "mean"
ggplot(test2) +
geom_bar(aes(label, X2, fill = as.factor(groups)),
position = "dodge", stat = "summary", fun.y = "mean")
尝试使用 ggpubr。它创建类似 ggplot2 的图表。
library(ggpubr)
ggbarplot(test2, x = "label", y = "X2",
add = "mean", fill = "groups")
或者,添加一个方面:
ggbarplot(test2, x = "label", y = "X2",
add = "mean", fill = "groups",
facet.by = "groups")