【问题标题】:Specifying level-3 random intercept in R在 R 中指定 3 级随机截距
【发布时间】:2017-03-26 11:48:19
【问题描述】:

我正在使用 R 中的 lmer() 函数(lme4 包)来分析一项纵向研究,其中我测量了 120 名受试者,共 6 次。首先,我指定了一个这样的模型:

library(lme4)
model1 = lmer(DV ~ 1 + X1*X2  + (1+X1|SubjectID), REML="false")

X1 是一个时变变量(1 级),X2 是一个主题级变量(2 级)。

由于这些主题嵌套在多个团队中,因此建议我在团队级别(3 级)包含随机截取。但是,我只发现如何同时包含随机截距和斜率:

model2 = lmer(DV ~ 1 + X1*X2  + (1+X1|TeamID/SubjectID), REML="false")

有谁知道如何只为模型 1 添加一个 3 级随机截距?

【问题讨论】:

  • X1 是时间点吗?什么是“学科水平变量”?也许您可以提供数据样本。
  • X1 是一个一级变量,每个波/时间点都有不同的值(有 6 个时间点)。换句话说,它的价值会随着时间而改变。 X2 是一个 2 级变量,在所有波浪中具有相同的值。因此,每个主题都有一个 X2 值,随着时间的推移保持不变。我猜它实际上是一个非常基本的多层次模型?这足够清楚吗? @乔
  • 所以听起来您只是在寻找随机拦截 TeamIDSubjectID。如果是这种情况,您只需要(1|TeamID) + (1|SubjectID)
  • 好吧,我想我明白了。谢谢!因此,当我想要 SubjectID 的随机截距和随机斜率但只有 TeamID 的随机截距时,它将是 (1+X1|SubjectID) + (1|TeamID)?
  • 没错。您说的是“仅对TeamID 期望不同的基线,但对SujectIDX1 有不同的基线和不同的响应”。这能解决问题吗?

标签: r lme4 multi-level random-effects


【解决方案1】:

通过使用术语(1|SubjectID),您是在告诉模型仅针对SubjectID 的不同实例预期不同的基线。为了告诉模型对固定效应X1 有不同的反应,我们使用(1+X1|SubjectID)。因此,您只需要条款

(1|TeamID) + (1+X1|SubjectID)

在你的模型中。

顺便说一句,Cross Validated 上有很多很好的信息。

【讨论】:

    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    相关资源
    最近更新 更多