Estatística Ambiental no R

ANOVA e Teste de Tukey

Isabela Fernanda

2025-04-11

Objetivo da aula

  • Compreender e aplicar ANOVA e Teste de Tukey para comparar médias de tratamentos ambientais.

  • Interpretar resultados estatística e ambientalmente.

Sumário

  1. Introdução teórica
  2. Estrutura da ANOVA
  3. Pressupostos e verificação
  4. Execução da ANOVA no R
  5. Teste de Tukey
  6. Interpretação dos resultados

Introdução teórica

  • A ANOVA é usada para comparar médias de três grupos ou mais;

  • A variabilidade é a dispersão dos valores de um conjunto de dados;

    • Compara a variação entre grupos com a variação dentro dos grupos;

    • As diferenças são significativas ou pelo acaso?

    • Variação natural em estudos ambientais.

  • Erro tipo I é um “falso positivo”. Rejeitar hipótese nula, sendo ela verdadeira. A probabilidade desse erro é o p-valor.

Introdução teórica

  • Testes estatísticos sempre testam duas hipóteses mutualmente exclusivas:

    • Hipótese nula (H0): algo já conhecido;

    • Hipótese alternativa (Ha): o que desejamos provar.

  • P-valor é o norteador para avaliação da hipótese nula;

  • Essa comparação permite determinar a existência de diferenças estatísticas entre os grupos simultaneamente. Ex:

    • Diferentes usos do solo;

    • Práticas de manejo;

    • Perda de solo sob cultivo tradicional e vegetação natural.

Estrutura da ANOVA

  • A ANOVA faz a decomposição da variância total em diferentes fontes de variação, diferentes origens da variabilidade;

  • A soma dos quadrados é a variabilidade total de um conjunto de dados

  • Quadrado médio é uma estimativa de variância, dividindo a variabilidade total em fontes de variação.

    • Quadrado médio dos resíduos: variância do acaso.
  • F value é a estatística que compara a variabilidade entre os grupos com a variabilidade dentro dos grupos.

  • Pr(>F) é a significância, o p-valor, do teste F

Estrutura da ANOVA

Fonte de variação Graus de liberdade Soma dos quadrados Quadrado médio Estatística F p-valor
Entre grupos nº de grupos - 1 SQE SQE/GL F = QME / QMR
Resíduos nº total de observações - nº de grupos SQR SQR/GL
Total nº total de observações - 1 SQT

Estrutura da ANOVA

            Df  Sum Sq  Mean Sq F value   Pr(>F)    
Tratamento   2 0.03982 0.019911   81.45 4.48e-05 ***
Residuals    6 0.00147 0.000244                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Pressupostos e Verificação

  • Normalidade dos resíduos

    • Teste de Shapiro-Wilk

      residuos <- anv$residuals
      summary(anv)
                  Df  Sum Sq  Mean Sq F value   Pr(>F)    
      Tratamento   2 0.03982 0.019911   81.45 4.48e-05 ***
      Residuals    6 0.00147 0.000244                     
      ---
      Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
      shapiro.test(residuos)
      
          Shapiro-Wilk normality test
      
      data:  residuos
      W = 0.96164, p-value = 0.8153

Pressupostos e Verificação

  • Normalidade dos resíduos

    • qqnorm

    • qqline

      qqnorm(residuos)
      qqline(residuos)

Pressupostos e Verificação

  • Homogeneidade de variância

    • Teste de Bartlett

      qmres <- summary(anv)[[1]][2,3]#linha2,coluna3
      qmres
      [1] 0.0002444444
      resipad <- residuos/sqrt(qmres)#resíduo padronizado
      resipad
                  1             2             3             4             5 
       1.279204e+00 -1.279204e+00  1.275963e-15  1.066004e+00 -8.528029e-01 
                  6             7             8             9 
      -2.132007e-01 -1.109533e-16 -6.396021e-01  6.396021e-01 
      bartlett.test(PerdaSolo~Tratamento, data = dados_solo)
      
          Bartlett test of homogeneity of variances
      
      data:  PerdaSolo by Tratamento
      Bartlett's K-squared = 0.73286, df = 2, p-value = 0.6932

Pressupostos e Verificação

  • Homogeneidade de variância

    • Teste de Levene - pacote car

      library(car)
      leveneTest(PerdaSolo~Tratamento, data = dados_solo)
      Levene's Test for Homogeneity of Variance (center = median)
            Df F value Pr(>F)
      group  2   0.375 0.7023
             6               

Pressupostos e Verificação

  • Independência das amostras

    • Plotagem dos resíduos da ANOVA

      plot(residuos)

Pressupostos e Verificação

  • Independência das amostras

    • Plotagem dos resíduos padronizados

      plot(resipad)

Anova no R

  • Função aov

  • A ordem de inserção dos argumentos deve ser:

    • Objeto <- aov(Variável_resposta ~ Variável_independente, data = dados)

    • “Explique a variação na variável resposta com base nas diferenças entre os níveis da variável independente”

      anv <- aov(PerdaSolo ~ Tratamento, data = dados_solo)
      summary(anv)
                  Df  Sum Sq  Mean Sq F value   Pr(>F)    
      Tratamento   2 0.03982 0.019911   81.45 4.48e-05 ***
      Residuals    6 0.00147 0.000244                     
      ---
      Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Teste de Tukey

  • Mostra onde as diferenças apontadas pela ANOVA ocorrem, em quais grupos elas acontecem

  • Comparações par-a-par entre médias

  • Diferentes formas de fazer no R

Teste de Tukey

TukeyHSD - base R

  • Diferenças

  • Intervalo de confiança

  • P-valor ajustado

    TukeyHSD(anv)
      Tukey multiple comparisons of means
        95% family-wise confidence level
    
    Fit: aov(formula = PerdaSolo ~ Tratamento, data = dados_solo)
    
    $Tratamento
                 diff         lwr         upr     p adj
    NS-DP -0.16000000 -0.19916865 -0.12083135 0.0000389
    RP-DP -0.10666667 -0.14583532 -0.06749801 0.0003919
    RP-NS  0.05333333  0.01416468  0.09250199 0.0137597

Teste de Tukey

HSD.test - pacote agricolae

  • Faz o agrupamento por letras

  • Ordem de inserção dos argumentos:

    • objeto <- HSD.test(modelo, “fator a comparar”, group = TRUE)
    library(agricolae)
    TukeyLetras <- HSD.test(anv,"Tratamento",group=TRUE)
    TukeyLetras
    $statistics
           MSerror Df      Mean      CV        MSD
      0.0002444444  6 0.1211111 12.9094 0.03916865
    
    $parameters
       test     name.t ntr StudentizedRange alpha
      Tukey Tratamento   3         4.339195  0.05
    
    $means
       PerdaSolo        std r          se  Min  Max   Q25  Q50   Q75
    DP 0.2100000 0.02000000 3 0.009026709 0.19 0.23 0.200 0.21 0.220
    NS 0.0500000 0.01000000 3 0.009026709 0.04 0.06 0.045 0.05 0.055
    RP 0.1033333 0.01527525 3 0.009026709 0.09 0.12 0.095 0.10 0.110
    
    $comparison
    NULL
    
    $groups
       PerdaSolo groups
    DP 0.2100000      a
    RP 0.1033333      b
    NS 0.0500000      c
    
    attr(,"class")
    [1] "group"

HSD.test - Saídas

Estatísticas gerais do teste de Tukey (HSD.test)
MSerror Df Mean CV MSD
0.0002444 6 0.1211111 12.9094 0.0391687
  • MSerros: variância residual da ANOVA

  • Df: graus de liberdade do erro

  • Mean: média geral de todos os tratamento

  • CV: coeficiente de variação, precisão experimental

  • MSD: diferença mínima significativa entre média

HSD.test - Saídas

Parâmetros utilizados no teste de Tukey (HSD.test)
test name.t ntr StudentizedRange alpha
Tukey Tratamento 3 4.339195 0.05
  • ntr: número de tratamentos comparados

  • StudentizedRange: valor crítico da distribuição “q” de Tukey, usada no MSD

  • alpha: nível de significância adotado

HSD.test - Saídas

Médias e estatísticas por tratamento (HSD.test)
PerdaSolo std r se Min Max Q25 Q50 Q75
DP 0.2100000 0.0200000 3 0.0090267 0.19 0.23 0.200 0.21 0.220
NS 0.0500000 0.0100000 3 0.0090267 0.04 0.06 0.045 0.05 0.055
RP 0.1033333 0.0152753 3 0.0090267 0.09 0.12 0.095 0.10 0.110
  • PerdaSolo: média de cada tratamento

  • std: desvio padrão das observações

  • r: número de repetições por tratamento

  • se: erro padrão da média

  • Min/Max: valores mínimo e máximo observados

  • Q25, Q50, Q75: quartis (25%, mediana e 75%).

HSD.test - Saídas

Grupos de médias – letras iguais indicam ausência de diferença significativa
PerdaSolo groups
DP 0.2100000 a
RP 0.1033333 b
NS 0.0500000 c
  • PerdaSolo: Média do tratamento

  • groups: letras de agrupamento

    • mesma letra: sem diferença estatística

    • letras diferentes: diferem significativamente

Resultados

            Df  Sum Sq  Mean Sq F value   Pr(>F)    
Tratamento   2 0.03982 0.019911   81.45 4.48e-05 ***
Residuals    6 0.00147 0.000244                     
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Existe diferença entre os tipos de tratamento?

Resultados


    Shapiro-Wilk normality test

data:  residuos
W = 0.96164, p-value = 0.8153

A suposição de normalidade dos resíduos da ANOVA foi atendida?

Resultados


    Bartlett test of homogeneity of variances

data:  PerdaSolo by Tratamento
Bartlett's K-squared = 0.73286, df = 2, p-value = 0.6932

A suposição de homogeneidade da variância foi atendida?

Resultados

A suposição de independência das amostras foi atendida? A ANOVA é válida?

Resultados

  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = PerdaSolo ~ Tratamento, data = dados_solo)

$Tratamento
             diff         lwr         upr     p adj
NS-DP -0.16000000 -0.19916865 -0.12083135 0.0000389
RP-DP -0.10666667 -0.14583532 -0.06749801 0.0003919
RP-NS  0.05333333  0.01416468  0.09250199 0.0137597

Qual (is) tratamento(s) se difere(m)?