AULA 02: MANOVA em R

ANOVA em R

  • A ANOVA unidimensional é realizada em R por meio da função anova().

  • A função anova() tem como argumento um modelo linear que descreva sua variável dependente como função das independentes. A construção desse modelo é feita com a função lm()

modelo = lm(Y ~ X1 + X2 + X3)

anova(modelo)
  • A ANOVA é unidimensional em relação às variáveis dependentes (Y).

  • Na ANOVA, a variável independente é um fator (não-contínua).

Exemplo de ANOVA em R

  • Usaremos o banco de dados nativo do R denominado PlantGrowth.

  • PlantGrowth contém 30 observações da massa seca de determinada planta (coluna weight) sob o efeito de diferentes tratamentos.

  • A identificação de cada tipo de tratamento é realizada na coluna group.

##   weight group
## 1   4.17  ctrl
## 2   5.58  ctrl
## 3   5.18  ctrl
## 4   6.11  ctrl

Exemplo de ANOVA em R

  • A construção do modelo linear é feita conforme código a seguir.
modelo = lm(PlantGrowth$weight ~ PlantGrowth$group)
  • O simbolo $ permite acessar os dados de cada coluna através de seu nome:
[dados da coluna] = [nome do conjunto de dados]$[nome da coluna]

  • Nos argumentos da função lm(), à esquerda do ~ se adiciona o conjunto de dados da variável dependente, e à direita os dados da variável independente.

Exemplo de ANOVA em R

anova(modelo)
## Analysis of Variance Table
## 
## Response: PlantGrowth$weight
##                   Df  Sum Sq Mean Sq F value  Pr(>F)  
## PlantGrowth$group  2  3.7663  1.8832  4.8461 0.01591 *
## Residuals         27 10.4921  0.3886                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
  • A tabela clássica da ANOVA é apresentada. A qual, dado o p-valor, informa que há diferença entre a eficiência de ao menos um tipo de tratamento em relação aos demais.

ANCOVA em R

  • Para suplantar a restrição da ANOVA quanto ao uso de fatores para as variáveis independentes, usa-se a técnica denominada ANCOVA (Análise de covariância).

  • Em termos de programação, utiliza-se a função anova() da mesma forma.

  • Usemos como exemplo o banco de dados iris, o qual contém dados de tamanho comprimento e largura de pétalas e sépalas de diferentes espécies de flores.

ANCOVA em R

modelo = lm(iris$Sepal.Length ~ iris$Species + iris$Petal.Length)

anova(modelo)
## Analysis of Variance Table
## 
## Response: iris$Sepal.Length
##                    Df Sum Sq Mean Sq F value    Pr(>F)    
## iris$Species        2 63.212 31.6061  276.62 < 2.2e-16 ***
## iris$Petal.Length   1 22.275 22.2745  194.95 < 2.2e-16 ***
## Residuals         146 16.682  0.1143                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Resumo das técnicas unidimensionais

Resumo das técnicas unidimensionais

MANOVA

  • Na análise multivariada de variância (MANOVA), mais de uma variável dependente é avaliada simultaneamente.

MANOVA

  • Em R, a MANOVA é realizada pela função manova(). Os Argumentos são uma matrix contendo as variáveis dependentes, e o dados das variáveis independentes organizadas na forma de um modelo linear.
Y = cbind(y1, y2, y3)  # Geração da matriz das variáveis dependentes

manova(lm(Y ~ x1 + x2 + x3))
  • Para ilustar o uso da MANOVA, utilizaremos os dados water do pacote HSAUR.
library(HSAUR)
data("water", package = "HSAUR")

MANOVA

head(water)
##   location       town mortality hardness
## 1    South       Bath      1247      105
## 2    North Birkenhead      1668       17
## 3    South Birmingham      1466        5
## 4    North  Blackburn      1800       14
## 5    North  Blackpool      1609       18
## 6    North     Bolton      1558       10

MANOVA

  • O conjunto de dados water apresenta a dureza da água e mortalidade anual média de habitantes de diferentes cidades dos EUA, sendo-as categorizadas em North ou South pela variável location.

  • Queremos verificar se a localização das cidades é fator influente na dureza da água e em sua mortalidade, considerando simultaneamente a correlação entre as variáveis dependentes.

  • A hipótese nula, neste caso, é que, independente da localização, as médias de mortalidade e dureza da água são equivalentes.

MANOVA

  • Diferentes teste podem ser aplicados, dentre os quais estão disponíveis o Pillai, Wilks, Hotelling-Lawley e Roy.
mnv = manova(cbind(hardness, mortality) ~ location, data = water)

summary(mnv, test = "Hotelling-Lawley")
##           Df Hotelling-Lawley approx F num Df den Df    Pr(>F)    
## location   1          0.90021   26.106      2     58 8.217e-09 ***
## Residuals 59                                                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1