sta*_*ve7 8 r probability-density
我已经建立了密度函数,现在我想计算一个新数据点"下降"到选定区间的概率(比如,a = 3,b = 7).所以,我正在寻找:
P(a<x<=b)
Run Code Online (Sandbox Code Playgroud)
一些样本数据:
df<- data.frame(x=c(sample(6:9, 50, replace=TRUE), sample(18:23, 25, replace=TRUE)))
dens<- density(df$x)
Run Code Online (Sandbox Code Playgroud)
我会很高兴听到任何解决方案,但最好是在基础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
Run Code Online (Sandbox Code Playgroud)