【问题标题】:Error in panel spatial model in R using spml使用 spml 在 R 中的面板空间模型中出错
【发布时间】:2019-06-07 15:53:28
【问题描述】:

我正在尝试使用包 spml 在 R 中拟合面板空间模型。我先定义NxN权重矩阵如下

neib <- dnearneigh(coordinates(coord), 0, 50, longlat = TRUE)
dlist <- nbdists(neib, coordinates(coord))
idlist <- lapply(dlist, function(x) 1/x)
w50 <- nb2listw(neib,zero.policy=TRUE, glist=idlist, style="W")

因此,如果两个观测值的距离最多在 50 公里范围内,我将它们定义为邻居。附加到每对相邻观测值的权重对应于它们距离的倒数,因此更近的邻居获得更高的权重。我还使用选项 zero.policy=TRUE 以便没有邻居的观察与零权重的向量相关联。

一旦我这样做了,我会尝试通过以下方式拟合面板空间模型

mod <- spml(y ~  x  , data = data_p, listw = w50, na.action = na.fail, lag = F, spatial.error = "b", model = "within", effect = "twoways" ,zero.policy=TRUE)

但我收到以下错误和警告消息

lag.listw(listw, u) 中的错误:变量包含非有限值 另外:有 50 个或更多警告(使用 warnings() 查看 前 50 个)

警告消息:1:在 mean.default(X[[i]], ...) 中:参数不是 数字或逻辑:返回 NA

...

50: In mean.default(X[[i]], ...) : 参数不是数字或 逻辑:返回 NA

我认为这与非邻居观察有关。可以请任何人帮助我吗?除了 zero.policy 选项之外,还有什么方法可以处理非邻居观察?

非常感谢您帮助我。

【问题讨论】:

    标签: r spatial


    【解决方案1】:

    你应该检查两件事: 1)确保权重矩阵是行归一化的。 2) 如果数据集中以及 W 矩阵中有任何 NA 值,请妥善处理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      相关资源
      最近更新 更多