18 Análise de Covariância

Vejamos agora a análise de covariância do exemplo da apostila do curso. Clique aqui para ver e copiar o arquivo com conjunto de dados para sua área de trabalho.

Começamos com a leitura e organização dos dados. Note que neste caso temos 2 variáveis numéricas, a resposta ( resp) e a covariável (cov).

> ex12 <- read.table("exemplo12.txt", header=T)
> ex12

> dim(ex12)
[1] 15  3
> names(ex12)
[1] "maq"  "cov"  "resp"
> 
> ex12$maq <- as.factor(ex12$maq)
> is.numeric(ex12$cov)
[1] TRUE
> is.numeric(ex12$resp)
[1] TRUE
> 
> summary(ex12)
 maq        cov             resp     
 1:5   Min.   :15.00   Min.   :32.0  
 2:5   1st Qu.:21.50   1st Qu.:36.5  
 3:5   Median :24.00   Median :40.0  
       Mean   :24.13   Mean   :40.2  
       3rd Qu.:27.00   3rd Qu.:43.0  
       Max.   :32.00   Max.   :49.0

Na análise de covariância os testes de significância tem que ser obtidos em ajustes separados. Isto é porque não temos ortogonalidade entre os fatores.

Primeiro vamos testar o intercepto (coeficiente $\beta$) da reta de regressão. Na análise de variância abaixo devemos considerar apenas o teste referente à variável cov que neste caso está corrigida para o efeito de maq. Note que para isto a variável cov tem que ser a última na especificação do modelo.

> ex12.av <- aov(resp ~ maq + cov, data=ex12)
> summary(ex12.av)
            Df  Sum Sq Mean Sq F value    Pr(>F)    
maq          2 140.400  70.200  27.593 5.170e-05 ***
cov          1 178.014 178.014  69.969 4.264e-06 ***
Residuals   11  27.986   2.544                      
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1

A seguir testamos o efeito do fator maq corrigindo para o efeito da covariável. Para isto basta inverter a ordem dos termos na especificação do modelo.

> ex12.av <- aov(resp ~ cov + maq, data=ex12)
> summary(ex12.av)
            Df  Sum Sq Mean Sq  F value   Pr(>F)    
cov          1 305.130 305.130 119.9330 2.96e-07 ***
maq          2  13.284   6.642   2.6106   0.1181    
Residuals   11  27.986   2.544                      
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Paulo Justiniano Ribeiro Jr