<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Obrigado Walmes, mas os contrastes não pareceram ficar muito
    corretos, sendo meu CRM corrigido:<br>
    <br>
##-----------------------------------------------------------------------------<br>
    <br>
    require(multcomp)<br>
    require(doBy)<br>
    require(latticeExtra)<br>
    require(wzRfun)<br>
    <br>
    <br>
##-----------------------------------------------------------------------------<br>
    <br>
    d <-
    data.frame(a=factor(sample(c(paste("Tratamento_",letters,sep="")),
    1000, rep=TRUE)))<br>
    <br>
    xtabs(~a, d)<br>
    <br>
    d$y <- rpois(nrow(d), lambda=10)<br>
    <br>
    ##Niveis<br>
    levels(d$a)<br>
    <br>
    ## O padrão de funcionamento faz assim, o primeiro fator troca
    níveis<br>
    ## dentro do segundo que troca níveis dentro do terceiro, etc, veja.<br>
    do.call(rbind, strsplit(levels(d$a), "\\."))<br>
    <br>
    ## Sabendo disso você pode passar da a, b e c na forma que lhe for
    mais<br>
    ## conveniente. Por outro lado, é desperdício de tempo operar assim<br>
    ## porque eu considero mais fácil declarar o modelo fatorial, usar a<br>
    ## LSmatrix para gerar a matriz de contraste e usá-la.<br>
    <br>
    g0 <- glm(y~a, family="poisson", data=d)<br>
    g1 <- glm(y~0+d$a, family="poisson", data=d)<br>
    <br>
    M <- LSmatrix(g0, effect=c("a"))<br>
    M<br>
    <br>
    ## As estimativas das médias (na escala do preditor linear).<br>
    data.frame(g0=M%*%coef(g0), g1=coef(g1))<br>
    <br>
    ## Combinações de níveis correspondentes as médias.<br>
    str(M)<br>
    grid <- attr(M, "grid")<br>
    <br>
    ## Matriz de contrastes entre níveis de `focus` dentro dos níveis de<br>
    ## `split`.<br>
    trat <- "a"<br>
    spl <- interaction(grid[,trat])<br>
    i <- 1:nrow(grid)<br>
    l <- split(i, f=spl)<br>
    contr <- lapply(l,<br>
                    function(row){<br>
                        ## Matriz de contrastes par a par.<br>
                        a <- apc(M[,i], lev=levels(d[trat,]))<br>
                        ## Prefixo no nome das linhas.<br>
                        rownames(a) <- paste(spl[row[1]],<br>
                                             rownames(a), sep="/")<br>
                        return(a)<br>
                    })<br>
    contr <- do.call(rbind, contr)<br>
    contr<br>
    ## Constrastes.<br>
    summary(glht(g0, linfct=contr),<br>
            test=adjusted(type="fdr"))<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 12/02/2015 13:00, walmes . wrote:<br>
    </div>
    <blockquote
cite="mid:CAFU=EkZ9m-80QkuEzD+xw_GFpCOYUr98s+EC6Db18nrUrKyQBw@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_default" style="font-family:trebuchet
          ms,sans-serif">Alexandre,<br>
          <br>
        </div>
        <div class="gmail_default" style="font-family:trebuchet
          ms,sans-serif">No seu CMR tem-se um fator apenas. Você não
          precisa de "a" e "<a moz-do-not-send="true"
            href="http://a.int">a.int</a>", eles são iguais. Será que
          não é a versão da apc que você tem? Ela tem sido aprimorada,
          está no meu pacote wzRfun, disponível do <a
            moz-do-not-send="true"
            href="http://www.github.com/walmes/wzRfun">www.github.com/walmes/wzRfun</a>.
          A mais recente tá assim:<br>
          <br>
          <span style="font-family:arial narrow,sans-serif"><span
              style="font-family:monospace,monospace">## wzRfun::apc<br>
              apc <- function (lfm, lev = NULL) <br>
              {<br>
                  nlev <- nrow(lfm)<br>
                  rn <- rownames(lfm)<br>
                  a <- attr(lfm, "grid")<br>
                  if (is.null(lev)) {<br>
                      if (!is.null(a)) {<br>
                          lev <- apply(a, 1, paste, collapse = ":")<br>
                      }<br>
                      else if (!is.null(rn)) {<br>
                          lev <- rn<br>
                      }<br>
                      else {<br>
                          lev <- as.character(1:nlev)<br>
                      }<br>
                  }<br>
                  cbn <- combn(seq_along(lev), 2)<br>
                  M <- lfm[cbn[1, ], ] - lfm[cbn[2, ], ]<br>
                  if (is.vector(M)) <br>
                      dim(M) <- c(1, length(M))<br>
                  rownames(M) <- paste(lev[cbn[1, ]], lev[cbn[2, ]],
              sep = "-")<br>
                  return(M)<br>
              }</span><u><br>
            </u><span style="font-family:trebuchet ms,sans-serif"><br>
              À disposição.<br>
            </span></span></div>
        <div class="gmail_default" style="font-family:trebuchet
          ms,sans-serif"><span style="font-family:arial
            narrow,sans-serif"><span style="font-family:trebuchet
              ms,sans-serif">Walmes.</span><u><br>
            </u></span></div>
        <div class="gmail_default" style="font-family:trebuchet
          ms,sans-serif"><br>
        </div>
        ​</div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
R-br mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a class="moz-txt-link-freetext" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
======================================================================
Alexandre dos Santos
Proteção Florestal 
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Caixa Postal 244
Avenida dos Ramires, s/n
Bairro: Distrito Industrial 
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO)
<a class="moz-txt-link-abbreviated" href="mailto:e-mails:alexandresantosbr@yahoo.com.br">e-mails:alexandresantosbr@yahoo.com.br</a> 
        <a class="moz-txt-link-abbreviated" href="mailto:alexandre.santos@cas.ifmt.edu.br">alexandre.santos@cas.ifmt.edu.br</a> 
Lattes: <a class="moz-txt-link-freetext" href="http://lattes.cnpq.br/1360403201088680">http://lattes.cnpq.br/1360403201088680</a>                   
======================================================================
</pre>
  
<br /><br />
<hr style='border:none; color:#909090; background-color:#B0B0B0; height: 1px; width: 99%;' />
<table style='border-collapse:collapse;border:none;'>
        <tr>
                <td style='border:none;padding:0px 15px 0px 8px'>
                        <a href="http://www.avast.com/">
                                <img border=0 src="http://static.avast.com/emails/avast-mail-stamp.png" />
                        </a>
                </td>
                <td>
                        <p style='color:#3d4d5a; font-family:"Calibri","Verdana","Arial","Helvetica"; font-size:12pt;'>
                                Este email foi escaneado pelo Avast antivírus.
                                <br><a href="http://www.avast.com/">www.avast.com</a>
                        </p>
                </td>
        </tr>
</table>
<br />
</body>
</html>