Вероятно, легкий.
У меня есть данные с фиксированными и случайными эффектами, которые я бы хотел совместить с моделью смешанных эффектов:
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)
Кажется, это работает, но мне интересно, если это единственный способ или есть более явный синтаксис для таких случаев случайного вложения эффекта.
Есть идеи?