Se você deseja manter a aov()
função, pode usar o emmeans
pacote que pode manipular aovlist
(e muitos outros ) objetos.
library("emmeans")
# set orthogonal contrasts
options(contrasts = c("contr.sum", "contr.poly"))
aov_velocity <- aov(Velocity ~ Material + Error(Subject / Material), data = scrd)
Depois de criar um emmGrid
objeto da seguinte maneira
emm <- emmeans(aov_velocity, ~ Material)
é muito fácil obter todas as comparações (post hoc) aos pares usando a pairs()
função ou qualquer contraste desejado usando a contrast()
função do emmeans
pacote. Ajustes de teste múltiplo podem ser alcançados através do adjust
argumento destas funções:
pairs(emm) # adjust argument not specified -> default p-value adjustment in this case is "tukey"
Para obter mais informações, achei as vinhetas emmeans detalhadas e a documentação muito úteis.
Além disso, você pode encontrar um exemplo completo (reproduzível), incluindo uma descrição de como obter os pesos de contraste corretos na minha resposta aqui .
Observe, no entanto, que o uso de um modelo univariado para os testes post hoc pode resultar em valores p anti-conservadores se a esfericidade for violada.