r - 为什么 gsynth 有时会因“'data' must be of a vector type, was 'NULL''”而失败?
问题描述
免责声明:我对 R 的经验很少,但对编程很熟悉。所有示例均使用 R 的 4.0.2 版本在 RStudio 中运行。
我正在使用一个名为gsynth的包对一些政治数据进行分析。我有一个vdem5
用五个变量命名的数据框:country
、corruption
、democracy
和bnp
(eu
eu 是二分法/二进制,表示欧盟成员资格)。我已经尝试按照他们的示例页面使用 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
在运行时,除非错误消息在引擎盖下引用了一些具有相同名称的变量,也许?
我真的很想了解这些标准错误。有人对此有任何提示或类似经验吗?
解决方案
我设法通过添加更多单位(又名国家)自己解决了这个问题,尽管它之前失败的确切原因对我来说仍然不清楚。我在 gsynth github 页面上发布了一个问题,建议以后遇到此问题的任何人检查一下。
更新:
原来问题的原因是gsynth的CRAN版本,去掉这个并安装vis devtools:
devtools::install_github('xuyiqing/gsynth')
解决了问题!
推荐阅读
- peoplesoft - 如何在 PeopleSoft 组织结构图页面中禁用交付的超链接?
- angular - 类在 Angular 组件类中隐式实例化
- vue.js - 使用带有 vue 的一个挂载函数获取两个日期选择器输入值
- sql - 根据 postgresql 中的某些值为多行分配唯一 ID
- ruby - Active Directory 的登录页面
- video.js - 在 Video.JS 中加载 chunklist_w1087592622.m3u8 失败
- python - 您如何提前知道方法(或函数)在调用时是否会改变变量?
- python - 为什么编译 spaCy 需要未知的 gcc?
- asp.net-mvc - WepApi TaskCanceledException 任务被取消。httpClient
- python - 删除空索引列熊猫数据框 - 轴中不包含标签 ['']