我查看了许多关于类似问题的帖子,但没有找到适合我的案例的解决方案。
我已经平衡了 2005-2015 年美国 CBSA 的面板数据,当我使用以下命令运行固定效应模型时,我得到了合理的结果,并且面板显示为平衡的。
plm(formula = fm, data = pCBSA_balanced, effect = "twoway", model = "within")
Balanced Panel: n = 938, T = 11, N = 10318
(actual results omitted...)
但是,当我使用以下命令及其变体继续运行具有空间滞后的相同模型时,
spml(formula = fm, data = pCBSA_balanced, listw = newCBSA_nb.lw, model = "within", effect="twoways", lag=TRUE,zero.policy=T,na.action = na.pass))
我收到以下错误...
if (!balanced) stop(“不平衡面板的估计方法不可用”) 中的错误:需要 TRUE/FALSE 的缺失值
我确保我的面板数据中没有缺失值,命令面板将 id 变量 CBSAFP 和 year 作为我的第一个和第二个变量,然后按照类似情况下其他帖子的建议按年份排序,但错误仍然存在 :(
我怀疑这个错误可能与加权矩阵中的 42 个非相邻 CBSA 有关。这就是我使用 zero.policy 选项定义我的 listw 的方式。
newCBSA_nb <- poly2nb(CBSA4p, queen = TRUE, row.names = CBSA4p$CBSAFP)
newCBSA_nb.lw <- nb2listw(newCBSA_nb, style="W", zero.policy=T)
我不愿意仅仅为了我的分析而摆脱非相邻的 CBSA,有人对我接下来应该做什么有任何建议吗?