Como realizar comparações post-hoc aos pares em r
Uma ANOVA unidirecional é usada para determinar se há ou não uma diferença estatisticamente significativa entre as médias de três ou mais grupos independentes.
Uma ANOVA unidirecional usa as seguintes hipóteses nulas e alternativas:
- H 0 : Todas as médias do grupo são iguais.
- HA : Nem todas as médias dos grupos são iguais.
Se o valor p geral da ANOVA estiver abaixo de um certo nível de significância (por exemplo, α = 0,05), então rejeitamos a hipótese nula e concluímos que todas as médias do grupo não são iguais.
Para descobrir quais médias de grupo são diferentes, podemos então realizar comparações post-hoc aos pares .
O exemplo a seguir mostra como realizar as seguintes comparações post-hoc de pares em R:
- O método Tukey
- O método Scheffe
- O método Bonferroni
- O método Holm
Exemplo: ANOVA unidirecional em R
Suponha que um professor queira saber se três técnicas de estudo diferentes levam ou não a resultados diferentes em testes entre os alunos. Para testar isso, ela designa aleatoriamente 10 alunos para usar cada técnica de estudo e registra os resultados dos exames.
Podemos usar o seguinte código em R para realizar uma ANOVA unidirecional para testar as diferenças nas notas médias dos exames entre os três grupos:
#create data frame df <- data.frame(technique = rep(c(" tech1 ", " tech2 ", " tech3 "), each= 10 ), score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89, 81, 82, 83, 83, 83, 84, 87, 90, 92, 93, 77, 78, 79, 88, 89, 90, 91, 95, 95, 98)) #perform one-way ANOVA model <- aov(score ~ technique, data = df) #view output of ANOVA summary(model) Df Sum Sq Mean Sq F value Pr(>F) technical 2 211.5 105.73 3.415 0.0476 * Residuals 27 836.0 30.96 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
O valor p geral da ANOVA (0,0476) é menor que α = 0,05, portanto rejeitaremos a hipótese nula de que a nota média do exame é a mesma para cada técnica de estudo.
Podemos fazer comparações post-hoc aos pares para determinar quais grupos têm médias diferentes.
O método Tukey
É melhor usar o método post hoc de Tukey quando o tamanho da amostra de cada grupo for igual.
Podemos usar a função TukeyHSD() integrada para executar o método post-hoc Tukey em R:
#perform the Tukey post-hoc method TukeyHSD(model, conf. level = .95 ) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = score ~ technique, data = df) $technical diff lwr upr p adj tech2-tech1 4.2 -1.9700112 10.370011 0.2281369 tech3-tech1 6.4 0.2299888 12.570011 0.0409017 tech3-tech2 2.2 -3.9700112 8.370011 0.6547756
Pelo resultado, podemos perceber que o único valor p (“ p adj ”) menor que 0,05 é a diferença entre a técnica e a técnica 3.
Assim, concluiríamos que existe apenas uma diferença estatisticamente significativa nas notas médias dos exames entre os alunos que utilizaram a Técnica 1 e a Técnica 3.
O método Scheffe
O método Scheffe é o método de comparação par a par post-hoc mais conservador e produz os intervalos de confiança mais amplos ao comparar médias de grupos.
Podemos usar a função ScheffeTest() do pacote DescTools para executar o método post-hoc Scheffe em R:
library (DescTools)
#perform the Scheffe post-hoc method
ScheffeTest(model)
Posthoc multiple comparisons of means: Scheffe Test
95% family-wise confidence level
$technical
diff lwr.ci upr.ci pval
tech2-tech1 4.2 -2.24527202 10.645272 0.2582
tech3-tech1 6.4 -0.04527202 12.845272 0.0519 .
tech3-tech2 2.2 -4.24527202 8.645272 0.6803
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1'''156
Pelos resultados podemos perceber que não existem valores de p inferiores a 0,05, portanto concluiríamos que não há diferença estatisticamente significativa nas notas médias dos exames entre os grupos.
O método Bonferroni
É melhor usar o método Bonferroni quando você deseja realizar um conjunto de comparações planejadas aos pares.
Podemos usar a seguinte sintaxe em R para executar o método post hoc de Bonferroni:
#perform the Bonferroni post-hoc method
pairwise. t . test (df$score, df$technique, p. adj = ' bonferroni ')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.309 -
tech3 0.048 1.000
P value adjustment method: bonferroni
Pelo resultado, podemos perceber que o único valor de p menor que 0,05 é a diferença entre a técnica e a técnica 3.
Assim, concluiríamos que existe apenas uma diferença estatisticamente significativa nas notas médias dos exames entre os alunos que utilizaram a Técnica 1 e a Técnica 3.
O método Holm
O método Holm também é usado quando você deseja realizar um conjunto de comparações planejadas de pares de antemão e tende a ter um poder ainda maior do que o método Bonferroni, por isso é frequentemente preferido.
Podemos usar a seguinte sintaxe em R para executar o método post-hoc de Holm:
#perform the Holm post-hoc method
pairwise. t . test (df$score, df$technique, p. adj = ' holm ')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.206 -
tech3 0.048 0.384
P value adjustment method: holm
Pelo resultado, podemos perceber que o único valor de p menor que 0,05 é a diferença entre a técnica e a técnica 3.
Assim, mais uma vez, concluiríamos que existe apenas uma diferença estatisticamente significativa nas notas médias dos exames entre os alunos que utilizaram a Técnica 1 e a Técnica 3.
Recursos adicionais
Os tutoriais a seguir fornecem informações adicionais sobre ANOVA e testes post-hoc:
Como interpretar o valor F e o valor P na ANOVA
O guia completo: como relatar resultados de ANOVA
Tukey vs. Bonferroni vs. Scheffe: Qual teste você deve usar?