当我尝试使用 spgm() 只有一个回归量(这也是内生的并且必须进行检测)来估计 SEM 模型时,该模型给出了以下错误:Error in as.matrix(Z) %*% as.matrix(betaGLS) : non-conformable arguments
.
可重现的样本如下:
library(splm)
library(plm)
sessionInfo()
## R version 4.0.5 (2021-03-31)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 10 x64 (build 19042)
##
## Matrix products: default
##
## locale:
## [1] LC_COLLATE=Galician_Spain.1252 LC_CTYPE=Galician_Spain.1252 LC_MONETARY=Galician_Spain.1252 LC_NUMERIC=C
## [5] LC_TIME=Galician_Spain.1252
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] xtable_1.8-4 kableExtra_1.3.4 nortest_1.0-4 knitr_1.31 giscoR_0.2.2 stargazer_5.2.2 broom_0.7.5 spatialreg_1.1-5
## [9] Matrix_1.3-2 plotly_4.9.3 rgdal_1.5-23 splm_1.5-2 plm_2.4-1 spdep_1.1-5 spData_0.3.8 sp_1.4-5
## [17] sf_0.9-7 readODS_1.7.0 forcats_0.5.1 stringr_1.4.0 dplyr_1.0.5 purrr_0.3.4 readr_1.4.0 tidyr_1.1.3
## [25] tibble_3.0.6 ggplot2_3.3.3 tidyverse_1.3.0 texreg_1.37.5
##
## loaded via a namespace (and not attached):
## [1] colorspace_2.0-0 deldir_0.2-10 pryr_0.1.4 ellipsis_0.3.1 class_7.3-18 fs_1.5.0 rstudioapi_0.13
## [8] fansi_0.4.2 lubridate_1.7.10 xml2_1.3.2 codetools_0.2-18 splines_4.0.5 ibdreg_0.3.1 spam_2.6-0
## [15] Formula_1.2-4 jsonlite_1.7.2 dbplyr_2.1.0 compiler_4.0.5 httr_1.4.2 backports_1.2.1 assertthat_0.2.1
## [22] lazyeval_0.2.2 cli_2.3.1 htmltools_0.5.1.1 tools_4.0.5 dotCall64_1.0-1 coda_0.19-4 gtable_0.3.0
## [29] glue_1.4.2 gmodels_2.18.1 Rcpp_1.0.6 cellranger_1.1.0 raster_3.4-5 vctrs_0.3.6 svglite_2.0.0
## [36] gdata_2.18.0 nlme_3.1-152 lmtest_0.9-38 xfun_0.22 rbibutils_2.0 rvest_1.0.0 lifecycle_1.0.0
## [43] gtools_3.8.2 LearnBayes_2.15.1 MASS_7.3-53.1 zoo_1.8-8 scales_1.1.1 miscTools_0.6-26 hms_1.0.0
## [50] parallel_4.0.5 sandwich_3.0-0 expm_0.999-6 bdsmatrix_1.3-4 stringi_1.5.3 highr_0.8 e1071_1.7-4
## [57] boot_1.3-27 systemfonts_1.0.1 Rdpack_2.1.1 rlang_0.4.10 pkgconfig_2.0.3 evaluate_0.14 lattice_0.20-41
## [64] htmlwidgets_1.5.3 tidyselect_1.1.0 magrittr_2.0.1 R6_2.5.0 generics_0.1.0 DBI_1.1.1 pillar_1.5.1
## [71] haven_2.3.1 withr_2.4.1 units_0.7-0 modelr_0.1.8 crayon_1.4.1 KernSmooth_2.23-18 utf8_1.1.4
## [78] rmarkdown_2.7 maxLik_1.4-6 grid_4.0.5 readxl_1.3.1 data.table_1.14.0 webshot_0.5.2 reprex_1.0.0
## [85] digest_0.6.27 classInt_0.4-3 munsell_0.5.0 viridisLite_0.3.0
data(Produc)
data(usaww)
head(Produc[c("gsp", "pcap", "pc", "hwy")])
## gsp pcap pc hwy
## 1 28418 15032.67 35793.80 7325.80
## 2 29375 15501.94 37299.91 7525.94
## 3 31303 15972.41 38670.30 7765.42
## 4 33430 16406.26 40084.01 7907.66
## 5 33749 16762.67 42057.31 8025.52
## 6 33604 17316.26 43971.71 8158.23
GM_SEM_ins <- spgm(log(gsp) ~ log(pc), data=Produc,
endog = ~ log(pc),
instruments = ~log(hwy),
lag = FALSE,
spatial.error = TRUE,
method = "w2sls",
listw = usaww)
## Warning in if (model == "fixed" & !isTRUE(attr(terms(formula), "intercept"))) formula <- as.formula(paste(attr(terms(formula), : the condition has
## length > 1 and only the first element will be used
在这里我们可以看到我提到的错误:
## Error in as.matrix(Z) %*% as.matrix(betaGLS): non-conformable arguments
我试图估计相同的方程,但没有在公式中指定内生变量,但只有 rho 估计出现,旁边没有任何标准误差:
GM_SEM_ins_2 <- spgm(log(gsp) ~ 1, data=Produc,
endog = ~ log(pc),
instruments = ~log(hwy),
lag = FALSE,
spatial.error = TRUE,
method = "w2sls",
listw = usaww)
## Warning in if (model == "fixed" & !isTRUE(attr(terms(formula), "intercept"))) formula <- as.formula(paste(attr(terms(formula), : the condition has
## length > 1 and only the first element will be used
summary(GM_SEM_ins_2)
## Spatial panel fixed effects GM model
##
##
## Call:
## spgm(formula = log(gsp) ~ 1, data = Produc, listw = usaww, lag = FALSE,
## spatial.error = TRUE, endog = ~log(pc), instruments = ~log(hwy),
## method = "w2sls")
##
## Residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.327 1.012 1.232 1.233 1.480 2.012
##
## Estimated spatial coefficient, variance components and theta:
## [1] 0.56111 # This is supposed to be the rho coefficient
##
## Coefficients:
## Estimate Std. Error t-value Pr(>|t|)
## log(pc) 0.878445 0.031545 27.847 < 2.2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
关于出了什么问题的任何建议?