我正在尝试建立一个具有嵌套随机效应和随机系数的模型,用于lmer()
在 R 中使用的交互项。
从下面创建的数据中可以看出,我有一个二进制响应和两个解释变量。时间是连续的,二进制是一个因素。这些数据取自三个研究区(CO、UT、MT)的 6 个人(AAA:FFF)。因为个体只出现在一个 StudyArea,IndID 嵌套在 StudyArea 中。
#Make data
Response <- as.factor(round(runif(150, 0, 1)))
Time <- round(runif(150, 2,50))
Binary <- round(runif(150, 0, 1))
IndID <- as.factor(rep(c("AAA", "BBB", "CCC", "DDD", "EEE", "FFF"),25))
StudyArea <- as.factor(rep(c("CO", "UT", "MT"),50))
Data <- data.frame(Response, Time, Binary, IndID, StudyArea)
head(Data)
> head(Data)
Response Time Binary IndID StudyArea
1 0 44 1 AAA CO
2 1 16 0 BBB UT
3 1 43 0 CCC MT
4 0 13 1 DDD CO
5 0 34 1 EEE UT
6 1 10 1 FFF MT
因为我想考虑 IndID 和 StudyArea 之间的差异,所以我将这两个术语都包含为随机效应,并在下面的模型中调整了截距。
require(lme4)
lmer1 <- lmer(Response ~ Time + Binary + (1|StudyArea) + (1|IndID), data=Data, family=binomial)
summary(lmer1)
可以说,在 GLM 结构中,时间和 StudyArea(即(Time*StudyArea))之间的相互作用是一个重要的术语。因此,除了对截距进行调整外,我还需要对斜率进行调整,以说明作为 StudyArea 函数的时间差异。
虽然我在 Bates 的书 ( http://lme4.r-forge.r-project.org/book/Ch4.pdf ) 和其他添加随机系数的帖子中看到了许多示例,但我没有看到 rand coef 为交互项。
根据我从其他帖子中收集到的信息,模型结构应该类似于下面的模型,但我期待其他人的反馈和建议。此代码将适合模型,尽管我不确定它在理论上是否正确
lmer2 <- lmer(Response ~ Time + Binary + (0+Time|StudyArea) + (1|StudyArea) + (1|IndID), data=Data, family=binomial)
注意:这些是虚构的数据,结果/p 值显然没有意义。
提前致谢。