首页 文章

MICE中的Stripplot

提问于
浏览
0

我在R中使用MICE包进行多次插补 . 我只使用数值变量进行了几次插补,插补方法是预测均值匹配,当我使用命令stripplot(插入数据集的名称)时,我可以看到所有变量的观察值和估算值 .

当我尝试对分类和数值变量的组合进行插补时,会出现问题 . 然后,插补方法是数值变量的PMM,以及分类变量的逻辑回归 . stripplot-command只显示数值变量 . 我试图用这些命令指定edu是一个带有2个值的分类变量:

stripplot(imp, imp$edu)
stripplot(imp, names(imp$edu))

我收到了这个错误:

stripplot.mids(imp,imp $ edu)中的错误:无法填充扩展公式 .

有谁知道如何绘制数值和分类变量的观测值和估算值?

1 回答

  • 0

    您可以尝试的一件事是将imputed dataset 检索为data.frame并使用常规绘图函数 . 首先检索数据集,包括缺少值的原始数据集(imp是mice.mids对象,即运行鼠标的结果)

    impL <- complete(imp,"long",include = T)
    

    接下来添加一个虚拟表示哪些数据集被估算

    impL$Imputed <- factor(impL$.imp >0,labels = c("Observed","Imputed"))
    

    然后,您可以为每个变量使用绘图函数 . 这样做的好处是可以创建更好的图 . 例如,使用 ggplot (包ggplot2)在分类变量上创建条形图:

    ggplot(impL[which(!is.na(impL$var1)),],aes(x = var1)) + 
    geom_bar(aes(y = ..prop.., group = Imputed)) + facet_wrap(Imputed ~ ,ncol=1,nrow=2)
    

    包含 !is.na 以避免绘制NA条形图 . var1 是您要绘制的变量 . 对于连续变量,您可以创建密度图 .

    ggplot(impL, aes(x = var2, colour = Imputed)) + geom_density()
    

    要查看所有独特的插补,您可以在aes括号内添加 group = .imp . 希望这可以帮助

相关问题