我试图绘制一些数据的ECDF,其中"置信区间"使用ggplot2通过阴影区域表示.我在结合时遇到了麻烦geom_ribbon()
,stat_ecdf()
以达到我所追求的效果.
请考虑以下示例数据:
set.seed(1) dat <- data.frame(variable = rlnorm(100) + 2) dat <- transform(dat, lower = variable - 2, upper = variable + 2) > head(dat) variable lower upper 1 2.534484 0.5344838 4.534484 2 3.201587 1.2015872 5.201587 3 2.433602 0.4336018 4.433602 4 6.929713 4.9297132 8.929713 5 3.390284 1.3902836 5.390284 6 2.440225 0.4402254 4.440225
我能够生产出variable
使用的ECDF
library("ggplot2") ggplot(dat, aes(x = variable)) + geom_step(stat = "ecdf")
但是我无法使用lower
,并upper
作为ymin
与ymax
美学的geom_ribbon()
叠加对剧情另一层的置信区间.我试过了:
ggplot(dat, aes(x = variable)) + geom_ribbon(aes(ymin = lower, ymax = upper), stat = "ecdf") + geom_step(stat = "ecdf")
但这会引发以下错误
Error: geom_ribbon requires the following missing aesthetics: ymin, ymax
有没有办法来哄geom_ribbon()
与合作stat_ecdf()
产生阴影的置信区间?或者,任何人都可以建议另一种方法来添加由ECDF图定义的阴影多边形lower
和upper
作为图层的阴影多边形吗?