Я думаю, что geeglm для пакета geepack может сделать это. Насколько я понимаю, обобщенные оценочные уравнения - это то же самое, что и маргинальные модели. Синтаксис geeglm похож на glm, и если вы используете семейство гауссов, вы получите результат, аналогичный стандартной маргинальной модели. Я уверен, что есть и другие способы, но это должно сработать.
edit: Вот пример, который вы можете использовать, регрессия эмоций на две переменные, состояние и личность, и их взаимодействие. Условие рассматривается как фактор, а ошибки группируются по идентификатору. Семейство по умолчанию для geeglm - gaussian / Normal, поэтому нам не нужно это указывать.
> library(geepack)
> dat <- data.frame(id = c(1, 1, 2, 2, 3, 3, 4, 4),
+ condition = factor(c(1, 2, 1, 2, 1, 2, 1, 2)),
+ personality = c(2.5, 2.5, 4.0, 4.0, 3.3, 3.3, 4.2, 4.2),
+ emotion = c(5.0, 4.9, 2.6, 2.3, 4.3, 2.9, 1.0, 1.0))
>
> my_mod <- geeglm(emotion ~ condition*personality, data = dat, id = id)
> summary(my_mod)
Call:
geeglm(formula = emotion ~ condition * personality, data = dat,
id = id)
Coefficients:
Estimate Std.err Wald Pr(>|W|)
(Intercept) 10.815 1.296 69.68 < 2e-16 ***
condition2 -0.902 1.284 0.49 0.48
personality -2.169 0.385 31.77 1.7e-08 ***
condition2:personality 0.129 0.322 0.16 0.69
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Estimated Scale Parameters:
Estimate Std.err
(Intercept) 0.223 0.0427
Correlation: Structure = independenceNumber of clusters: 4 Maximum cluster size: 2