ggplot:填充和标准错误的Boxplot

时间:2016-02-16 23:40:51

标签: r graph graphics ggplot2 boxplot

这是一个箱线图

ggplot(mtcars, aes(factor(cyl), mpg, fill=factor(am))) + geom_boxplot()

enter image description here

我想重现相同的图表,显示平均值,一个标准误差和两个标准误差,而不是中位数和分位数。

我做了

boxes <- function(x) {
  #r <- quantile(x, probs = c(0.05, 0.25, 0.5, 0.75, 0.95))
  meanx = mean(x)
  n = length(x)
  se = sqrt(var(x)/n)
  r <- c( meanx-1.96*se, meanx-se, meanx, meanx+se, meanx+1.96*se )
  names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
  r
}
ggplot(mtcars, aes(factor(cyl), mpg, fill=factor(am))) + stat_summary(fun.data=boxes, geom="boxplot")

enter image description here

问题在于不同颜色的盒子重叠而不是并排。

1 个答案:

答案 0 :(得分:3)

位置=&#39;闪避&#39;应该解决你的问题。

ggplot(mtcars, aes(factor(cyl), mpg, fill=factor(am))) + stat_summary(fun.data=boxes, geom="boxplot", position = 'dodge')

enter image description here