【发布时间】:2016-11-01 20:43:16
【问题描述】:
我正在尝试使用 R 包CEM 执行粗化精确匹配。我有一个观察数据框(没有缺失的观察,列名见下文),我正在尝试:
- 以抑郁症 (depres6mo) 作为匹配的治疗进行 CEM,然后
- 使用匹配的数据集执行线性回归,以阿片类药物作为结果 (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