汇集插补数据集的GLMER
问题是: 我有一个数据集,缺少一些预测值。我想将应用于这些插补集的汇集插补数据集的GLMER,r,lme4,r-mice,R,Lme4,R Mice,问题是: 我有一个数据集,缺少一些预测值。我想将应用于这些插补集的glmer模型汇集在一起。我正在使用mices包创建插补(我也使用了amelia和mi,但没有成功)。我想主要提取固定效果 在mice包中使用pool()函数返回错误: Error in qhat[i, ] : incorrect number of dimensions 我已尝试在此处使用并改编先前重写的pool()函数: 我可能忽略了一个显而易见的解决方案 下面是一个例子: # 1. create data (that c
glmer
模型汇集在一起。我正在使用mices
包创建插补(我也使用了amelia
和mi
,但没有成功)。我想主要提取固定效果
在mice包中使用pool()
函数返回错误:
Error in qhat[i, ] : incorrect number of dimensions
我已尝试在此处使用并改编先前重写的pool()
函数:
我可能忽略了一个显而易见的解决方案
下面是一个例子:
# 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()
的对象
我有一个解决办法,就是使用一个荟萃分析模型来汇集
glmer
模型的每个固定效应的结果。这是可行的-但是让Rubin模型工作会更好。这对我来说是可行的,因为我制作了自己的鼠标叉,将上面引用的扩展版本拉入其中,并稍微清理一下:试试看
devtools::install_github("bbolker/mice")
然后看看你的过程如何。(如果有效,应该有人提交提醒/新的拉取请求…类为“glmerMod”和“lmerMod”的对象之间是否有区别?我不熟悉那个包裹。但是如果没有差异,您可以将mice.fit分析的类别更改为“lmerMod”,然后它就会正常运行。亲爱的Ben,很遗憾,当我尝试上面的命令(R版本3.3.0,mice_2.30,lme4_1.1-12)时,我收到以下错误消息“错误:找不到构建mice所需的构建工具”“.Best Regard您需要安装Rtools。感谢您的快速回答,但我使用的是mac(mac os 10.11.6)。据我所知,macintosh没有Rtools。“MacOS的Rtools”=“XCode”(请参阅并搜索XCode)
devtools::install_github("bbolker/mice")