gpt4 book ai didi

r - 汇集估算数据集的 glmers

转载 作者:行者123 更新时间:2023-12-02 15:47:24 25 4
gpt4 key购买 nike

问题:

我有一个数据集,其中缺少一些预测变量值。我想将已应用于这些插补集的 glmer 模型汇集在一起​​。我使用 mice 包来创建插补(我也使用过 ameliami 但没有成功)。我想主要提取固定效应。

在 mouse 包中使用 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 模型发挥作用会更好。

最佳答案

在制作我自己的mice分支后,这对我有用,将您上面引用的扩展版本拉入其中,并稍微清理一下:尝试

devtools::install_github("bbolker/mice")

然后看看您的流程如何进行。 (如果有效,应该有人提交提醒/新的拉取请求......)

关于r - 汇集估算数据集的 glmers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32939100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com