如果我的随机效果嵌套在另一个随机效果下,则为 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").
我正在尝试为我在 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").