我目前正在为我正在进行的生态项目构建密度对象。 density
中的R
函数非常适合将密度函数拟合到我的数据中。
我如何使用density
函数的示例如下所示:
dens.iris <- density(iris$Sepal.Length, bw = "bcv")
这非常有效。但是,predict
函数似乎不适用于density
个对象。有没有人知道如何提取特定点的密度值(例如在iris
数据集中,提取Sepal.Length为6.432)?我必须使用biased cross validation
技术。
答案 0 :(得分:7)
您可以使用approxfun
函数在密度结果给出的点之间线性插值点。因此你可以使用
diris <- with(dens.iris, approxfun(x, y, rule=1))
diris(6.432)
# [1] 0.349344
也
curve(diris(x), from=4.0, to=7.9)
当然,您必须记住密度曲线的值与概率不同。与任何连续分布一样,萼片长度恰好为6.432的概率为0。