从密度对象中提取概率

Mik*_*han 4 r

我目前正在为我正在进行的生态项目构建密度对象.该density函数R非常适合将密度函数拟合到我的数据中.

我如何使用该density功能的示例如下所示:

dens.iris <- density(iris$Sepal.Length, bw = "bcv")
Run Code Online (Sandbox Code Playgroud)

这非常有效.但是,该predict功能似乎不适用于density对象.有没有人知道一种方法来提取特定点的密度值(例如在iris数据集中,提取Sepal.Length为6.432)?我必须使用一种biased cross validation技术.

MrF*_*ick 7

您可以使用该approxfun函数在密度结果给出的点之间线性插值点.因此你可以使用

diris <- with(dens.iris, approxfun(x, y, rule=1))
diris(6.432)
# [1] 0.349344
Run Code Online (Sandbox Code Playgroud)

curve(diris(x), from=4.0, to=7.9)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

当然,您必须记住密度曲线的值与概率不同.与任何连续分布一样,萼片长度恰好为6.432的概率为0.