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