我尝试与R包CEM
进行粗略的精确匹配。我有一个观察数据框(没有遗漏的观察结果,对于列名见下文),我正在尝试:
当我运行下面的代码时,我收到错误:
[.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)中的错误:选择了未定义的列
答案 0 :(得分:0)
我收到了同样的错误,发现这是因为我使用tidyverse时我的data_frame是一个tibble。一旦我切换到data.frame()而不是data_frame(),att()工作。