【问题标题】:Confidence interval box plots置信区间箱线图
【发布时间】:2022-01-03 01:07:52
【问题描述】:

我想在 ggplot 中创建一个类似于箱线图的图表,但箱的高度反映了平均值周围 95% 的置信区间。我最终将覆盖一个平均横杆和原始数据点,但主要的症结在于创建一个自定义“盒子”。 geom_box 似乎没有这个功能,我在 geom_rect 上遇到了问题,因为 x 轴是分类的,所以我不知道 xmin 和 xmax 应该放什么?或者也许有比geom_rect更好的方法?我知道 pirateplot 会创建这样的图表,但我发现它们的格式选项太有限了。

谢谢,Wythe(下面的代表)

id <- (1:20)
female <- rnorm(20, mean = 5, sd = 1)
male <- rnorm(20, mean = 7, sd = 2)

df <- data.frame(x,y,id) %>%
  pivot_longer(cols = !(id), names_to = 'sex', values_to = 'score')

sumdf <- df %>%
  group_by(sex) %>%
  summarize(mean = mean(score), n = n(),
            SE = sd(score)/sqrt(n),
            CI = SE*1.96)

ggplot(data = sumdf, aes(sex, mean))  +
  geom_rect(mapping = aes(ymin = mean-CI, ymax = mean+CI, xmin = ?, xmax = ?),
            position=position_dodge(.92)) 

【问题讨论】:

    标签: r ggplot2 boxplot


    【解决方案1】:

    您可以使用stat = "identity"geom_boxplot 按原样绘制汇总统计信息:

    ggplot(
      data = sumdf,
      mapping = aes(
        x = sex,
        lower = mean - CI,
        middle = mean,
        upper = mean + CI,
        ymin = mean - CI,
        ymax = mean + CI
        )
      ) +
      geom_boxplot(stat = "identity")
    

    【讨论】:

      猜你喜欢
      • 2016-08-27
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多