Чтобы ответить на конкретный вопрос, посмотрите на сводные результаты:
> summary(Doc_lm_1)
... several lines skipped ...
Residual standard error: 8.267 on 25 degrees of freedom
Multiple R-squared: 0.134, Adjusted R-squared: 0.03011
F-statistic: 1.29 on 3 and 25 DF, p-value: 0.2997
... из которых мы можем сказать, что остаточное SD из модели - 8,267.Кроме того, нам нужно количество наблюдений на каждом уровне фактора:
> with(pigs, tapply(conc, percent, length))
9 12 15 18
8 9 7 5
Поскольку SE среднего значения представляет собой SD, деленное на квадратный корень из размера выборки, рассчитайте:
> 8.267 / sqrt(c(8,9,7,5))
[1] 2.922826 2.755667 3.124632 3.697115
И вот, они соответствуют SE, показанным в выводе emmeans()
.Как указано в вопросе, emmeans()
использует модель , и показанная модель основана на предположении, что все четыре образца имеют одинаковое SD, и оценка этого общего SD составляет 8,267 с 25 градусами.свободы.Ручные расчеты, основанные на одной выборке за раз, используют отдельные SD, и это модель, отличная от той, которая была передана emmeans()
;вот почему результаты разные.
Что касается общего вопроса о том, как emmeans()
вычисляет SE, в нем не используются формулы ручного расчета.Он использует тот факт, что EMM являются линейными комбинациями коэффициентов регрессии.Он выясняет, какие комбинации необходимы, затем использует матричные вычисления, включающие коэффициенты регрессии из coef()
, и матрицу дисперсии-ковариации этих коэффициентов vcov()
, чтобы получить EMM и их стандартные ошибки.Для моделей, включающих более одного фактора, случайные эффекты и т. Д., Эти расчеты практически невозможно воспроизвести вручную.