大概是一件容易的事。
我有具有固定和随机效应的数据,我想将混合效应模型拟合到:
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
andtreatment
而随机效果是class
,据我了解,它嵌套在group
andtreatment
组合中。
我要拟合的模型是:
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)
似乎确实有效,但我想知道这是否是唯一的方法,或者对于这种随机效果嵌套的情况是否有更明确的语法。
任何想法?