多点模式的方差分析不适用于 Strauss 模型

Anova for multiple point patterns not working for Strauss model

我刚刚开始进行空间分析,正在为我的数据拟合一些模型。我的主要目标是测试空间规律性(点与点之间是否存在抑制)。

我为下面的数据创建了超帧。有 6 个点模式(区域),子栖息地 1 中有 4 个,子栖息地 2 中有 2 个。

ALL_ppp <- list(a1ppp, a2ppp, a3ppp, a4ppp, a5ppp, a6ppp) 
H <- hyperframe(Area = c("A1","A2","A3","A4","A5","A6"), Subhabitat = c("sbh1","sbh1","sbh1","sbh1","sbh2","sbh2"), Points = ALL_ppp )

然后我创建了一些模型。该模型适用于每个区域具有不同交互半径的施特劳斯过程,其强度取决于次生境类型。跟书中第700页的例子很像。

radii <- c(mean(area1$diameter), mean(area2$diameter),mean(area3$diameter),mean(area4$diameter),mean(area5$diameter),mean(area6$diameter))
Rad <- hyperframe(R=radii)
Str <- with(Rad, Strauss(R))
Int <- hyperframe(str=Str)

fittest8 <- mppm(Points ~ Subhabitat, H, interaction=Int, iformula = ~str:Area)

我想使用 anova.mppm 对施特劳斯交互参数的重要性进行正式测试以测试规律性。但是,我不确定我这样做是否正确,因为我似乎无法让它发挥作用。我试过:

fittest8 <- mppm(Points ~ Subhabitat, H, interaction=Int, iformula = ~str:Area)
fitex <- mppm(Points ~ Subhabitat, H)
anova.mppm(fittest8, fitex, test = "Chi")

我收到错误“错误:new.coef 中缺少系数‘str’”并且无法找到解决此问题的方法。任何建议将不胜感激。

谢谢!

首先,请学习如何制作minimal reproducible example。这将使人们更容易帮助您解决问题,而不必猜测您的数据中有什么。

在您的示例中,超帧 H 中名为 AreaSubhabitat 的列是字符向量,但在您的代码中,对 mppm 的调用需要他们是因素。我假设您将它们转换为因子以便能够拟合模型 fittest8。 (制作工作示例的另一个原因)

您说您的示例类似于 the spatstat book 第 700 页上的示例,该示例确实有效。在这种情况下,一个好的策略是修改您的示例,使其尽可能类似于有效的示例,因为这将缩小可能的原因。

该问题的一个工作示例,类似于书中的示例,是:

Str <- hyperframe(str=with(simba, Strauss(mean(nndist(Points)))))
fit1 <- mppm(Points ~ group, simba, interaction=Str, iformula=~str:group)
fit0 <- mppm(Points ~ group, simba)
anova(fit0, fit1, test="Chi")

产生相同的错误Error: Coefficient ‘str’ is missing from new.coef

避免这种情况的最简单方法是将交互作用公式 ~str:group 替换为 str+str:group:

fit1x <- mppm(Points ~ group, simba, interaction=Str, 
           iformula = ~str + str:group)
anova(fit0, fit1x, test="Chi")

或者在你的例子中

fittest8X <- mppm(Points ~ Subhabitat, H, interaction=Int, 
           iformula=~str + str:Area)
anova(fittest8X, fitex, test="Chi")

请注意,fittest8Xfittest8 是等效模型,但表达方式略有不同。

相互作用公式和趋势公式以复杂的方式联系在一起,软件并不总是能成功地解开它们。如果您再次遇到此类问题,请尝试不同版本的交互公式。