r - ggplot:绘制平均值而不是计数
问题描述
我有以下样本数据,这些数据描述了duration
我的问卷中的每个受访者需要多长时间( )回答每个问题(question
)以及week
回答问题的时间(同一问卷有几波)
n <- 100
data2 <- data.frame(
question = paste("q", sample(1:3, n, replace = TRUE), sep=""),
week = sample(1:3, n, replace = TRUE),
duration = round(rnorm(n, mean = 15, sd = 5), 0)
)
ggplot(aes(x = week, fill=question), data = data2) + geom_bar(position='stack') +
xlab("Week")
但是我怎样才能用平均持续时间而不是计数(在 y 轴上)制作相同的图?
解决方案
stat_summary
是为您进行计算的常用函数:
ggplot(aes(x = week, y = duration, fill=question), data = data2) +
stat_summary(fun=mean, geom="bar", position = "stack") +
xlab("Week")
编辑:当我发现stat_
图层可以做什么时,这改变了我的练习!揭秘 ggplot2 中的 stat_ 层