gpt4 book ai didi

r - 从具有平均值的计算值分组 geom_boxplot

转载 作者:行者123 更新时间:2023-12-04 11:29:16 24 4
gpt4 key购买 nike

我创建了一些分组箱线图,基本上针对 x 轴上的每个维度,我展示了不同的组。因为我的数据集非常大,所以我不得不预先计算框的值,因为 ggplot 没有足够的内存(我使用 ddply 并分段计算)。

我相信这比平均值的条形图更好,因为它显示了一些可变性。

我想要 2 个修改,一个是不显示晶须线,我通过设置 ymin=lower 和 ymax=upper 来做到这一点。

我也想添加方法,但它们都显示在每个 X 类别的中心,当然我希望它们都与其框对齐。

为了方便任何人提供帮助,我使用 mtcars 重新创建了相同的图表 - 我尝试了 position = "dodge" 和 "identity"没有任何变化

谁知道怎么做?我搜索并没有找到方法。我还附上了我最新图表的图片。代码如下

data(mtcars)
data <- as.data.frame(mtcars)
data$cyl <- factor(data$cyl)
data$gear <- factor(data$gear)

summ <- ddply(data, .(cyl, gear),summarize, lower=quantile(mpg,probs=0.25,na.rm=T), middle=quantile(mpg,probs=.5,na.rm=T),upper=quantile(mpg,probs=.75,na.rm=T),avg=mean(mpg,na.rm=T))

p2 <- ggplot(summ, aes(x = cyl, lower = lower, middle = middle, upper = upper,fill=gear,ymin=lower,ymax=upper))+geom_boxplot(stat = "identity")
p2 <- p2 + geom_point(aes(x = cyl, y=avg, color=gear),color="red",position="dodge")
p2

enter image description here

最佳答案

问题是点的宽度与箱形图的宽度不同。在这种情况下,您需要告诉 position_dodge 使用什么宽度。 ?position_dodge 给出了一个使用点和误差条的简单示例,但点和箱线图的原理是相同的。在您的示例中,将 position="dodge" 替换为 position=position_dodge(width=0.9) 将以与箱形图相同的数量躲避点。

关于r - 从具有平均值的计算值分组 geom_boxplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15100084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com