R数据分析:扫盲贴,什么是多重插补( 二 )


R数据分析:扫盲贴,什么是多重插补

文章插图
跑出来结果了,但是你要明白这个时候模型是默认将有缺失值的观测删掉的 。结果不一定对 。
现在我们对刚刚的数据集进行一个多重插补,需要用到mice函数,这个函数接受的参数如下:
R数据分析:扫盲贴,什么是多重插补

文章插图
其中重要的参数包括m,就是插补的完整数据集的个数;method就是插补的算法 , 这个就比较多了,常见如下:
R数据分析:扫盲贴,什么是多重插补

文章插图
例如 , 我想对原始数据用pmm法进行多重插补,可以写出代码如下:
imputed_data <- mice::mice(data, m = 25, method = "pmm",maxit = 10, seed = 12345, print = FALSE)运行上面代码插补自动完成 , 我们可以看到
R数据分析:扫盲贴,什么是多重插补

文章插图
每一个变量都会作为其他变量的预测因子,同时每一个变量都会被其余所有变量所预测从而完成插补 。插补完成后我们可以查看插补后的数据集 , 代码如下:
complete(imputed_data, action = "long", include = TRUE)最重要的一步是进行分析并进行效应合并,这个需要用到mice包中的with函数,可不是base包中的with函数,这个需要注意
R数据分析:扫盲贴,什么是多重插补

文章插图
这个with是专门用来帮助我们在插补后的数据集中目标分析的函数 , 刚刚写到我的目标分析是要做一个以hyp为因变量的逻辑回归,此时对于插补后的数据 , 可以写出代码如下:
imputed_model <- with(imputed_data,glm(hyp ~ bmi+age+chl, family = binomial(link = 'logit')))得到结果如下:
R数据分析:扫盲贴,什么是多重插补

文章插图
上图中上面是插补后的逻辑回归的结果,下图是之前没有插补的时候逻辑回归的结果,可以看到差异还是蛮大的 。
多重插补的报告对于多重插补的结果报告 , BMJ也给了指南:
R数据分析:扫盲贴,什么是多重插补

文章插图
完整文章如下,大家可以自己去阅读:
Sterne J A C, White I R, Carlin J B, Spratt M, Royston P, Kenward M G et al. Multiple imputation for missing data in epidemiological and clinical research: potential and pitfalls BMJ 2009; 338 :b2393 doi:10.1136/bmj.b2393
其中的重点就是要报告用的啥软件进行的多重插补,补了几个数据集 , 补的时候用了哪些变量,非正态分布变量和分类变量用的什么method补的,如果目标分析有交互,补的时候考虑交互没有;补的数据如果 太多,补与不补的个案需要对比的;还有建议对缺失机制做一个讨论 。
以上就是今天给大家介绍的多重插补的内容 。

推荐阅读