Якщо ви хочете дотримуватися aov()
функції, ви можете використовувати emmeans
пакет, який може обробляти aovlist
(і багато інших ) об'єкти.
library("emmeans")
# set orthogonal contrasts
options(contrasts = c("contr.sum", "contr.poly"))
aov_velocity <- aov(Velocity ~ Material + Error(Subject / Material), data = scrd)
Після створення emmGrid
об’єкта наступним чином
emm <- emmeans(aov_velocity, ~ Material)
дуже легко отримати всі (post hoc) попарні порівняння за допомогою pairs()
функції або будь-якого бажаного контрасту за допомогою contrast()
функції emmeans
пакету. Параметри кількох тестувань можна досягти за допомогою adjust
аргументу цих функцій:
pairs(emm) # adjust argument not specified -> default p-value adjustment in this case is "tukey"
Для отримання додаткової інформації про це я знайшов детальні віньєтки emmeans та документацію дуже корисними.
Крім того, ви можете знайти повний (відтворюваний) приклад, включаючи опис, як отримати правильні контрастні ваги у моїй відповіді тут .
Однак зауважте, що використання уніваріантної моделі для пост-хок-тестів може призвести до антиконсервативних p- значень, якщо сферичність порушена.