如何获得在混合效应模型的系数及其置信区间?(How to get coefficients and

2019-06-25 13:20发布

lmglm模型,我使用的功能coefconfint要实现的目标:

m = lm(resp ~ 0 + var1 + var1:var2) # var1 categorical, var2 continuous
coef(m)
confint(m)

现在,我加入到模型中随机效应-使用使用混合效应模型的lmer功能从lme4包。 但随后,功能coefconfint不工作了我!

> mix1 = lmer(resp ~ 0 + var1 + var1:var2 + (1|var3)) 
                                      # var1, var3 categorical, var2 continuous
> coef(mix1)
Error in coef(mix1) : unable to align random and fixed effects
> confint(mix1)
Error: $ operator not defined for this S4 class

我试图谷歌和使用文档,但没有结果。 请点我在正确的方向。

编辑:我也在想这个问题,是否适合更多的https://stats.stackexchange.com/ ,但我认为它比统计更多的技术,所以我断定它最适合在这里(SO)...你觉得呢?

Answer 1:

有两个新的软件包, lmerTest和LSMEANS ,可以计算95%置信区间为lmerglmer输出。 也许你可以看看那些? 而coefplot2 ,我觉得能做到这一点(虽然本·低于所指出的,在一个不那么复杂的方式,从沃尔德统计的标准误差,而不是Kenward罗杰和/或萨特斯韦特DF近似中使用lmerTestlsmeans )...只是一个耻辱,还有在包中没有内置绘图设施lsmeans (因为有在包装effects()这顺便说一句也返回上95%置信区间lmerglmer对象,但通过改装的模型没有任何这样做的随机因素的影响,这是明显不正确的)。



Answer 2:

我建议大家用好老LME(封装NLME)。 它有confint,如果你需要对比的confint,有一系列的选择(在gmodels难能可贵的,在对比度反差,glht在multcomp)。

为什么p值和confint是11聚物中缺席:看http://finzi.psych.upenn.edu/R/Rhelp02a/archive/76742.html 。



Answer 3:

假设为固定效应的正态近似(其中confint也做了),我们可以得到95个%的置信区间

估计+ 1.96 *标准错误。

以下不适用于方差分量/随机效应。

library("lme4")
mylm <- lmer(Reaction ~ Days + (Days|Subject),  data =sleepstudy)

# standard error of coefficient

days_se <- sqrt(diag(vcov(mylm)))[2]

# estimated coefficient

days_coef <- fixef(mylm)[2]

upperCI <-  days_coef + 1.96*days_se
lowerCI <-  days_coef  - 1.96*days_se


Answer 4:

不知道什么时候加入,但现在confint()在lme4实现。 例如,下面的示例:

library(lme4)
m = lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
confint(m)


Answer 5:

为了找到系数,你可以简单地使用lme4的汇总函数

m = lm(resp ~ 0 + var1 + var1:var2) # var1 categorical, var2 continuous
m_summary <- summary(m)

让所有的系数:

m_summary$coefficient

如果你想的置信区间,1.96乘以非标准错误:

CI <- m_summary$coefficient[,"Std. Error"]*1.96
print(CI)


文章来源: How to get coefficients and their confidence intervals in mixed effects models?