【问题标题】:How to fit two random effects separately in lme?如何在 lme 中分别拟合两个随机效应?
【发布时间】:2014-02-08 21:11:16
【问题描述】:

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

# 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

你知道这意味着什么吗?以及如何将扬声器和项目分别作为随机效果进行拟合?

【问题讨论】:

  • 使用包 lme4。它为您定义模型的随机部分提供了更大的灵活性。
  • 但是我不能直接从那个包中获取 p 值,因为我正在使用新版本的 R,可以吗?我以前试过那个包,我不能使用“pval”功能。 / 这个包很方便,因为它直接给了我 p 值。 / 我试过这些公式:
  • x
  • 如果您将lme4lmerTest 包一起使用,您可以指定模型获得所需的p值(通过Satterthwaite或Kenward-Roger近似)。 lme 无论如何都不会为您提供正确 p 值的可能性相当大...
  • 感谢本·博尔克。现在看来我不必再使用 lmerTest 了,因为我在 LMM 之后使用 lsmeans 进行了成对比较,这直接给了我 p 值。

标签: r random nlme


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多