Re: [R-br] comparação multipla para dados desbalanceados

Quanto ao teste de Tukey, se você pegar o teste original, não há nenhuma restrição comparar médias com repetições diferentes. Agora, quanto a pegar a soma de quadrados do erro correta para tal teste, existe uma longa discussão aqui no grupo quanto a isso e eu não irei entrar neste mérito. O pacote TukeyC, agricolae entre outros desempenha perfeitamente a comparação para dados desbalanceados. No entanto, atenção!!!! As funções do pacote TukeyC utilizam internamente a função "aov", ou seja, estará sendo utilizado a soma de quadrados do tipo II por default. (S,f,P) Allaman \begin{signature} <<>>= Prof. Dr. Ivan Bezerra Allaman Universidade Estadual de Santa Cruz Departamento de Ciências Exatas e Tecnológicas Ilhéus/BA - Brasil Fone: +55 73 3680-5596 E-mail: ivanalaman@yahoo.com.br/ivanalaman@gmail.com @ \end{signature}

Eu prefiro usar a multcomp porque lá eu tenho controle total das comparações que quero fazer. Eu aprendi a usá-la antes de pacotes mais dedicados estarem disponíveis. Basicamente, qual o problema das comparações múltiplas? É o fato de você testar muitas hipóteses e isso elevar rapidamente a taxa de erro tipo I global. Qual a solução? Lançar mão de métodos que mantenham essa taxa global próximo do valor nominal, na sua maioria 5%. Tudo o que se conhece sobre testes de comparações múltiplas são conceitualmente maneiras de fazer isso. Cada um lança mão de um princípio para fazê-lo e por isso possem alguma divergência. Alguns deles se baseiam no fato das estimativas terem mesma precisão e serem independentes, o que ocorre em todo experimento de fatores categóricos completamente cruzados e balanceado. Nesses casos a matriz de covariância das estimativas das médias é diagonal. Com fatores cruzados mas não balanceado (diferente número de repetições), será diagonal com precisões diferentes para cada nível do fator. Com cruzamento incompleto, chamado de perda de caselas, você terá elementos fora da diagonal não nulos. É importante que você entenda que médias amostrais só são estimadores admissíveis para médias (parâmetro) em raras situações. Deve usar médias obtidas matricialmente, que foi batizado por aí de médias ajustadas. Eu pessoalmente não vejo porque o uso da palavra ajustado se de fato é o procedimento correto, o caso geral para estimar uma média. As médias amostrais é que deviam ser chamadas de "médias possivelmente desajustadas/viesadas". Eu gosto da multcomp porque o que tá implementado lá resolve todos os casos e faz o que tem que fazer, controlar a taxa nominal de significância (conduza um estudo de simulação e verifique se for o caso). Os tipos de somas de quadrados em si não têm importância porque as incertezas sobre as médias estão na matriz de covariância das estimativas e são invariantes a soma de quadrado. Além do mais, essa coisa de soma de quadrado é particular da anova e comparações múltiplas de estimativas podem ser aplicadas em qualquer situação, seja em GLM e até mesmo para parâmetros em modelos de regressão não linear. Esqueça uso de letras seguindo as médias. Faça um gráfico dos contrastes do teu interesse e verifique se o valor nulo está contido no intervalo de confiança. Para ilustrar, rode o CMR #------------------------------------------------------------------------------------------ require(doBy) # caso 1 # experimento balanceado e completamente cruzados níveis de bloc e trat da <- expand.grid(trat=gl(3,1), bloc=gl(2,2)) da$y1 <- rnorm(nrow(da), 10, 0.1) str(da) m0 <- lm(y1~bloc+trat, da) ctr <- popMatrix(m0, effect="trat") dim(ctr) V0 <- vcov(m0) dim(V0) vm0 <- ctr%*%V0%*%t(ctr) vm0 # mesma precisão e sem correlação #------------------------------------------------------------------------------------------ # caso 2 # experimento desbalanceado e completamente cruzados níveis de bloc e trat da$y2 <- da$y1 da$y2[1:2] <- NA # trat 1 e 2 têm apenas 2 repetições (desbalanceamento) m1 <- lm(y2~bloc+trat, da) V1 <- vcov(m1) vm1 <- ctr%*%V1%*%t(ctr) vm1 # trat 1 e 2 tem maior variância mas fora da diagonal é zero! #------------------------------------------------------------------------------------------ # caso 3 # experimento desbalanceado e completamente cruzados níveis de bloc e trat da$y3 <- da$y1 da$y3[c(1,4,9,12)] <- NA # trat 1 não observado no bloc 1 (perda completa de combinação) m2 <- lm(y3~bloc+trat, da) V2 <- vcov(m2) vm2 <- ctr%*%V2%*%t(ctr) vm2 # diferença de precisão round(cov2cor(vm2),3) # agora tem presença de correção devido não ortogonalidade #------------------------------------------------------------------------------------------ # em qualquer caso, multcomp pode comparar as médias, escolha 1 deles e faça comb <- combn(1:nlevels(da$trat), 2) # 1 vs 2, 1 vs 3, 2 vs 3 mcomp <- ctr[comb[1,],]-ctr[comb[2,],] # matriz de contrastes 2 a 2 require(multcomp) g0 <- glht(m2, linfct=mcomp) summary(g0) plot(g0) # diferenças nas amplitudes refletem o número de repetições #------------------------------------------------------------------------------------------ À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
participantes (2)
-
Ivan Bezerra Allaman
-
Walmes Zeviani