# Boa noite! Novamente venho recorrer a lista para tirar duvidas sobre desdobramento na ANOVA.
# Tenho resultados de materia seca de eucalipto de um experimento em arranjo fatorial triplo (solo; nc; np) com # UE ditribuidas em DBC.
# Dados estão no: http://www.datafilehost.com/d/32efcd4b
# Gostaria de corrigir os valores do Fcal no desdobramento das interações duplas solo:nc.
# Na anova geral (avi) o GL e SQ do residuo são obtidos normalmente:

avi<-aov(mspa~bloco + trat, data=a1)
anova(avi)


Response: mspa Df Sum Sq Mean Sq F value Pr(>F) bloco 2 2 0.993 0.1636 0.8493 trat 59 4963 84.119 13.8640 <2e-16 *** Residuals 118 716 6.067

#refiz no excel e os resultados batem


av1<-aov(mspa~bloco + solo*nc*np, data=a1) # com mais detalhes
anova(av1)

Response: mspa Df Sum Sq Mean Sq F value Pr(>F) bloco 2 1.99 0.99 0.1636 0.84927 solo 5 1987.74 397.55 65.5217 < 2.2e-16 *** nc 1 0.75 0.75 0.1232 0.72621 np 4 2350.35 587.59 96.8431 < 2.2e-16 *** solo:nc 5 95.86 19.17 3.1599 0.01031 * solo:np 20 395.63 19.78 3.2603 3.261e-05 *** nc:np 4 10.54 2.64 0.4345 0.78348 solo:nc:np 20 122.12 6.11 1.0064 0.46028 Residuals 118 715.95 6.07

# Após conferir no excel vi que: df, SS, MS, F e Pr estão corretos para av1
# quando fui para o desdobramento conforme segue, obtive os resultados no R:

av2 <- aov(mspa~bloco+solo/nc) #nc dentro solo
anova(av2)

names(coef(av2))
length(names(coef(av2)))


# buscando as posiçoes por expressões regulares

grep("ES", names(coef(av2))[9:14])
grep("EU_0-10", names(coef(av2))[9:14])
grep("EU_40-60", names(coef(av2))[9:14])
grep("SE_0-10", names(coef(av2))[9:14])
grep("SE_40-60", names(coef(av2))[9:14])
grep("TM", names(coef(av2))[9:14])



summary(av2, split=list("solo:nc"=list(
"ES"= c(1),
"EU_0-10"=c(2),
"EU_40-60"=c(3),
"SE_0-10"=c(4),
"SE_40-60"= c(5),
"TM"= c(6)
)))

# saida da av2 abaixo:
                     Df Sum Sq Mean Sq F value   Pr(>F)    
bloco                 2      2     1.0   0.046   0.9552    
solo                  5   1988   397.5  18.359 1.73e-14 ***
solo:nc               6     97    16.1   0.744   0.6153    
  solo:nc: ES         1     11    10.6   0.488   0.4859    
  solo:nc: EU_0-10    1      0     0.5   0.022   0.8817    
  solo:nc: EU_40-60   1      2     2.1   0.096   0.7570    
  solo:nc: SE_0-10    1     81    81.0   3.741   0.0548 .  
  solo:nc: SE_40-60   1      0     0.0   0.000   0.9875    
  solo:nc: TM         1      2     2.5   0.114   0.7362    
Residuals           166   3595    21.7 
 
# vi que na parte que me interessa em destaque a SQ e QM estão corretas, mas o Fcal e P-valor estão errados pois o GL, SQ e QM do residuo não estão corretos.   Conforme conferi pelo excel:
# saida do excel
FV                            Sum Sq  Mean Sq         F value          Pr(>F)
solo:nc: ES                 10.6      10.6                1.740          0.1897
solo:nc: EU_0-10          0.5       0.5                  0.079          0.2213
solo:nc: EU_40-60        2.1       2.1                  0.343          0.4406
solo:nc: SE_0-10          81.0     81.0                13.347         0.0004
solo:nc: SE_40-60        0.0       0.0                  0.001          0.0236
solo:nc: TM                 2.5        2.5                 0.406          0.4748
 
# Existe alguma maneira de informar o df e Sum Sq corretos (que estão na avi ou av1) no procedimento da av2
# de modo que o F e Pr sejam corrigidos na saida do comando?
# Ou como eu poderia extrair a coluna do Sum Sq ou Mean Sq na forma de vector ou data.frame para fazer as correções manualmente no R?

 
Odirley R. Campos
Engenheiro Agrônomo UFV/MG
Doutorando em Solos e Nutrição de Plantas UFV/MG