【发布时间】:2021-03-30 10:25:39
【问题描述】:
我一直在使用 R 中的鼠标包 (van Buuren) 执行多重插补,m = 50(50 个插补数据集)和 20 次迭代,用于大约 9 个变量,缺失数据(MAR = 随机缺失)范围从 5 -13%。在此之后,我想继续为我的数据集估计描述性统计数据(即,不要只对描述性统计数据使用完整的案例分析,还要将结果与我的插补中的描述性统计数据进行比较)。所以我现在的问题是,如何进行。
我知道处理 MICE 数据的正确程序是:
- 通过 mouse 函数对缺失的数据进行插补,从而产生多个插补数据集(中类);
- 用 with() 函数在每个插补数据集上拟合感兴趣的模型(科学模型),得到 mira 类的对象;
- 将每个模型的估计值合并为一组估计值和标准误差,结果是 mipo 类的对象; 或者,通过 D1() 或 D3() 函数比较来自不同科学模型的汇总估计值。
我的问题是我不明白如何将这个理论应用于我的数据。我已经完成了:
#Load package:
library(mice)
library(dplyr)
#Perform imputation:
Imp_Data <- mice(MY_DATA, m=50, method = "pmm", maxit = 20, seed = 123)
#Make the imputed data in long format:
Imp_Data_Long <- complete(Imp_Data, action = "long", include = FALSE)
然后我假设此过程对于获取 BMI 变量的中位数是正确的,其中 .imp 变量是插补数据集的编号(即从 1 到 50):
BMI_Medians_50 <- Imp_Data_Long %>% group_by(.imp, Smoker) %>% summarise(Med_BMI = median(BMI))
BMI_Median_Pooled <- mean(BMI_Medians_50$Med_BMI)
我可能完全理解错了,但我非常努力地理解正确的过程,并在 StackOverflow 和 StatQuest 上发现了非常不同的过程。
【问题讨论】:
标签: r imputation r-mice