如何为两个ecdf之间的区域着色?

问题描述 投票:0回答:1

我将一些实验的平均值和标准误差总结到一个数据框中,就像这个简单的例子一样:

mean <- c(-0.3378003,  0.7254329,  0.6568026, -0.1529680,  0.2809831, 
          -0.5420649, 0.7665903, -0.1624082,  0.9636990,  0.5978777)
se <-  c(0.1,0.04,0.01,0.01,0.01,0.06,0.09,0.12,0.05,0.02)

df <- tibble(nodeId =1:10, mean_val = mean, up= mean+se, low = mean-se )

“mean”是观察到的平均值的向量,“se”是标准误差向量。在数据框中,我总结了平均值和使用标准误差计算的置信区间。

使用下面的代码,我绘制了平均值、上限区间和下限区间的 ECDF:

df%>% pivot_longer(., cols = 2:4,names_to = "type_values", values_to = "values") %>% 
      ggplot(., aes(x = values, color = type_values)) + stat_ecdf(geom="step")

我得到这个情节:

ECDF

我想绘制平均值的 ECDF,并为下曲线和上曲线之间的区域添加阴影,而不是这些曲线。我能做什么?

r ggplot2 ecdf
1个回答
0
投票

尝试这个方法:

(使用不同的玩具数据框生成更多数据,并为功能区提供任意范围。)

library(ggplot2)

set.seed(1)
df <- data.frame(x = c(rnorm(100, 0, 3), rnorm(100, 0, 10)))

ggplot(df, aes(x)) +
  stat_ecdf(geom = "step") +
  geom_ribbon(aes(x, ymin = after_stat(ecdf) - 0.1, ymax = after_stat(ecdf) + 0.1),
    alpha = 0.2, stat = "ecdf"
  )

创建于 2024-04-11,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.