Anova, fatorial triplo, interacao dupla

# 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.1897solo:nc: EU_0-10 0.5 0.5 0.079 0.2213solo:nc: EU_40-60 2.1 2.1 0.343 0.4406solo:nc: SE_0-10 81.0 81.0 13.347 0.0004solo:nc: SE_40-60 0.0 0.0 0.001 0.0236solo: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/MGDoutorando em Solos e Nutrição de Plantas UFV/MG

Odirley, Sua informação sobre as somas quadráticas "não baterem" em relação ao Excel não parecem corretas, posto que os valores são iguais em ambas as tabelas que você postou. Em relação aos valores F, não é possível discutir porque você não postou a linha de soma quadrática dos resíduos do Excel (e nem o nº de graus de liberdade) . 2015-02-03 19:07 GMT-02:00 Odirley Campos <camposagro@yahoo.com.br>:
# 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
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Cesar, obrigado pela resposta. Como eu disse, a SQ e o QM estão corretos ( na parte do desdobramento nc dentro de solo, em destaque, onde tenho interesse). Porém o F e por consequência o p-valor foram calculados pelo R com o QMres= 21.7, quando na verdade( pela primeira anova=av1) deveria ser 6.07. No excel, ao fazer o desdobramento e calcular o F utilizei os mesmos valores de GL, SQ e QM da av1 (sejam: 118, 715.95 e 6.07). A final, o QMR utilizado nos desdobramentos deverá ser o mesmo da "anova geral=av1", não é isto? Odirley R. Campos Engenheiro Agrônomo UFV/MGDoutorando em Solos e Nutrição de Plantas UFV/MG De: Cesar Rabak <cesar.rabak@gmail.com> Para: r-br@listas.c3sl.ufpr.br; Odirley Campos <camposagro@yahoo.com.br> Enviadas: Quarta-feira, 4 de Fevereiro de 2015 14:06 Assunto: Re: [R-br] Anova, fatorial triplo, interacao dupla Odirley, Sua informação sobre as somas quadráticas "não baterem" em relação ao Excel não parecem corretas, posto que os valores são iguais em ambas as tabelas que você postou. Em relação aos valores F, não é possível discutir porque você não postou a linha de soma quadrática dos resíduos do Excel (e nem o nº de graus de liberdade) . 2015-02-03 19:07 GMT-02:00 Odirley Campos <camposagro@yahoo.com.br>: # 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.1897solo:nc: EU_0-10 0.5 0.5 0.079 0.2213solo:nc: EU_40-60 2.1 2.1 0.343 0.4406solo:nc: SE_0-10 81.0 81.0 13.347 0.0004solo:nc: SE_40-60 0.0 0.0 0.001 0.0236solo: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/MGDoutorando em Solos e Nutrição de Plantas UFV/MG _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.

Você pode obter o quadro de anova com SQ fatiadas para solo/nc e com com a linha do resíduo do modelo completo, o seu avi1. Para isso você não pode abandonar nenhum termo. Veja o exemplo. da <- expand.grid(bloc=gl(4,1), A=gl(2,1), B=gl(3,1), C=gl(4,1)) da$y <- rnorm(nrow(da)) m0 <- aov(y~bloc+A*B*C, data=da) anova(m0) ## Fatiar B/C. m1 <- aov(y~bloc+A*B+B/C+A:B:C, data=da) anova(m1) m1$assign names(coef(m1))[m1$assign==5] summary(m1, split=list("B:C"=list( "B1"=c(1,4,7), "B2"=c(2,5,8), "B3"=c(3,6,9)))) À disposição. Walmes.

WALMES, muito obrigado!! Agora a saída do desdobramento está correta. #### adaptado de Walmes ---##### Fatiar solo/nc. m1 <- aov(mspa~bloco+np*solo + solo/nc + np:solo:nc, data=a1) anova(m1) m1$assign names(coef(m1))[m1$assign==5] # ir mudando o nº ate achar a inter solo:nc # buscando as posiçoes por expressões regulares, grep("ES", names(coef(m1))[m1$assign==5]) grep("EU_0-10", names(coef(m1))[m1$assign==5]) grep("EU_40-60", names(coef(m1))[m1$assign==5]) grep("SE_0-10", names(coef(m1))[m1$assign==5]) grep("SE_40-60", names(coef(m1))[m1$assign==5]) grep("TM", names(coef(m1))[m1$assign==5]) # de posse das posiçoes dos solos informar no summary summary(m1, 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) ))) Odirley R. Campos Engenheiro Agrônomo UFV/MG
participantes (3)
-
Cesar Rabak
-
Odirley Campos
-
walmes .