如果我的随机效果嵌套在另一个随机效果下,则为 R 代码

R code if my random effect is nested under another random effect

我正在尝试为我在 R 中的学习做混合线性模型。我想知道我的代码是否正确。 我的设计 - 我有 5 个站点,每个站点内有 2 个子站点,每个站点内有 2 个永久方块。 所以我有 5 个站点、10 个子站点和 20 个样方。我测量了所有样方的(珊瑚)菌落大小。 我的问题是大小结构是否因站点而异? 在我的数据中,样方嵌套在子站点中,子站点嵌套在站点中。 我将使用站点作为我的固定因素,使用子站点和样方作为我的随机效应。 我可以想到两种可能的方法:

library(lme4)

选项 1 lmer(size ~ site + (1|subsite) + (1|quadrat)

选项 2 lmer(size ~ site + (1|site:subsite) + (1|subsite:quadrant)

使用其中哪一个是正确的?

谢谢

这在一定程度上取决于您的子站点和样方的编码方式。让我们考虑两种方案。

显式嵌套:这意味着站点内的子站点和子站点内的样方没有唯一的名称,例如

site subsite quadrat
A    a       1
A    a       2
A    b       1
A    b       2
B    a       1
B    a       2
... etc.

在这种情况下,您必须使用interaction/nesting语法让 R 知道站点 A 中的样方 1,子站点 a 与所有其他样方没有任何共同之处标有“1”的样方...

size ~ site + (1|site:subsite) + (1|site:subsite:quadrat)

(size ~ site + (1|site:(subsite/quadrat)) 可能可行,但我还没有测试过)

隐式嵌套:在这种情况下,所有内容都是唯一命名的。

site subsite quadrat
A    Aa      Aa1
A    Aa      Aa2
A    Ab      Ab1
A    Ab      Ab2
B    Ba      Ba1
B    Ba      Ba2
... etc.

在这种情况下,您可以使用 上面的语法(R 自动删除冗余级别)或

size ~ site + (1|subsite) + (1|quadrat)

你应该得到相同的结果。 (你总是可以通过实验来测试这个!)

其他几点:

  • 总的来说,我推荐独特的 labels/implicit 嵌套(显式嵌套可能更方便人们根据现场笔记收集数据,但您应该在数据清理过程的早期转换为隐式嵌套),因为它稍微减少了错误几率
  • 我总是建议将 data 参数与 lme4
  • 一起使用
  • 如果您不关心量化站点内的变化,并且您的设计是平衡的,并且您的数据是正常的(即您使用的是 lmer 而不是 glmer),那么您可以通过简单地汇总每个站点的平均值和 运行 单向方差分析 大大 简化您的生活(参见 Murtaugh 2007,Ecology, "Simplicity and complexity in ecological data analysis").