2010-08-27 45 views
4

我已在R中使用MICE软件包成功完成了对我的问卷调查研究的缺失数据的多次归算,并对汇总的归算变量执行了线性回归。我似乎无法弄清楚如何提取单个合并变量并在图表中绘图。有任何想法吗?绘制多重归因结果

例如

>imp <- mice(questionnaire) 
>fit <- with(imp, lm(APE~TMAS+APB+APA+FOAP)) 
>summary(pool(fit)) 

我想通过TMAS绘制汇集的APE。

重复的例子,使用NHANES:

> library(mice) 
> nhanes 
> imp <-mice(nhanes) 
> fit <-with(imp, lm(bmi~chl+hyp)) 
> fit 
> summary(pool(fit)) 

我想暗算汇集BMI汇集叶绿素(例如)。

最好的我已经能够做到的,是

> mat <-complete(imp, "long") 
> plot(mat$chl~mat$bmi) 

我相信这给出了所有5个插补的组合情节,不完全是我找的(我认为)。

+0

@Kafkaesque:你最好提供一个可重复的例子。也许有''鼠标'页面上的'nhanes'数据。 – 2010-08-27 08:55:11

+0

如果你使用'complete(imp)',你只需得到最后一次迭代 – James 2010-08-27 10:11:43

+0

完整的“长”(imp,“long”)给出所有5个插值。我真正想要的是在回归中使用的汇总插补,即需要回归中使用的数据图。也许我误解了回归使用的数据,也许完整(imp,“long”)是我想要绘制的? – 2010-08-27 10:18:37

回答

9

底层的with.mids()函数允许对每个推测的数据帧执行回归。所以这不是一个回归,而是发生了5次回归。 pool()只是对估计系数进行平均并根据插补量调整统计推断的方差。

所以没有单一的混合变量绘图。你可以做的是平均5台估算套,并重新创建某种基于汇集系数“回归线”,例如:

# Averaged imputed data 
combchl <- tapply(mat$chl,mat$.id,mean) 
combbmi <- tapply(mat$bmi,mat$.id,mean) 
combhyp <- tapply(mat$hyp,mat$.id,mean) 

# coefficients 
coefs <- pool(fit)$qbar 

# regression results 
x <- data.frame(
     int = rep(1,25), 
     chl = seq(min(combchl),max(combchl),length.out=25), 
     hyp = seq(min(combhyp),max(combhyp),length.out=25) 
    ) 

y <- as.matrix(x) %*%coefs 


# a plot 
plot(combbmi~combchl) 
lines(x$chl,y,col="red") 
+0

谢谢你。这个平均情节似乎比我已经解决的合并情节(全部5个情节)要好。没有一个结果与我原始分析的列表删除图大不相同。再次感谢您的思想和努力。 – 2010-08-27 11:25:47