Após ajustar o modelo devemos proceder a análise dos resíduos para verificar os pressupostos. O R produz automaticamente 4 gráficos básicos de resíduos conforme a Figura 2 com o comando plot.
> par(mfrow=c(2,2)) > plot(ex04.av)
Os gráficos permitem uma análise dos resíduos que auxiliam no julgamento da adequacidade do modelo. Evidentemente você não precisa se limitar aos gráficos produzidos automaticamente pelo R - você pode criar os seus próprios gráficos muito facilmente. Neste gráficos você pode usar outras variáveis, mudar texto de eixos e títulos, etc, etc, etc. Examine os comandos abaixo e os gráficos por eles produzidos.
> par(mfrow=c(2,1)) > residuos <- resid(ex04.av) > plot(ex04$rec, residuos) > title("Resíduos vs Recipientes") > plot(ex04$esp, residuos) > title("Resíduos vs Espécies") > par(mfrow=c(2,2)) > preditos <- (ex04.av$fitted.values) > plot(residuos, preditos) > title("Resíduos vs Preditos") > s2 <- sum(resid(ex04.av)^2)/ex04.av$df.res > respad <- residuos/sqrt(s2) > boxplot(respad) > title("Resíduos Padronizados") > qqnorm(residuos,ylab="Residuos", main=NULL) > qqline(residuos) > title("Grafico Normal de \n Probabilidade dos Resíduos")
Além disto há alguns testes já programados. Como exemplo vejamos e teste de Shapiro-Wilk para testar a normalidade dos resíduos.
> shapiro.test(residuos) Shapiro-Wilk normality test data: residuos W = 0.9293, p-value = 0.09402
Desdobrando interações
Conforme visto na apostila do curso, quando a interação entre os
fatores é significativa podemos desdobrar os graus de liberdade de um
fator dentro de cada nível do outro.
A forma de fazer isto no R é reajustar o modelo utilizando
a notação /
que indica efeitos aninhados.
Desta forma podemos desdobrar os efeitos de espécie dentro de cada
recipiente e vice-versa conforme mostrado a seguir.
> ex04.avr <- aov(resp ~ rec/esp) > summary(ex04.avr, split=list("rec:esp"=list(r1=1, r2=2, r3=3))) Df Sum Sq Mean Sq F value Pr(>F) rec 2 92.861 46.430 36.1952 4.924e-07 *** rec:esp 3 82.842 27.614 21.5269 3.509e-06 *** rec:esp: r1 1 0.211 0.211 0.1647 0.6897 rec:esp: r2 1 79.380 79.380 61.8813 3.112e-07 *** rec:esp: r3 1 3.251 3.251 2.5345 0.1288 Residuals 18 23.090 1.283 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 > ex04.ave <- aov(resp ~ esp/rec) > summary(ex04.ave, split=list("esp:rec"=list(e1=c(1,3), e2=c(2,4)))) Df Sum Sq Mean Sq F value Pr(>F) esp 1 19.082 19.082 14.875 0.001155 ** esp:rec 4 156.622 39.155 30.524 8.438e-08 *** esp:rec: e1 2 87.122 43.561 33.958 7.776e-07 *** esp:rec: e2 2 69.500 34.750 27.090 3.730e-06 *** Residuals 18 23.090 1.283 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
ADILSON DOS ANJOS 2005-11-07