本文最后更新于:2020-08-22 15:52
多重插补 (Mutiple Imputation, MI) 是一种应对无反应误差 (nonresponse bias) 的方法,即当人们无法对调查做出回应时,会丢失研究数据。将创建同一数据集的多个版本,然后将其组合以形成“最佳”值。
临床资料的收集过程中,很难收到完美的数据。对于缺失数据,删除相应的病人或者相应的变量是一种备择方案,但是缺点显而易见。因而,用多重插补方法来填补缺失数据就比较适合。
多重插补通过计算几个不同的选项来缩小关于缺失值的不确定性。 将创建同一数据集的多个版本,然后将其组合以形成最佳值。
代码如下:
生成 5 份插补数据,历遍 5 次
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| library('mice')
data <- read.csv('origin.csv', sep=',', header=TRUE)
imputed_Data <- mice(data, seed=826, method='pmm')
completeData <- list() for (i in 1:5){ completeData[i] <- mice::complete(imputed_Data, i) }
for (i in 1:5){ write.csv(completeData[i], paste('completeData', i, '.csv',sep=''), row.names=FALSE) }
|
生成 1 份插补数据,历遍 20 次
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| library('mice')
data <- read.csv('origin.csv', sep=',', header=TRUE)
imputed_Data <- mice(data, seed=826, method='pmm', m=1, maxit=20)
completeData <- mice::complete(imputed_Data, 1)
write.csv(completeData, 'completeData.csv', row.names=FALSE)
|