ggplot2在分组数据的框图中显示单独的平均值

Jon*_*Jon 7 r mean ggplot2 boxplot

我想为分组数据创建一个箱形图,将每个组的平均值显示为框中的一个点.使用以下代码,我只得到两个组的单点.

df <- data.frame(a=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
    b=factor(rbinom(100, 1, 0.3), label=c("young","old")),
    c=rnorm(100))
ggplot(aes(y = c, x = b, fill = a), data = df) + 
    geom_boxplot() +
    stat_summary(fun.y="mean", geom="point", shape=21, size=5, fill="white")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

MrF*_*ick 7

部分问题是改变点的填充,因为填充是确定应绘制两​​个不同颜色的箱形图的属性,该点表现为好像只有一个组.我认为这应该给你你想要的东西.

ggplot(df, aes(x=b, y=c, fill=a)) +
  geom_boxplot() +
  stat_summary(fun.y="mean", geom="point", size=5,
    position=position_dodge(width=0.75), color="white")
Run Code Online (Sandbox Code Playgroud)

箱形图与平均值