使用来自库MICE()的输入数据集来拟合R中的多水平模型 [英] Using imputed datasets from library mice() to fit a multi-level model in R

查看:0
本文介绍了使用来自库MICE()的输入数据集来拟合R中的多水平模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚开始在R中打包mice,但我正在尝试计算popmis中的5个数据集,然后分别匹配lmer()模型with()和最后的pool()

我认为mice()中的pool()函数不适用于lme4包中的lmer()调用,对吗?

如果是这样的话,有没有办法编写一个定制的函数,它的作用类似于我下面的案例pool()

library(mice)
library(lme4)

imp <- mice(popmis, m = 5) # `popmis` is a dataset from `mice`

fit <- with(imp, lme4::lmer(popular ~ sex + (1|school))) # works fine.

pool(fit) # BUT this one fails, should I loop here?

推荐答案

我为您提供了解决方案。就像install.packages("broom.mixed")然后library(broom.mixed)一样简单。broom.mixed包提供了正确的glance方法

# install.packages("broom.mixed")
library(mice)
library(lme4)
library(broom.mixed)
imp <- mice(popmis, m = 5) # `popmis` is a dataset from `mice`

fit <- with(data = imp, exp = lme4::lmer(popular ~ sex + (1|school)))

pool(fit) 

结果:

> pool(fit)
Class: mipo    m = 5 
         term m  estimate        ubar            b           t dfcom       df        riv     lambda        fmi
1 (Intercept) 5 4.9122016 0.007589694 0.0003823641 0.008048531  1996 743.8691 0.06045526 0.05700878 0.05953397
2         sex 5 0.8378947 0.001187606 0.0002937859 0.001540149  1996  72.7305 0.29685175 0.22890184 0.24926611

Ben Bolker is the author of broom.mixed

这篇关于使用来自库MICE()的输入数据集来拟合R中的多水平模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆