3

所以我遇到的问题是非常基本的,但我似乎无法解决它。我一直在使用 spatstat 的 F、G、J、K 和 L 函数,我想在与不同点过程的 F 函数相同的图上绘制一个点过程的 F 函数。这很容易,除了我的一个点过程将函数评估为 r = 20,另一个评估为 r = 15('r' 是 x 轴上的自变量)。我希望它们都被评估为相同的 r 值,最好是 20。我该怎么做?本质上,这就是问题所在。

首先,我创建包含函数值的数据框:

mydata.Fest <- Fest(mydata)

然后,出于某种原因,这行代码:

plot(mydata.Fest)

不会评估为与此代码行相同的“r”(自变量)值:

plot(mydata.Fest, xlim=c(0,20), ylim=c(0,0.8))

两个图都来自 xlim = c(0,20) 和 ylim = c(0,0.8),但由于某种原因,第二个图在 x = 15 处停止评估函数。考虑到它们是从同一个对象绘制的,我没有不知道为什么他们不产生相同的情节。

附带说明一下,我遇到了另一个问题:在使用 F、J 和 K 函数时,我发现调整限制(尤其是自变量的限制)会导致 R 意外崩溃。如果您遇到此问题,或知道解决方案,请告诉我。

谢谢!

4

3 回答 3

3

这是一个常见问题解答。spatstat.org 常见问题页面对此进行了讨论。

spatstat 中的汇总函数,例如 Fest 和 Kest,对自变量有一个“推荐范围”,它可能比计算函数的值的范围更短。推荐范围是函数估计在统计上可靠的范围。默认情况下,该函数仅绘制到建议的限制。(这是空间统计中的标准做法。如果我们不这样做,那么大多数图会看起来很奇怪,因为函数值会爆炸,并且可靠信息会缩小到仅占左下角的一小部分阴谋。)

要检查 r 的可用和推荐范围,请打印函数对象(只需输入其名称)并查看最后几行输出。

要控制绘图限制,请使用 xlim 和 ylim。

有关更多详细信息,请参阅研讨会说明 www.csiro.au/resources/pf16h.html

Adrian Baddeley - 包作者

于 2012-06-20T02:31:47.017 回答
1

嗯,这有点奇怪。抱歉,没有答案,但认为其他人最好通过留下您描述的行为的可重复示例来进行调查。

我过去所做的是制作一个一致的 bin 向量来评估单独的点模式。

library(spatstat)
data(lansing)

mydata1 <- lansing[lansing$marks == "blackoak",]
mydata2 <- lansing[lansing$marks == "hickory",]

my_r <- (0:40*.002)

mydata1.Fest2 <- Fest(mydata1, r = my_r)
mydata2.Fest2 <- Fest(mydata2, r = my_r)

plot(mydata1.Fest2)
plot(mydata2.Fest2, add = TRUE)

mydata1.Fest2$r
mydata2.Fest2$r

可以看出,距离箱是相同的,但函数没有在同一组上进行评估。我检查了一下,这可能是独有的行为Fest,我在使用时能够得到预期的解决方案Kest。下面的例子。

mydata1.Kest <- Kest(mydata1)
my_k <- mydata1.Kest$r
mydata2.Kest <- Kest(mydata2, r = my_k)

plot(mydata1.Kest)
plot(mydata2.Kest, add = TRUE)

我认为这不是 的预期行为Fest,但我不太熟悉该技术以及它与 Ripley's K 的不同之处,所以我当然可能会弄错,并且由于某种我不知道的原因,这是预期的行为。在尝试在输出设备上设置轴限制时,我也遇到了类似于您描述的意外崩溃,但我无法重现它。所以也许你正在做某事,或者我们都疯了!

于 2012-06-07T15:41:00.930 回答
1

我就这个问题联系了 Adrian Baddeley 博士('spatstat' 的创建者),他告诉我这个例子展示了 add=TRUE 时 plot.fv 中的一个错误。这将在 spatstat 版本 1.28-1 中修复。

于 2012-06-12T13:20:11.623 回答