在 spatstat 中绘制 mppm 对象的包络时如何修改 nrank 的值?

How to modify the value of nrank when plotting the envelope for an mppm object in spatstat?

我的对象 model 是一个 mppm 对象,通过使用 Rspatstat 中的 mppm 函数在几个独立数据集上拟合模型获得.

由于envelope函数不接受mppm类型的输入,我用下面的代码(见问题)来研究它的包络:

gamma= 1 - 0.95^(1/3)
nsims=round(1/gamma-1)
sims <- simulate(model, nsim=2*nsims)
SIMS <- list()
for(i in 1:nrow(sims)) SIMS[[i]] <- as.solist(sims[i,,drop=TRUE])
Hplus <- cbind(data, hyperframe(Sims=SIMS))

EE <- with(Hplus, envelope(Points, Kcross.inhom,funargs=list("A","A"), nsim=nsims, simulate=Sims,savefuns=TRUE,nrank = 1))

plot(pool(EE), main="A to A interactions")

然而,参数nrank的值似乎对最终结果没有影响(例如,nSD的值也是如此)。但是将 VARIANCE 设置为 True 确实会修改结果。使用 mppm 对象时如何选择包络的等级?

这与mppm无关。

倒数第二行执行后,EE是信封对象列表。这些对象已使用您指定的 nrank 的值正确计算。

问题是在最后一行中,pool 命令没有遵守这些信封中使用的 nrank 的值。这是一个错误,我会修复它。

同时,下面的代码会给你想要的:

Epool <- pool(EE, savefuns=TRUE)
Epool2 <- envelope(Epool, nrank=2)

此处第一行从 EE 中的所有信封中收集所有模拟函数,并从中构建一个单一的池化信封对象,该对象还包含所有这些模拟函数。第二行使用 envelope.envelope 使用保存的函数重新计算包络限制并指定 nrank=2.