r - 绘制多重插补结果

标签 r plot missing-data imputation r-mice

我已经使用 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))

我想将池化的 chl 与池化的 bmi(例如)作图。

我能够实现的最好的是
> mat <-complete(imp, "long")
> plot(mat$chl~mat$bmi)

我相信这给出了所有 5 个插补的组合图,并不是我想要的(我认为)。

最佳答案

底层的 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")

关于r - 绘制多重插补结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3582316/

相关文章:

r - 如何在本地用户名下的远程计算机上运行 R 脚本(具有使用集成 Windows 身份验证的数据库连接)?

r - 将数据导入R中的列数未知?

python - 在 matplotlib 中创建堆叠柱面条形图

excel - 在 matlab 或 excel 中绘制 3D 条形图

R图: size and resolution

python - Pandas:如何用 groupby 的平均值填充空值?

r 从缺失值上方的单元格中复制值

r - 在 R Party Package 中编码多变量响应

r - 在 R 中对嵌套列表进行子集化

r - 自定义 DataTables 如何在 Shiny 中显示缺失值