我经常使用核密度图来说明分布。这些可以在 R 中轻松快速地创建,如下所示:
set.seed(1)
draws <- rnorm(100)^2
dens <- density(draws)
plot(dens)
#or in one line like this: plot(density(rnorm(100)^2))
这给了我这个漂亮的小 PDF:
我想对 PDF 下第 75 个百分位数到第 95 个百分位数的区域进行阴影处理。使用以下方法可以轻松计算分数quantile
功能:
q75 <- quantile(draws, .75)
q95 <- quantile(draws, .95)
但是我如何遮蔽之间的区域q75
and q95
?
随着polygon()
函数,请参阅其帮助页面,我相信我们在这里也有类似的问题。
您需要找到分位数值的索引才能获得实际值(x,y)
pairs.
Edit:干得好:
x1 <- min(which(dens$x >= q75))
x2 <- max(which(dens$x < q95))
with(dens, polygon(x=c(x[c(x1,x1:x2,x2)]), y= c(0, y[x1:x2], 0), col="gray"))
输出(由 JDL 添加)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)