2016-11-01 99 views
0

我试图执行与R包CEM的粗略精确匹配。我观察的数据帧(没有丢失的意见,对colnames见下文),我试图:R package CEM:[.data.frame`(TEi,idt):选择了未定义列的错误

  1. 进行CEM与抑郁症(depres6mo)作为治疗相匹配,然后
  2. 进行线性回归匹配的数据集与鸦片剂作为结果(opiates_sum1yr)。

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

Error in [.data.frame (TEi, idt) : undefined columns selected

不过,我仔细检查过所有我回归的变量是在数据帧的变量。任何想法发生了什么?

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) 

Error in [.data.frame (TEi, idt) : undefined columns selected

回答

0

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

相关问题