簡體   English   中英

在ggplot boxplot中的填充組中顯示單獨的平均值

[英]Displaying separate means within fill groups in ggplot boxplot

我有一個使用3類數據的分組箱圖。 一個類別設置為箱圖的x軸,另一個設置為填充,最后一個設置為分面類別。 我想顯示每個填充組的均值,但是使用stat_summary只能給出x軸類別的均值,而不分離填充的均值:

刻面的箱形圖

這是當前的代碼:

demoplot<-ggplot(demo,aes(x=variable,y=value))
demoplot+geom_boxplot(aes(fill=category2),position=position_dodge(.9))+
stat_summary(fun.y=mean, colour="black", geom="point", shape=18, size=4,) +
facet_wrap(~category1)

有沒有辦法顯示每個類別2的均值,而無需手動計算和繪制點數? 調整位置閃避並沒有多大幫助,因為它只是一個計算平均值。 是否建議在mean()函數內創建條件?

對於任何感興趣的人,這里是數據:

感謝對此的任何啟示。

Ggplot需要有關於分組的明確信息。 您可以通過在所需圖層中使用aes(group=....)或將fill=...移動到主要調用ggplot來實現。 如果沒有對圖層進行顯式分組,ggplot將按x軸上的因子分組。 這是一些帶有假數據的示例代碼:

library(ggplot2)
set.seed(123)

nobs <- 1000
dat <- data.frame(var1=sample(LETTERS[1:3],nobs, T),
                  var2=sample(LETTERS[1:2],nobs,T),
                  var3=sample(LETTERS[1:3],nobs,T),
                  y=rnorm(nobs))

p1 <- ggplot(dat, aes(x=var1, y=y)) +
  geom_boxplot(aes(fill=var2), position=position_dodge(.9)) +
  facet_wrap(~var3) +
  stat_summary(fun.y=mean, geom="point", aes(group=var2), position=position_dodge(.9), 
               color="black", size=4)

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM