我们在临床做回顾性研究分析中经常要面对数据缺失的问题,如果数据缺失量大就会对我们的研究结果产生影响,近年来,对数据进行多重插补广泛应用于SCI论文中。我们在之前的文章中已经演示了使用SPSS对数据进行多重插补并分析。今天,我们通过使用R语言的Mice包来演示多重插补并对数据进行分析。
我们使用R语言survival包自带的mgus数据集来进行演示
先把数据导入
library(survival)
library(rms)
data(package=“survival”)
data(“mgus”)
head(mgus)
bc<-mgus
查看数据,发现存在许多缺失值
导入mice包,对缺失值进行分析
表和图是一样的,表示完全没有缺失的有46个,pcdx pctime 这两个有缺失的有130个,creat缺失的有8个
使用mice进行插补并查看数据,我们可以看到原来缺失的地方已经被插补了数据
imp<-mice(bc)
complete(imp)
查看一下数据插补的情况,蓝色是原始数据,红色是插补数据,可以看到,比较重合,说明插补得很好
stripplot(imp,pch=19,cex=1.2,alpha=.3)
最后进行回归分析,很多人不懂怎么使用插补后的数据,其实都是一样进行回归
fit<-with(imp,glm(death~age+sex+dxyr+pcdx,family = binomial))
这里生成了5套回归数据
Fit
最后把5套数据的统计值合并就可以了
fit1<-pool(fit)
summary(fit1)
得出最终结果就可以进行分析了