在R中构建含嵌套随机效应的GLMM:语法正确性咨询
GLMM嵌套随机效应:用
/ 而非 : 你的数据是genotype完全嵌套在origin中(3个origin各对应8个唯一的genotype),这种情况必须用(1|origin/genotype)来设定随机效应,原因如下:
两种符号的实际作用
origin/genotype:这是origin + origin:genotype的简写,会同时拟合两个随机效应分量:- 不同origin之间的随机截距(
(1|origin)) - 每个origin内部,不同genotype之间的随机截距(
(1|origin:genotype))
完全匹配你的嵌套结构需求,能完整捕捉origin组间和组内genotype的变异。
- 不同origin之间的随机截距(
origin:genotype:单独使用时,只会拟合origin与genotype的交互项作为随机效应,不会单独考虑origin水平本身的变异。对于你的嵌套数据来说,这会遗漏重要的变异来源,模型设定不完整。
修正后的示例代码
注意变量名规范(如果固定效应名称带空格,需要用反引号包裹,建议直接改成无空格命名比如fixed_A):
glmmTMB(data = data, response ~ fixed_A + fixed_B + origin + (1|origin/genotype), family = binomial)
内容的提问来源于stack exchange,提问作者Miiiii
相关产品推荐
相关产品推荐

