Vejamos por exemplo duas formas de usar o Teste de Tukey, a primeira usando uma implementação com a função TukeyHSD e uma segunda fazendo ops cálculos necessários com o R.
Poderíamos simplesmente digitar:
> ex04.tk <- TukeyHSD(ex04.av) > plot(ex04.tk) > ex04.tk
e obter diversos resultados. Entretanto nem todos nos interessam. Como a interação foi significativa na análise deste experimento a comparação dos níveis fatores principais não nos interessa.
Podemos então pedir a função que somente mostre a comparação de médias entre as combinações dos níveis dos fatores.
> ex04.tk <- TukeyHSD(ex04.ave, "esp:rec")
> plot(ex04.tk)
> ex04.tk
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = resp ~ esp/rec)
$"esp:rec"
diff lwr upr
[1,] -0.325 -2.8701851 2.220185
[2,] 0.225 -2.3201851 2.770185
[3,] -6.075 -8.6201851 -3.529815
[4,] -5.600 -8.1451851 -3.054815
[5,] -4.325 -6.8701851 -1.779815
[6,] 0.550 -1.9951851 3.095185
[7,] -5.750 -8.2951851 -3.204815
[8,] -5.275 -7.8201851 -2.729815
[9,] -4.000 -6.5451851 -1.454815
[10,] -6.300 -8.8451851 -3.754815
[11,] -5.825 -8.3701851 -3.279815
[12,] -4.550 -7.0951851 -2.004815
[13,] 0.475 -2.0701851 3.020185
[14,] 1.750 -0.7951851 4.295185
[15,] 1.275 -1.2701851 3.820185
Mas ainda assim temos resultados que não interessam. Mais especificamente estamos intessados nas comparações dos níveis de um fator dentro dos nívies de outro. Por exemplo, vamos fazer as comparações dos recipientes para cada uma das espécies.
Primeiro vamos obter
> s2 <- sum(resid(ex04.av)^2)/ex04.av$df.res
> dt <- qtukey(0.95, 3, 18) * sqrt(s2/4)
> dt
[1] 2.043945
>
> ex04.m
e1 e2
r1 25.650 25.325
r2 25.875 19.575
r3 20.050 21.325
>
> m1 <- ex04.m[,1]
> m1
r1 r2 r3
25.650 25.875 20.050
> m1d <- outer(m1,m1,"-")
> m1d
r1 r2 r3
r1 0.000 -0.225 5.600
r2 0.225 0.000 5.825
r3 -5.600 -5.825 0.000
> m1d <- m1d[lower.tri(m1d)]
> m1d
r2 r3 <NA>
0.225 -5.600 -5.825
>
> m1n <- outer(names(m1),names(m1),paste, sep="-")
> names(m1d) <- m1n[lower.tri(m1n)]
> m1d
r2-r1 r3-r1 r3-r2
0.225 -5.600 -5.825
>
> data.frame(dif = m1d, sig = ifelse(abs(m1d) > dt, "*", "ns"))
dif sig
r2-r1 0.225 ns
r3-r1 -5.600 *
r3-r2 -5.825 *
>
> m2 <- ex04.m[,2]
> m2d <- outer(m2,m2,"-")
> m2d <- m2d[lower.tri(m2d)]
> m2n <- outer(names(m2),names(m2),paste, sep="-")
> names(m2d) <- m2n[lower.tri(m2n)]
> data.frame(dif = m2d, sig = ifelse(abs(m2d) > dt, "*", "ns"))
dif sig
r2-r1 -5.75 *
r3-r1 -4.00 *
r3-r2 1.75 ns
EXERCÍCIO
ADILSON DOS ANJOS 2005-11-07