<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Walmes,<br>
    <br>
        Foi muito esclarecedor, mas suscitou novas dúvidas quando
    trabalho com GLM e são duas, sendo: 1) a ordem dos coeficientes em
    glm e a ordem dos níveis da interação e  2) se eu tivesse um
    fatorial 2x3x2, sendo as minhas indagações levantadas no CRM abaixo,<br>
    <br>
    #1) Ordem dos coeficientes em glm e a ordem dos níveis da interação<br>
    <br>
    #CRM<br>
    <br>
    require(multcomp)<br>
    require(doBy)<br>
    require(lattice)<br>
    <br>
    ## Dados artificiais - Status (Atacado x Sadio) x Idade(48 x 72)<br>
    d <- data.frame(a=factor(sample(c('atacado','sadio'), 100,
    rep=TRUE)),<br>
                    b=factor(sample(c('48','72'), 100, rep=TRUE)))<br>
    <br>
    beta <- c(1,1.2,1,-0.9)<br>
    d$y <- rpois(nrow(d), lambda=exp(X%*%beta))<br>
    <br>
    ## Crio a interação.<br>
    d$ab <- interaction(d$a, d$b)<br>
    <br>
    ## Ordem dos níveis<br>
    levels(d$ab)<br>
    <br>
    ## Ajuste do GLM<br>
    glmRes <- glm(y~0+ab, family="poisson", data=d)<br>
    coef(glmRes)<br>
    <br>
    <br>
    Minha dúvida é sempre que ajustar um glm a ordem dos coeficientes,
    vai ser a mesma que a dos meus levels(d$ab) de forma que a
    parametrização de meu contraste for o for o primeiro nível
    "atacado.48"e o segundo "sadio.48" vou especificar o contrate (1,
    -1, 0, 0) e a matriz resultante vai retornar a média e para os
    outros níveis sucessivamente?<br>
    <br>
    <br>
    #2)Se eu tivesse um fatorial 2x3x2<br>
    <br>
    ## Dados artificiais - Status (Atacado x Sadio) x Idade(48 x 72 x
    96) x Clone (TY01 e VM06)<br>
    d <- data.frame(a=factor(sample(c('atacado','sadio'), 100,
    rep=TRUE)),<br>
                    b=factor(sample(c('48','72','96'), 100, rep=TRUE)),<br>
                    c= factor(sample(c('TY01','VM06'), 100, rep=TRUE)))<br>
    <br>
    xtabs(~a+b+c, d)<br>
    beta <- c(1,1.2,1,-0.9)<br>
    d$y <- rpois(nrow(d), lambda=exp(X%*%beta))<br>
    <br>
    ## Interação<br>
    d$abc<-interaction(d$a, d$b, d$c)<br>
    <br>
    ## Ajuste do GLM<br>
    glmRes2<- glm(y~0+abc, family="poisson", data=d)<br>
    coef(glmRes)<br>
    <br>
    ## Especifico os contrastes desejados, neste caso "atacado.48.TY01"
    e "sadio.48.TY01" (primeiro nível com o segundo)<br>
    cntrMat <-   rbind("atacado.48.TY01-sadio.48.TY01"=c(1, -1, 0, 0,
    0, 0, 0, 0, 0, 0, 0, 0))<br>
    <br>
    summary(glht(glmRes2, linfct=mcp(abc=cntrMat)),
    test=adjusted("none"))<br>
    <br>
    <br>
    E pergunto se esta especificação de coeficientes esta correta no
    caso de um fatorial 2x3x2, imaginado a análise em one-way?<br>
    <br>
    <br>
    Novamente obrigado,<br>
    <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>
    <br>
    <div class="moz-cite-prefix">Em 08/05/2014 08:27, walmes . escreveu:<br>
    </div>
    <blockquote
cite="mid:CAFU=EkZEPSWjLjqecRPYxmvM87DGCkcaL0B3vG=oxLgLrAXC3w@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">Precisa tomar cuidado com a parametrização
          usualmente imposta em modelo lineares e generalizados para
          estimar os parâmetros. No R o primeiro nível, por padrão, é
          assumido como tendo efeito zero, é o contraste tipo tratamento
          (contr.treatment). É preciso reconhecer isso para montar as
          matrizes de contraste corretamente. No código abaixo ilustra
          um pouco disso.<br>
          <br>
          <span style="font-family:courier new,monospace">##-----------------------------------------------------------------------------<br>
            <br>
            require(multcomp)<br>
            require(doBy)<br>
            require(lattice)<br>
            <br>
            ## Dados artificiais - Status (Atacado x Sadio) x Idade(48 x
            72)<br>
            d <- data.frame(a=factor(sample(c('atacado','sadio'),
            100, rep=TRUE)),<br>
                            b=factor(sample(c('48','72'), 100,
            rep=TRUE)))<br>
            xtabs(~a+b, d)<br>
            <br>
            ## Crio a interação.<br>
            d$ab <- interaction(d$a, d$b)<br>
            <br>
            X <- model.matrix(~ab, d)<br>
            colnames(X)<br>
            beta <- c(1,1.2,1,-0.9)<br>
            <br>
            d$y <- rpois(nrow(d), lambda=exp(X%*%beta))<br>
            <br>
            xyplot(y~a, groups=b, data=d, jitter.x=TRUE,
            type=c("p","a"))<br>
            <br>
            ## Ajusto o GLM de Poisson.<br>
            glmRes <- glm(y~ab, family="poisson", data=d)<br>
            coef(glmRes)<br>
            <br>
            ## Para específicar contrastes tem que tomar cuidado com a<br>
            ## parametrização.<br>
            <br>
            ## Específicos os contrastes desejados.<br>
            cntrMat <-   rbind("atacado.48-sadio.48"=c(1, -1,  0, 
            0),<br>
                               "atacado.72-sadio.72"=c(0,  0,  1, -1),<br>
                               "atacado.48-atacado.72"=c(1, 0, 0, -1),<br>
                               "sadio.48-sadio.72"=c(0, 1, 0,  -1))<br>
            <br>
            ## Testo os contrastes com função glht do pacote multcomp.<br>
            summary(glht(glmRes, linfct=mcp(ab=cntrMat)),
            test=adjusted("none"))<br>
            <br>
            summary(glht(glmRes, linfct=cntrMat,
            alternative="two.sided"),<br>
                     test=adjusted("none"))<br>
            <br>
            ## Pela sua lógica, usando essa matriz deveria retornar as
            médias (na<br>
            ## escala do preditor linear) para cada tratamento. Mas não
            são as médias.<br>
            M <- diag(4)<br>
            summary(glht(glmRes, linfct=mcp(ab=M)),
            test=adjusted("none"))<br>
            summary(glht(glmRes, linfct=M), test=adjusted("none"))<br>
            coef(glmRes)<br>
            <br>
            ## Matriz com o coeficientes, já respeitando a
            parametrização, para<br>
            ## obter as médias ajustadas na escala do preditor linear<br>
            M <- LSmatrix(glmRes, effect="ab")<br>
            summary(glht(glmRes, linfct=M), test=adjusted("none"))<br>
            <br>
            ## Estimado vs paramétrico.<br>
            M%*%coef(glmRes)<br>
            M%*%beta<br>
            <br>
            ## Se quer facilitar a especificação dos constrastes,
            declare o modelo<br>
            ## sem restrições, por exemplo, usando y~0+ab na fórmula.<br>
            <br>
            glmRes <- glm(y~0+ab, family="poisson", data=d)<br>
            coef(glmRes)<br>
            <br>
            cntrMat <-   rbind("atacado.48-sadio.48"=c(1, -1,  0, 
            0),<br>
                               "atacado.72-sadio.72"=c(0,  0,  1, -1),<br>
                               "atacado.48-atacado.72"=c(1, 0, 0, -1),<br>
                               "sadio.48-sadio.72"=c(0, 1, 0,  -1))<br>
            <br>
            summary(glht(glmRes, linfct=mcp(ab=cntrMat)),
            test=adjusted("none"))<br>
            summary(glht(glmRes, linfct=cntrMat), test=adjusted("none"))<br>
            <br>
##-----------------------------------------------------------------------------<br>
          </span><br>
          À disposição.<br>
          Walmes.<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">
</pre>
  </body>
</html>