【问题标题】:R package CEM: Error in `[.data.frame`(TEi, idt) : undefined columns selectedR包CEM:`[.data.frame`(TEi,idt)中的错误:选择了未定义的列
【发布时间】:2016-11-01 20:43:16
【问题描述】:

我正在尝试使用 R 包CEM 执行粗化精确匹配。我有一个观察数据框(没有缺失的观察,列名见下文),我正在尝试:

  1. 以抑郁症 (depres6mo) 作为匹配的治疗进行 CEM,然后
  2. 使用匹配的数据集执行线性回归,以阿片类药物作为结果 (opiates_sum1yr)。

当我运行下面的代码时,我得到了错误:

[.data.frame(TEi, idt) 中的错误:选择了未定义的列

但是,我仔细检查了我要回归的所有变量都是数据框中的变量。知道发生了什么吗?

colnames(nonMissing)  
# [1] "depres6mo"      "alcohol"        "obesity"        "ageGrp"         "sex"            "geoRegion"     
# [7] "year"           "multi_lami"     "multi_fusion"   "single_lami"    "instr"          "htn"           
# [13] "chf"            "copd"           "MI"             "diab_u"         "diab_c"         "drug"          
# [19] "tbco"           "planType"       "opiates_sum1yr" "daily"   


mod_match <-  cem(treatment = "depres6mo", data = nonMissing, drop = c("opiates_sum1yr", "daily"))  
opiatesLin <- att(mod_match, opiates_sum1yr ~ depres6mo + alcohol + obesity + ageGrp + sex + geoRegion + year + multi_lami + multi_fusion + single_lami + instr + htn + chf + copd + MI + diab_u + diab_c + drug + tbco + planType, data = nonMissing)  

[.data.frame(TEi, idt) 中的错误:选择了未定义的列

【问题讨论】:

    标签: r


    【解决方案1】:

    我收到了同样的错误,发现这是因为我使用 tidyverse 时我的 data_frame 是一个 tibble。一旦我切换到 data.frame() 而不是 data_frame(),att() 就起作用了。

    【讨论】:

      猜你喜欢
      • 2021-04-13
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多