首页 > 解决方案 > 尝试通过模拟点模式模拟.mppm 会导致错误

问题描述

我正在尝试基于适合多个多类型点模式的数据集的模型来模拟点模式。但是,我无法在不引发错误的情况下运行模拟.mppm。我附上了下面的代码(使用optimbase_1.0-9and spatstat_1.62-2):

library(spatstat)
library(optimbase)
flusubset <- flu[1:4]
typelist <- lapply(lapply(flusubset$pattern, marks), levels)
num_marks <- length(typelist[[1]])
iradii <- 50*ones(num_marks,num_marks)
hradii <- 3*ones(num_marks,num_marks)
Int <- anylist()
for (i in 1:dim(flusubset)[1]) {
  Int[[i]] <- MultiStraussHard(iradii=iradii, hradii=hradii)
}
Int <- as.hyperframe(Int)
multmodel <- mppm(pattern ~ 1, data=flusubset, interaction=Int)
simulate(multmodel)

每当我运行此代码时,都会遇到错误:

Error in check.nvector(w, nrow(x), things = "rows of x") : The length of ‘w’ (=16744) should equal the number of rows of x (=15424)
9. stop(whinge)
8. check.nvector(w, nrow(x), things = "rows of x")
7. sumouter(mom, lam * wt * glmsub)
6. vcmGibbs(object, ..., what = what, err = err)
5. vcov.mppm(object, what = "fisher", err = "null")
4. vcov(object, what = "fisher", err = "null")
3. subfits(object)
2. simulate.mppm(multmodel)
1. simulate(multmodel)

感谢您的帮助!

标签: rspatstat

解决方案


这是当前版本的错误spatstat

我已经在GitHub 存储库spatstat 1.62-2.011提供的开发版本中修复了它。包含错误修复的下一个公开版本将在 2020 年 2 月发布。spatstat

对于 中的错误spatstat,请在 GitHub 存储库的问题页面上发布问题。


推荐阅读