首页 > 解决方案 > 如何对 R 中的 MICE 估算数据执行混合设计方差分析?

问题描述

我有一个关于在使用 MICE 进行多次插补后在 R 中执行混合设计方差分析的问题。我的数据如下:

id <- c(1,2,3,4,5,6,7,8,9,10)
group <- c(0,1,1,0,0,1,0,0,0,1)
measure_1 <- c(60,80,90,54,60,61,77,67,88,90)
measure_2 <- c(55,88,88,55,70,62,78,66,65,92)
measure_3 <- c(58,88,85,56,68,62,89,62,70,99)
measure_4 <- c(64,80,78,92,65,64,87,65,67,96)
measure_5 <- c(64,85,80,65,74,69,90,65,70,99)
measure_6 <- c(70,83,80,55,73,64,91,65,91,89)    
dat <- data.frame(id, group, measure_1, measure_2, measure_3, measure_4, measure_5, measure_6)
dat$group <- as.factor(dat$group)

所以:我们有 6 次重复测量舒张压(测量 1 到 6)。分组因素是性别,称为组。如果是男性,则此变量编码为 1,如果为女性,则编码为 0。在多重插补之前,我们在 R 中使用了以下代码:

library(reshape)
library(reshape2)
datLong <- melt(dat, id = c("id", "group"), measured = c("measure_1", "measure_2", "measure_3", "measure_4", "measure_5", "measure_6"))
datLong

colnames(datLong) <- c("ID", "Gender", "Time", "Score")
datLong
table(datLong$Time) 
datLong$ID <- as.factor(datLong$ID)

library(ez)
model_mixed <- ezANOVA(data = datLong, 
               dv = Value, 
               wid = ID, 
               within = Time, 
               between = Gender, 
               detailed = TRUE, 
               type = 3, 
               return_aov = TRUE)
model_mixed 

这非常有效。但是,我们的数据并不完整。我们有缺失值,我们使用 MICE 估算:

id <- c(1,2,3,4,5,6,7,8,9,10)
group <- c(0,1,1,0,0,1,0,0,0,1)
measure_1 <- c(60,80,90,54,60,61,77,67,88,90)
measure_2 <- c(55,NA,88,55,70,62,78,66,65,92)
measure_3 <- c(58,88,85,56,68,62,89,62,70,99)
measure_4 <- c(64,80,78,92,NA,NA,87,65,67,96)
measure_5 <- c(64,85,80,65,74,69,90,65,70,99)
measure_6 <- c(70,NA,80,55,73,64,91,65,91,89)    
dat <- data.frame(id, group, measure_1, measure_2, measure_3, measure_4, measure_5, measure_6)
dat$group <- as.factor(dat$group)

imp_anova <- mice(dat, maxit = 0)
meth <- imp_anova$method
pred <- imp_anova$predictorMatrix
imp_anova <- mice(dat, method = meth, predictorMatrix = pred, seed = 2018, maxit = 10, m = 5)

(由于虚构的数据和简单的插补代码(例如用作预测器的 id),插补给出了记录的事件。对于我的真实数据,插补是正确且有效的)

现在我有了“mids”类的估算数据集。我已经搜索了互联网,但我找不到如何在这个估算集上执行混合设计方差分析,就像我之前使用 ezANOVA 对完整集所做的那样。有没有人可以并且愿意帮助我?

标签: ranovamixed-modelsr-mice

解决方案


推荐阅读