我正在尝试设置GLMM但是在使用glmer
在R中表达层次结构数据结构时遇到问题。我的数据具有以下结构:
y (dependent variable);
visit (L1: nested independent variable);
year (L2: nested independent variable);
site (L3: independent variable);
其中visit
嵌套在year
内,嵌套在site
内(即每年最多可访问5次,其中可能有长达10年的数据,每个网站)。
我对year
对y
的影响感兴趣,同时也希望将site
视为随机效果(即截距和斜率[年]因网站而异) 。
我使用了以下命令:
model <- glmer(y ~ year + (year | site) + (visit|year),
family=poisson, data=data)
我是否正确表达了模型?
答案 0 :(得分:2)
我想我会推荐
model <- glmer(y ~ year +
(1+year | site) +
(1|visit:site:year),
family=poisson, data=data)
我建议您将年视为数字(连续)变量;否则(year|site)
项将尝试估算每年的现场差异,以及年度协方差(可能会失败)。在这个模型中,
year
指定相对于年份的整体固定线性趋势; 1+year|site
指定站点之间的拦截变化(即总体计数),以及站点之间相对于年份的斜率变化以及斜率 - 截距相关性; 1|visit:site:year
给出观察级随机效应,允许过度离散。还有其他可能的方法来对此进行分割(您可以考虑一个(1|year)
术语,该术语考虑到与年份相关的线性趋势的整体,跨站点变化。
一般情况下,我会谨慎使用(var|grp)
var
分类的术语,因为如果var
超过2或3级,它们会导致估算相当复杂的模型...