A notação para indicar efeitos aninhados no modelo é /
.
Desta forma poderíamos ajustar o modelo da seguinte forma:
> ex06.av <- aov(resp ~ forn/lot, data=ex06) > summary(ex06.av) Df Sum Sq Mean Sq F value Pr(>F) forn 2 15.056 7.528 2.8526 0.07736 . forn:lot 9 69.917 7.769 2.9439 0.01667 * Residuals 24 63.333 2.639 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Confira os graus de liberdade das causas de variação. Eles estão corretos?
Embora os elementos do quadro de análise de variância estejam corretos o teste F para efeito dos fornecedores está ERRADO.
A análise acima considerou todos os efeitos como fixos e portanto dividiu os quadrados médios dos efeitos pelo quadrado médio do resíduo.
Como lotes é um efeito aleatório deveríamos dividir o quadrado médio de to termo lot pelo quadrado médio de forn:lot. Veja nas notas de aula o quadro com as esperanças dos quadrados médios dos efeitos para este modelo.
Uma forma de indicar a estrutura hierárquica ao R é especificar o modelo de forma que o termo de resíduo seja dividido de maneira adequada. Veja o resultado abaixo.
> ex06.av1 <- aov(resp ~ forn/lot + Error(forn) , data=ex06) > summary(ex06.av1) Error: forn Df Sum Sq Mean Sq forn 2 15.0556 7.5278 Error: Within Df Sum Sq Mean Sq F value Pr(>F) forn:lot 9 69.917 7.769 2.9439 0.01667 * Residuals 24 63.333 2.639 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
Agora o teste F errado não é mais mostrado, mas o teste correto também não foi feito!
Isto não é problema porque podemos extrair os elementos que nos interessam e fazer o teste desejado.
Primeiro verificamos que o comando anova produz uma lista que tem entre seus elementos os graus de liberdade Df e os quadrados médios (Mean Sq. A partir destes elementos podemos obter o valor da estatística F e o valor P associado.
> ex06.anova <- anova(ex06.av) > is.list(ex06.anova) [1] TRUE > names(ex06.anova) [1] "Df" "Sum Sq" "Mean Sq" "F value" "Pr(>F)" > ex06.anova$Df 1 2 2 9 24 > ex06.anova$Mean 1 2 7.527778 7.768519 2.638889 > Fcalc <- ex06.anova$Mean[1]/ex06.anova$Mean[2] > Fcalc 1 0.9690107 > pvalor <- 1 - pf(Fcalc, ex06.anova$Df[1], ex06.anova$Df[2]) > pvalor 1 0.4157831