Я думаю, что этот код может быть использован для достижения того, что вы просите
Сначала создайте длинную версию всех наборов данных:
d.long <- mice::complete(imp,"long",include = T)
Затем выполните группировку как обычно, используяbase R
d.long.A <- d.long[which(d.long$group == 'A'),]
d.long.B <- d.long[which(d.long$group == 'B'),]
Затем измените их обратно на mids
объекты, чтобы вы могли выполнять mice
операций
imp.A <- as.mids(d.long.A)
imp.B <- as.mids(d.long.B)
Вы, вероятно, получите предупреждение, потому что группа сейчасконстанта.
Warning message:
Number of logged events: 1
imp.A$loggedEvents
it im dep meth out
1 0 0 constant group
Но это не должно быть проблемой, просто mice
говорит вам, что в вашем наборе данных есть постоянное значение.Наконец, вы можете использовать ваши новые подмножества для своих моделей регрессии
fit.A <- with(imp.A, lm(bmi ~ age + chl))
fit.B <- with(imp.B, lm(bmi ~ age + chl))
, используйте pool
для получения объединенных результатов.Я не совсем уверен, почему вы хотите сделать это вместо того, чтобы просто включить групповую переменную в вашу модель регрессии, но я предполагаю, что у вас есть причина для этого.Надеюсь, это поможет!