首页 > 解决方案 > 为什么 gsynth 有时会因“'data' must be of a vector type, was 'NULL''”而失败?

问题描述

免责声明:我对 R 的经验很少,但对编程很熟悉。所有示例均使用 R 的 4.0.2 版本在 RStudio 中运行。

我正在使用一个名为gsynth的包对一些政治数据进行分析。我有一个vdem5用五个变量命名的数据框:countrycorruptiondemocracybnpeueu 是二分法/二进制,表示欧盟成员资格)。我已经尝试按照他们的示例页面使用 gsynth :

out <-  gsynth(corruption ~ eu + democracy + bnp, data = vdem5, 
                      index = c("country","year"), force = "two-way",
                      CV = TRUE, r= c(0,5), se = TRUE, 
                      inference = "parametric", nboots = 1000,
                      parallel = FALSE)  

控制台输出如下所示: 控制台输出

我已经多次检查 vdem5 不是NULL并且所有列都没有丢失数据(尽管 gsynth 据说可以处理这个)。

真正让我感到困惑的是:如果我设置se=FALSE,以便不计算标准错误,它可以工作:

out <-  gsynth(corruption ~ eu + democracy + bnp, data = vdem5, 
                      index = c("country","year"), force = "two-way",
                      CV = TRUE, r= c(0,5), se = FALSE, 
                      inference = "parametric", nboots = 1000,
                      parallel = FALSE)  

现在它运行得很好:

在此处输入图像描述

这似乎表明这data实际上不是NULL在运行时,除非错误消息在引擎盖下引用了一些具有相同名称的变量,也许?

我真的很想了解这些标准错误。有人对此有任何提示或类似经验吗?

标签: rstatistics

解决方案


我设法通过添加更多单位(又名国家)自己解决了这个问题,尽管它之前失败的确切原因对我来说仍然不清楚。我在 gsynth github 页面上发布了一个问题,建议以后遇到此问题的任何人检查一下。

更新:

原来问题的原因是gsynth的CRAN版本,去掉这个并安装vis devtools:

devtools::install_github('xuyiqing/gsynth')

解决了问题!


推荐阅读