可能很简单。
我有固定效果和随机效果的数据,我想将混合效果模型拟合为:
set.seed(1)
df <- data.frame(group = c(rep("A",40),rep("B",40)),
treatment = rep(c(rep("T",20),rep("CT",20)),2),
class = c(rep("AT1",10),rep("ACT1",10),rep("AT2",10),rep("ACT2",10),rep("BT1",10),rep("BCT1",10),rep("BT2",10),rep("BCT2",10)),
value = rnorm(80),
stringsAsFactors = F)
df$group <- factor(df$group, levels = c("A","B"))
df$treatment <- factor(df$treatment, levels = c("CT","T"))
固定效果为group
和treatment
,随机效果为class
,据我所知,它们嵌套在group
和treatment
组合中。
我要拟合的模型是:
value ~ group*treatment
如果进行group:treatment
交互,则感兴趣的地方。
当然,我想将class
视为一种随机效应,但是我似乎找不到它的语法。我试过了:
(1|group*treatment/class)
和(1|group:treatment/class)
,但都给出错误。
在group:treatment
中定义df
列:
df <- df %>% dplyr::mutate(group_treatment = paste0(group,"_",treatment))
合适:
fit <- lmer(value ~ group*treatment + (1|group_treatment/class), data = df)
似乎可行,但是我想知道这是否是唯一的方法,或者对于这种随机效果嵌套的情况是否存在更明确的语法。
有什么主意吗?