通过mice包进行多重插补

通过mice包应用多重插补的步骤

基于mice包的分析通常符合以下分析过程:

library(mice)
imp <- mice(data, m)
fit <- with(imp, analysis)
pooled <- pool(fit)
summary(pooled)

其中,

  • data是一个包含缺失值的矩阵或数据框。
  • imp是一个包含m个插补数据集的列表对象,同时还含有完成插补过程的信息。 默认m为5。
  • analysis是一个表达式对象,用来设定应用于m个插补数据集的统计分析方法。方法包括
    做线性回归模型的lm()函数、做广义线性模型的glm()函数、做广义可加模型的gam(),以及做负二项模型的nbrm()函数。
    表达式在函数的括号中, ~的左边是应变量,
    右边是预测变量(用+符号分隔开)。
  • fit是一个包含m个单独统计分析结果的列表对象。
  • pooled是一个包含这m个统计分析平均结果的列表对象

实例

 imp <- mice(sleep, seed=1234)
 summary(imp)
 fit <- with(imp, lm(Dream ~ Span + Gest))
 pooled <- pool(fit)
 summary(pooled)

补充

  1. predictorMatrix是预测矩阵,1代表由列变量来预测行变量,0代表否,该矩阵可以改变
    如果我想要不做梦时长( NonD)的值的插补不由体重( BodyWgt )情况所影响,则可以通过改变predictorMatrix以实现。
predictorMatrix1 <- imp$predictorMatrix
head(predictorMatrix1,10)
imp2 <- mice(sleep, predictorMatrix = predictorMatrix1,seed=1234)
  1. 插补后的数据亦可以进行单变量分析
    假设该例中我们研究不做梦时长( NonD)与面临的总危险度( Danger)之间的关系,危险度有多个分级,故使用非参数检验中的Kruskal-Wallis检验:
    仅需改变“analysis”即
kw <- with(imp2,kruskal.test(NonD ~ Danger))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 答应大家今天要写一写关于多重插补的文章。查阅了很多资料,发现了一篇非常棒的英文文献,翻译给大家。 附上原文链接: ...
    鲨瓜阅读 13,820评论 3 15
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • matlab命令 声明:本文转自:https://www.douban.com/note/136332003/ 侵...
    我就是个初学者阅读 14,116评论 0 44
  • 今天早上起来发现下雨了,温度很舒适,为昨天的炎热降来了凉爽。 昨天和对象吵了一架,说要服软的我硬是不服,女人的嘴,...
    Swing_hsy阅读 122评论 0 1
  • 阿弥陀佛,遇鬼杀鬼,遇佛杀佛。
    宁子123阅读 165评论 0 0