【发布时间】:2020-08-26 21:56:43
【问题描述】:
我在 R 中计算了一个物种的核密度估计 (KDE),我正在使用来自 spatstatants 数据集(蚁巢) /em> 在这里为简单起见,我想要一个图例比例,其中包含每个测量单位(例如 m²)的蚁巢数量。如果我理解正确,KDE 图例显示了 0 到 1 之间的概率密度,我如何将这个概率转换为“真实世界”密度,例如每平方米的点数(蚁巢)?
这里是例子:
require("spatstat")
data(ants)
dat <- ants
# estimate bandwith
h_cox <- bw.diggle(dat)
# calculate KDE
kd_cox <- density(dat, h_cox, diggle=TRUE, se=TRUE, eps=diff(dat$window$xrange)/500)
# Plot KDE, contours and points
plot(kd_cox$estimate, main="KDE ants bw.diggle")
contour(kd_cox$estimate, labels="", add=TRUE, col=gray(.5))
points(dat)
【问题讨论】:
-
您正在使用
spatstat包中的函数density.ppp,它是泛型函数density的一个方法。density.ppp的帮助说它计算了点模式的强度的内核估计,以“每单位面积的点数”表示。所以,这个功能已经在做你想做的事了。您只需要确保点模式数据以米为单位。 @EgeRubak 的答案解释了如何。 -
请注意,概率密度不是介于 0 和 1 之间的值。Probabilities 是介于 0 和 1 之间的值。概率 density 是一个函数必须对其进行积分以获得概率值。概率密度可以大于1。概率密度图下的总面积或体积等于1。
-
@AdrianBaddeley:谢谢你的解释!我应该更仔细地阅读帮助页面。
标签: r probability-density kernel-density spatstat