如何在lme中分别拟合两个随机效果?

时间:2014-02-08 21:11:16

标签: r random nlme

我正在使用REML在nlme包中进行线性混合效果模型拟合。这些代码对我有用:

# Linear mixed-effects model fit by REML (intercept and not slope)
x <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~1|speaker)
summary(x)

# Linear mixed-effects model fit by REML (slope and no intercept)
x1 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~IV3-1|speaker)
summary(x1)

# Linear mixed-effects model fit by REML (slope and intercept)
x2 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~IV3|speaker)
summary(x2)

#nested random effect
x5 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~1|speaker/item)
summary(x5)

我真正想做的是将扬声器和物品分别作为随机效果的模型。我试过用这个公式:

x4 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~1|speaker + 1|item)

但是,这个公式给了我以下警告信息:

Warning message:
In Ops.factor(speaker, 1) : + not meaningful for factors

你知道这意味着什么吗?我怎样才能将扬声器和项目分别作为随机效果?

1 个答案:

答案 0 :(得分:2)

我认为可以通过以下代码使用lme()单独包含两个随机效果(一个用于扬声器,一个用于时间):

x4 <- lme (DV ~ IV1 + IV2 + IV1*IV2, data=a.frame, random=~ speaker + item -1 | id),

id一个更高级别的变量,其中speakeritem都是嵌套的。如果您没有这样的变量,可以将其作为新变量引入,其值为1,用于所有观察。