<font face="trebuchet ms,sans-serif">Fernando,<br><br>Parabéns, seu código é totalmente reproduzível (com excessão da função Anova() que tá ali sem carregar o pacote car, mas eu conhecia). CMR é meio raro na nessa lista. Para resolver seu problema você fazer assim.<br>
<br><span style="font-family:courier new,monospace">abate <- <br>structure(list(Animal = c(1L, 2L, 3L, 4L, 5L, 7L, 8L, 9L, 12L, <br>14L, 15L, 17L, 18L, 19L, 21L, 22L, 23L, 25L, 26L, 28L, 30L, 32L, <br>34L, 35L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 46L, 47L, 48L, <br>
49L, 50L, 53L, NA, NA), Gest = structure(c(4L, 2L, 3L, 2L, 2L, <br>4L, 3L, 4L, 2L, 2L, 3L, 4L, 1L, 4L, 2L, 1L, 4L, 1L, 2L, 4L, 3L, <br>3L, 1L, 4L, 3L, 1L, 2L, 3L, 1L, 1L, 3L, 1L, 2L, 3L, 1L, 2L, 1L, <br>1L, NA, NA), .Label = c("0", "100", "130", "140"), class = "factor"), <br>
    Manej = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, <br>    2L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 1L, 2L, 1L, 2L, 2L, 1L, <br>    1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, NA, NA<br>    ), .Label = c("1", "2"), class = "factor"), rep = c(2L, 3L, <br>
    1L, 2L, 4L, 3L, 1L, 2L, 2L, 5L, 4L, 3L, 1L, 4L, 1L, 2L, 4L, <br>    4L, 3L, 1L, 3L, 5L, 6L, 1L, 2L, 5L, 1L, 2L, 4L, 3L, 3L, 3L, <br>    4L, 4L, 5L, 5L, 1L, 2L, NA, NA), PV = c(49000L, 40800L, 51800L, <br>    41900L, 35000L, 40500L, 35400L, 42300L, 36600L, 36600L, 38400L, <br>
    46400L, 26900L, 50200L, 35500L, 35500L, 48400L, 40500L, 32500L, <br>    42800L, 36500L, 50000L, 31200L, 33500L, 46500L, 40900L, 36500L, <br>    31200L, 31500L, 35500L, 38700L, 30000L, 37900L, 42700L, 35500L, <br>    42000L, 34500L, 36700L, NA, NA)), .Names = c("Animal", "Gest", <br>
"Manej", "rep", "PV"), class = "data.frame", row.names = c(NA, <br>-40L))<br><br>abate$Gest <- factor(abate$Gest)<br>abate$Manej <- factor(abate$Manej)<br>abate <- na.omit(abate)<br>
<br>xtabs(~Gest+Manej, abate)<br><br>C <- lm(PV~Gest*Manej, abate)<br>anova(C)<br>car::Anova(C,type="III")<br><br># interação não significativa à 5%!<br>D <- lm(PV~Gest+Manej, abate)<br><br>X <- doBy::popMatrix(D, effect="Gest")<br>
<br>choose(nlevels(abate$Gest), 2)<br>cb <- combn(nrow(X), 2)<br>Xc <- X[cb[1,],]-X[cb[2,],]<br>Xc<br>rownames(Xc) <- apply(combn(levels(abate$Gest), 2), 2, paste, collapse="-")<br><br>require(multcomp)<br>
<br>summary(glht(D, linfct=Xc))<br><br># em caso de interação significativa fazer<br># isso aqui para cada nível que deseja fixar<br><br>levels(abate$Manej)<br>X <- doBy::popMatrix(C, effect="Gest", at=list(Manej="1"))<br>
X<br><br># o resto segue normal...<br># para automatizar os desdobramentos você pode usar a lapply() ou<br># similares.<br></span><br>A opção de constrate nada mais é que uma restrição paramétrica no vetor de efeitos que te leva para uma particular solução ou conjunto de estimativas. Como você falou, o treatment anula (impõe/assume) que o efeito do primeiro nível de cada fator é zero, o soma zero impõe que a soma deles é zero. Em todas elas, o que você precisa estimar ao final são p-1 parâmetros/efeitos pois a restrição cuidou de um. Todos contra todos na saída do summary() não tem como especificar porque isso requer mais que p-1 hipóteses você só pode ir com p-1. Mas isso não é problema porque uma vez estimado os efeitos, qualquer função e quantidade de funções estimáveis a partir deles pode ser obtida.<br>
<br>À disposição.<br>Walmes.<br><br clear="all"></font><span style="font-family:trebuchet ms,sans-serif">==========================================================================</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">Walmes Marques Zeviani</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">Departamento de Estatística - Universidade Federal do Paraná</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">fone: (+55) 41 3361 3573</span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">VoIP: (3361 3600) 1053 1173</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">e-mail: <a href="mailto:walmes@ufpr.br" target="_blank">walmes@ufpr.br</a><br>
skype: walmeszeviani<br style="font-family:trebuchet ms,sans-serif"></span><span style="font-family:trebuchet ms,sans-serif">twitter: @walmeszeviani</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">homepage: <a href="http://www.leg.ufpr.br/%7Ewalmes" target="_blank">http://www.leg.ufpr.br/~walmes</a></span><br style="font-family:trebuchet ms,sans-serif">
<span style="font-family:trebuchet ms,sans-serif">linux user number: 531218</span><br style="font-family:trebuchet ms,sans-serif"><span style="font-family:trebuchet ms,sans-serif">==========================================================================</span><br>