我正在使用二项式GLMM来检查一段时间内某个站点上个人的存在(#小时/天)之间的关系。由于每天都会对几个人进行测量,因此我对个人ID进行了随机拦截。
例如
presence <- cbind(hours, 24-hours)
glmer(presence ~ time + (1 | ID), family = binomial)
我也希望将ID用作随机斜率,但是我不知道如何将其添加到模型中。我尝试了以下两种不同的方法,但是我不确定哪种方法正确。
glmer(presence ~ time + (1 + ID), family = binomial)
Error: No random effects terms specified in formula
glmer(presence ~ time + (1 + ID | ID), family = binomial)
Error: number of observations (=1639) < number of random effects (=5476) for term (1 + ID | ID); the random-effects parameters are probably unidentifiable
答案 0 :(得分:1)
您不能为ID
设置随机斜率,而不能将ID
作为(二级)分组变量(有关详细信息,请参见此文档:https://cran.r-project.org/web/packages/lme4/lme4.pdf)。
分组变量在以下模型中为ID
,用作指定随机效果的变量。 model_1
给出ID
变量的随机截距。 model_2
给出time
变量的随机截距和随机斜率。换句话说,model_1
允许presence
和time
之间的关系的截距随ID
变化(斜率保持相同),而model_2
允许使得截距和斜率都随ID
的变化而变化,因此presence
和time
之间的关系(即斜率)对于每个人(ID
)。
model_1 = glmer(presence ~ time + (1 | ID), family = binomial)
model_2 = glmer(presence ~ time + (1 + time | ID), family = binomial)
我还建议:
Snijders,T.A. B.和Bosker,R.J.(2012)。多级分析:基本和高级多级建模简介(第二版):Sage。