在 spatstat 中绘制 mppm 对象的包络时如何修改 nrank 的值?
How to modify the value of nrank when plotting the envelope for an mppm object in spatstat?
我的对象 model
是一个 mppm
对象,通过使用 R
包 spatstat
中的 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
.
我的对象 model
是一个 mppm
对象,通过使用 R
包 spatstat
中的 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
.