Проблема:Объединение учетных записей вмененных наборов данных
У меня есть набор данных с некоторыми отсутствующими значениями предиктора. Я хотел бы объединить модели glmer
, которые были применены к этим наборам вменений. Я использую пакет mice
для создания вменений (я также использовал amelia
и mi
тоже без успеха). Я бы хотел в первую очередь извлечь фиксированные эффекты.
Используя pool()
функцию в пакете мышей возвращает ошибку:
Error in qhat[i, ] : incorrect number of dimensions
Я пытался использовать и адаптировать ранее переписывают pool()
функции здесь:
https://github.com/stefvanbuuren/mice/pull/5
Там в вероятно, очевидное решение, которое я пропускаю!
Вот пример:
# 1. create data (that can be replicated and converge later)
data = data.frame(x1=c(rep("1",0.1*1000), rep("0",0.5*1000),
rep("1",0.3*1000), rep("0",0.1*1000)),
x2=c(rep("fact1",0.55*1000), rep("fact2",0.1*1000),
rep(NA,0.05*1000), rep("fact3",0.3*1000)),
centre=c(rep("city1",0.1*1000), rep("city2",0.2*1000),
rep("city3",0.15*1000), rep("city1",0.25*1000),
rep("city2",0.3*1000) ))
# 2. set factors
data = sapply(data, as.factor)
# 3. mice imputation
library(mice)
imp.data = mice(data, m=5, maxit=20, seed=1234, pri=F)
# 4. apply the glmer function
library(lme4)
mice.fit = with(imp.data, glmer(x1~x2+(1|centre), family='binomial'))
# 5. pool imputations together
pooled.mi = pool(mice.fit)
Другая функция Я применил на шаге 4 ниже, в надежде, что бы создать объект поддающийся pool()
.
mice.fit = lapply(imp.data$imp, function(d){ glmer(x1~x2+(1|centre), data=d,
family='binomial') })
У меня есть работа вокруг, что связано с использованием модели мета-анализа, чтобы объединить результаты каждого из фиксированных эффектов glmer
моделей. Это работает, но было бы намного лучше работать с моделью Rubin.
Дорогой Бен, К сожалению, когда я пытаюсь выполнить вашу команду выше (версия R 3.3.0, mice_2.30, lme4_1.1-12), появляется следующее сообщение об ошибке «Ошибка: не удалось найти инструменты построения, необходимые для сборки мышей". С уважением – Kev
вам необходимо установить Rtools. –
Благодарим за быстрый ответ, но я использую mac (mac os 10.11.6). Насколько я знаю, для макинтоша нет Rtools. – Kev