1

大概是一件容易的事。

我有具有固定和随机效应的数据,我想将混合效应模型拟合到:

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"))

固定效果是groupandtreatment而随机效果是class,据我了解,它嵌套在groupandtreatment组合中。

我要拟合的模型是:

value ~ group*treatment

如果group:treatment交互感兴趣的效果在哪里。当然,我想将其class视为随机效应,但我似乎无法找到它的语法。我试过了: (1|group*treatment/class)(1|group:treatment/class)都给出了错误。

在 中定义一group:treatmentdf

df <- df %>% dplyr::mutate(group_treatment = paste0(group,"_",treatment))

和拟合:

fit <- lmer(value ~ group*treatment + (1|group_treatment/class), data = df)

似乎确实有效,但我想知道这是否是唯一的方法,或者对于这种随机效果嵌套的情况是否有更明确的语法。

任何想法?

4

0 回答 0