首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决运行spdep::lagsarlm (空间自回归模型)后的"impacts()“邻居长度错误?

如何解决运行spdep::lagsarlm (空间自回归模型)后的"impacts()“邻居长度错误?
EN

Stack Overflow用户
提问于 2019-06-30 11:12:12
回答 1查看 223关注 0票数 0

我的数据集中有9,150个多边形。我试图在spdep中运行一个空间自回归模型来测试我的结果变量的空间相关性。运行模型后,我想检查直接/间接影响,但遇到了一个错误,似乎与权重矩阵中邻居的长度不等于n有关。

我试着运行与SLX模型(空间滞后X)完全相同的方程,impacts()运行得很好,即使在我的集合中有一些多边形没有邻居。我在谷歌上搜索并查看了spdep文档,但找不到有关如何解决此错误的线索。

代码语言:javascript
复制
# Defining queen contiguity neighbors for polyset and storing the matrix as list
q.nbrs <- poly2nb(polyset) 
listweights <- nb2listw(q.nbrs, zero.policy = TRUE)

# Defining the model
model.equation <- TIME ~ A + B + C

# Run SAR model
reg <- lagsarlm(model.equation, data = polyset, listw = listweights, zero.policy = TRUE)

# Run impacts() to show direct/indirect impacts
impacts(reg, listw = listweights, zero.policy = TRUE)

Error in intImpacts(rho = rho, beta = beta, P = P, n = n, mu = mu, Sigma = Sigma,  : 
  length(listweights$neighbours) == n is not TRUE
EN

回答 1

Stack Overflow用户

发布于 2020-05-19 22:34:49

我知道这是一个2019年的问题,但也许它可以帮助人们处理同样的问题。我发现在我的例子中,问题出在数据集的类型上,您的data=polyset应该是"SpatialPolygonsDataFrame"类型的。这可以通过转换您的数据来实现:

代码语言:javascript
复制
polyset_spatial_sf <- sf::as_Spatial(polyset, IDs = polyset$ID)

然后重新运行你的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56822169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档