如何在线性混合模型中获得group = 0的值

时间:2020-06-24 16:31:34

标签: r model linear-regression mixed-models beta

我可能有一个非常简单的统计问题。 因此,我适合这样的线性混合模型: lme(dependent ~ Group + Sex + Age + npgs, data=boookclub, random = ~ 1| subject) 组是水平= 0、1、2、3的因子变量 因变量是标准化的连续变量(平均0),其他变量是性别作为因子的协变量,其中男性/女性水平,年龄是数字,而npgs也是数字连续标准化。 当我得到带有beta,标准误差,t和p值的表时,得到的是:

                    Value  Std.Error  DF   t-value p-value
(Intercept)   -0.04550502 0.02933385 187 -1.551280  0.0025
Group1         0.04219801 0.03536929 181  1.193069  0.2344
Group2         0.03350827 0.03705896 181  0.904188  0.3671
Group3         0.00192119 0.03012654 181  0.063771  0.9492
SexMale        0.03866387 0.05012901 181  0.771287  0.4415
Age           -0.00011675 0.00148684 181 -0.078520  0.9375
npgs           0.15308844 0.01637163 181  9.350835  0.0000
SexMale:Age    0.00492966 0.00276117 181  1.785352  0.0759 

我的问题是:如何获取Group0的beta?在这种情况下,截距是Group0,但也是npg的平均值,是npg的标准。如何获得Group0的Beta?以及如何检查Group0是否与依赖项显着相关?我希望看到所有组级别的效果。

谢谢

1 个答案:

答案 0 :(得分:4)

最简单的方法可能是使用emmeans软件包,但是您可能还会遇到一些概念上的问题。首先是技术细节,然后是概念性的:

技术

拟合示例(从统计意义上讲这不一定是明智的,但我想要一个具有固定分类效果的示例)

library(nlme)
m1 <- lme(Yield~Variety, random = ~1|Block, data=Alfalfa)

与您的示例一样,效果为“截距”(=基线组的平均值,在这种情况下为“哥萨克”品种(默认情况下,按字母顺序排列的第一组)),“ Ladak”( Ladak和Cossack的意思是)和“ Ranger”(类似)。 (正如@Ben在上面的评论中所暗示的那样,R自动为模型中[大多数]分类变量[因素]的级别生成虚拟变量。)

coef(summary(m1))

##                     Value  Std.Error DF    t-value      p-value
## (Intercept)    1.57166667 0.11665326 64 13.4729767 2.373343e-20
## VarietyLadak   0.09458333 0.07900687 64  1.1971532 2.356624e-01
## VarietyRanger -0.01916667 0.07900687 64 -0.2425949 8.090950e-01

emmeans包是一种无需重新编码即可查看每个组的预测值的便捷方法。

library(emmeans)
emmeans(m1, spec = ~Variety)
##  Variety emmean    SE df lower.CL upper.CL
##  Cossack   1.57 0.117  5     1.27     1.87
##  Ladak     1.67 0.117  5     1.37     1.97
##  Ranger    1.55 0.117  5     1.25     1.85

概念性

不能“检查Group0是否与因变量[response]显着相关”。您只能检查响应变量在两个组之间是否有显着差异,还是在所有组之间有显着差异(例如anova()的结果)。您必须选择一个基准。 (如果您坚持,则可以测试组之间的所有成对比较; emmeans can help with this too。)如果您“删除了截距”(通过拟合Variety ~Yield-1或查看emmeans产生的结果),那么您要量化的差异就是特定组的平均值与零之间的差异。 这通常不是一个有意义的问题;例如,在这里的示例中,这将测试一种小麦品种的产量是否明显高于零,这可能不是很有趣。

另一方面,如果您只是想估计每个组的期望值(以模型中其他变量的基准值为条件)以及标准误差/ CI,那么您可以从中获得答案emmeans非常明智。

有一个related question here解释了如果您为每个因素水平手动创建虚拟变量,为什么会得到一个NA值的原因...

相关问题