0
我目前正在尝试写一篇论文,其中需要对包含在多重估算数据集中的关键治疗前协变量进行匹配,然后对此数据运行线性回归。我已经能够编写代码来获得zelig
对我从amelia
获得的乘法归算数据运行线性回归。然而,当我尝试使用cem
来匹配关键的治疗前协变量时,我无法获得zelig
来运行该模型。下面是输出ROM我的控制台:Amelia + CEM + Zelig错误
> # Run Amelia, 5 imputations!
> complete <- amelia(clean, m = 5, ts = "wave", cs = "country", idvars = c("idnum", "strata", "weight"))
-- Imputation 1 --
1 2 3 4 5 6 7 8 9 10 11 12
-- Imputation 2 --
1 2 3 4 5 6 7 8 9 10 11
-- Imputation 3 --
1 2 3 4 5 6 7 8 9 10 11 12
-- Imputation 4 --
1 2 3 4 5 6 7 8 9 10 11 12
-- Imputation 5 --
1 2 3 4 5 6 7 8 9 10 11 12
>
> # Estimate naive and controlled linear models with MI data sets using Zelig
>
> lm.out.naive <- zelig(dv ~ treat*year + treat + year, data = complete, model = "ls")
> lm.out.control <- zelig(dv~ treat*year + treat + year + age + gender + ideo + married, data = complete, model = "ls")
> # Estimate CEM linear model
>
> # First, generate matched data set
> imputed <- complete$imputations[1:15]
> matched <- cem("treat", drop = c("pais", "wave", "year", "idnum", "strata"),
+ datalist = imputed, data = clean)
>
> # Then, run regression
> lm.out.match <- zelig(dv ~ treat*year + treat + year + age + gender + ideo + married, data = matched, model = "ls")
Error in resolve_vars(new_groups, tbl_vars(.data)) :
unknown variable to group by : by
我不理解什么最后的错误意味着,为什么我不能运行在匹配的数据使用多重插补后设定的回归。任何有关这个问题的见解将不胜感激!