【问题标题】:glmer extracts coefficient only for main (predictor) factor, not contrastglmer 仅提取主要(预测)因素的系数,而不是对比
【发布时间】:2020-06-24 17:49:25
【问题描述】:

这是 GLMER 模型

model <- glmer(ACC~Group*M_O*Lblock+ (1| Subject) + (1| hand),data = learndata_long3,family="binomial") 

“Lblock”因子有 9 个级别,其他有 2 个级别。

结果如下:

     summary(model)$coefficients

                        Estimate Std. Error     z value      Pr(>|z|)
(Intercept)          0.437931021 0.16334362  2.68104155  7.339340e-03
Group1              -0.032138148 0.14961572 -0.21480463  8.299196e-01
M_O1                 0.135726477 0.04115871  3.29763642  9.750230e-04
Lblock1              0.301264476 0.08343952  3.61057288  3.055214e-04
Lblock2              0.623913565 0.08247767  7.56463576  3.889529e-14
Lblock3              1.022046512 0.08235930 12.40960689  2.317880e-35
Lblock4              1.399407518 0.08337615 16.78426631  3.181367e-63
Lblock5              1.741198402 0.08541505 20.38514752  2.265326e-92
Lblock6              2.065315516 0.08843600 23.35378765 1.261292e-120
Lblock7              2.268393650 0.09075950 24.99345703 7.201546e-138
Lblock8              2.637079325 0.09707420 27.16560426 1.656429e-162

我想要的只是提取每个因素,比如“

估计:组/M_O/Lblock

我该怎么办?只是总结,然后意味着块?还是?

对这些领域非常陌生,感谢您的帮助

【问题讨论】:

  • 我有点不确定您在这里需要什么。每个因子的估计值列在估计列中。我认为可能让您感到困惑的是,Intercept 对应于每个因素的参考水平。因此,截距是对您的 M_O 因子和您的 Group 因子的其他级别以及 Lblock 因子的第九个级别的估计。如果这不能说明问题,请更深入地解释您的问题。
  • 我想要的只是βGroup + βM_O + β*Lblock,但是结果显示了每个因素的对比,就像Lblock有(Lblock1 + Lblock2...),应该我用这些做什么?还有 (Group2:M_O2 1.951e-01 7.299e-02 1.235e+04 2.674 0.007515 ** Group2:Lblock2 1.193e-01 7.299e-02 1.235e+04 1.634 0.102249 Group2:Lblock3 1.201e-01e -02 1.235e+04 1.643 0.100385 Group2:Lblock4 ) ,应该报告确切的结果。

标签: r lme4 summary coefficients


【解决方案1】:

感谢您澄清一下。我认为您期望的是类似于 ANOVA 的输出?但这对于您的数据是不可能的,因为您指定了两个随机效应。

在运行逻辑回归时,您应该阅读一些有关如何解释它们的信息。 (我只是把这个放在这里,因为你说你是新手)

https://stats.idre.ucla.edu/stata/output/logistic-regression-analysis/

现在,如果您想测试您的一个因素对模型的贡献,您必须创建嵌套模型,并使用 R 中的anova() 函数将它们与似然比测试进行比较。

例如,假设您有与上面相同的模型,但没有指定任何交互:

m1 <- glmer(ACC~Group+M_O+Lblock+ (1| Subject) + (1| hand),data = learndata_long3,family="binomial")

然后一个没有 Group 预测器:

m2 <- glmer(ACC~M_O+Lblock+ (1| Subject) + (1| hand),data = learndata_long3,family="binomial")

然后我们比较使用Group 预测器是否显着改善了模型:

anova(m1,m2)

这将为您提供一个 p 值,告诉您添加 Group 是否显着提高了模型拟合度。

如果这看起来很多,如果您不熟悉模型比较,我建议您查看 Bodo Winter 的本教程。它针对的是新的混合模型的人,他们想要一个正在发生的事情的概念基础。我不知道你在哪个领域,但我认为这些例子对每个人来说都很容易理解。

https://arxiv.org/abs/1308.5499

如果您在教程中需要任何其他说明或有任何问题,请告诉我。

【讨论】:

  • 感谢参考论文,我想知道将这两个模型与 anova() 进行比较后,它只显示了 p 值,但没有显示一个因子 β,有人告诉我需要将我的因子更改为数值。
  • 否,因此使用似然比检验不会出现任何系数名称,因为您正在评估整个模型。由您自己决定如何创建嵌套模型,以便您可以检查一个模型中的哪个预测变量,而另一个模型中缺少哪个预测变量会造成差异。至于将您的因子转换为数值,我不知道为什么这里需要这样做。如果告诉你这样做的人是你的导师/教授,我可能会这样做,但一定要问他们为什么,这样你才能理解激励它的原因。
猜你喜欢
  • 1970-01-01
  • 2017-08-09
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多