gpt4 book ai didi

r - 具有箱线图类型分组的点范围图

转载 作者:行者123 更新时间:2023-12-02 22:44:02 25 4
gpt4 key购买 nike

我有可以用箱线图绘制的数据,但每个箱子的 n 只有 3。我想在 ggplot2 中使用点范围类型的图来绘制它们。默认情况下,它们彼此重叠。当点在箱线图中分组时,如何并排分组?

library(ggplot2)

x <- rnorm(12, 3,5) # Real data are not always normally distributed.
y <- c(rep("T1", 6), rep("T2", 6))
z <- rep(c(10,20),6)

dat <- data.frame(Treatment = y, Temp = z, Meas = x)

p <- ggplot(dat, aes(Treatment, Meas))
p + geom_boxplot(aes(fill=factor(Temp)))

编辑:我更新了问题以按照建议排除自举(最初的想法是使用置信区间作为误差线。一个问题的问题太多 =D)。给出了更详细的引导问题 here

enter image description here

最佳答案

你有两个问题(尽量避免)。

  1. 自举。在您不知道基础分布的情况下,您如何从 3 个点的样本中引导?

  2. 行范围。我已经使用您的原始数据来构建行范围。对于线范围,您只需要一个最小值、最大值和中间值:

    ##First rearrange your data frame
    dat = with(dat, dat[order(Treatment, Temp, Meas),])
    dat$type = c("min", "mid", "max")

    library(reshape2)
    dat1 = dcast(dat, Treatment + Temp ~ type, value.var = "Meas")

然后像往常一样绘制:

    p = ggplot(dat1) +
geom_pointrange(aes(ymin=min, ymax=max,
y=mid,x=Treatment, group=Temp),
position=position_dodge(width=0.20))

位置参数停止将行放置在彼此之上。这给出:

Example line range plot

关于r - 具有箱线图类型分组的点范围图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330314/

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