我已经建立了密度函数,现在我想计算一个新数据点“落入”选定间隔的概率(例如,a = 3,b = 7)。所以,我在寻找:
P(a<x<=b)
一些样本数据:
df<- data.frame(x=c(sample(6:9, 50, replace=TRUE), sample(18:23, 25, replace=TRUE)))
dens<- density(df$x)
我很高兴听到任何解决方案,但最好在base r
先感谢您
最佳答案
您需要获取密度作为函数(使用approxfun
),然后在所需的限制范围内对函数进行积分。
integrate(approxfun(dens), lower=3, upper=7)
0.258064 with absolute error < 3.7e-05
## Consistency check
integrate(approxfun(dens), lower=0, upper=30)
0.9996092 with absolute error < 1.8e-05