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