在 R 中指定 3 级随机截距
Specifying level-3 random intercept in R
我正在使用 R 中的 lmer()
函数(lme4
包)来分析一项纵向研究,其中我测量了 120 名受试者,共测量了 6 次。首先,我指定了这样的模型:
library(lme4)
model1 = lmer(DV ~ 1 + X1*X2 + (1+X1|SubjectID), REML="false")
X1
是时变变量(level-1),X2
是学科级变量(level-2)。
因为这些主题嵌套在几个团队中,我被建议在团队级别(级别 3)包括一个随机拦截。但是,我只找到如何同时包括随机截距和斜率:
model2 = lmer(DV ~ 1 + X1*X2 + (1+X1|TeamID/SubjectID), REML="false")
有谁知道如何只向模型 1 添加 3 级随机截距?
通过使用术语 (1|SubjectID)
,您告诉模型仅针对 SubjectID
的不同实例期望不同的基线。为了告诉模型期望此对固定效应 X1
的不同响应,我们使用 (1+X1|SubjectID)
。因此,您只需要条款
(1|TeamID) + (1+X1|SubjectID)
在你的模型中。
顺便说一句,Cross Validated.
上有很多关于此的有用信息
我正在使用 R 中的 lmer()
函数(lme4
包)来分析一项纵向研究,其中我测量了 120 名受试者,共测量了 6 次。首先,我指定了这样的模型:
library(lme4)
model1 = lmer(DV ~ 1 + X1*X2 + (1+X1|SubjectID), REML="false")
X1
是时变变量(level-1),X2
是学科级变量(level-2)。
因为这些主题嵌套在几个团队中,我被建议在团队级别(级别 3)包括一个随机拦截。但是,我只找到如何同时包括随机截距和斜率:
model2 = lmer(DV ~ 1 + X1*X2 + (1+X1|TeamID/SubjectID), REML="false")
有谁知道如何只向模型 1 添加 3 级随机截距?
通过使用术语 (1|SubjectID)
,您告诉模型仅针对 SubjectID
的不同实例期望不同的基线。为了告诉模型期望此对固定效应 X1
的不同响应,我们使用 (1+X1|SubjectID)
。因此,您只需要条款
(1|TeamID) + (1+X1|SubjectID)
在你的模型中。
顺便说一句,Cross Validated.
上有很多关于此的有用信息