<div dir="ltr">André,<div><br></div><div>A PCA é uma técnica que se justifica quando você tem muitas variáveis e deseja entender o conjunto de dados diminuindo a dimensão desse espaço. </div><div><br></div><div>A PCA efetivamente cria um conjunto de componentes cujos autovalores são decrescentes e assim usando-se as primeiras componentes ('dimensões') se pode entender a variabilidade dos dados/casos.</div><div><br></div><div>Se seus dados têm somente quatro variáveis (as UF são na verdade rótulos de casos [mais sobre isso mais abaixo]) a PCA pode ser um passo quase desnecessário pois a análise da variabilidade de cada variável individualmente pode ser mais produtiva.</div><div><br></div><div>Para resolver o problema da coluna UF ser na verdade a que nomeia os casos, tente chamar (se for a primeira coluna da planilha que contém as UF):</div><div><span style="color:rgb(0,0,0);font-family:'bookman old style','new york',times,serif;font-size:16px">dados<-read.xls("lixo.xls", row.names=1, </span><span style="color:rgb(0,0,0);font-family:'bookman old style','new york',times,serif;font-size:16px">encoding = "latin1")</span><br></div><div><br></div><div> Qtº à sua chamada para a GLM não é possível comentar em função da sua necessidade de não divulgação sobre seus dados.</div><div><br></div><div>HTH</div><div>--</div><div>Cesar Rabak</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-13 20:08 GMT-03:00 Andre Oliveira <span dir="ltr"><<a href="mailto:andreolsouza@yahoo.com.br" target="_blank">andreolsouza@yahoo.com.br</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:bookman old style,new york,times,serif;font-size:16px"><div><div><div style="color:#000;background-color:#fff;font-family:bookman old style,new york,times,serif;font-size:16px"><div>De fato esta não é a melhor análise a se fazer,  apenas gostaria de entender como eu poderia organizar tais dados para agrupar estados uma função prcomp e a  <span>hclust,   em específico são dados do governo Federal de certo projeto, mas de vez em quando me deparo com isto aqui.  Os dados são estes.</span></div><div dir="ltr">


        
        
        
        dados<-read.xls("lixo.xls",encoding = "latin1")<br>str(dados)<br>'data.frame':    270 obs. of  5 variables:<br> $ UF: Factor w/ 27 levels "AC","AL","AM",..: 1 2 3 4 5 6 7 8 9 10 ...<br> $ V1: int  0 1 2 0 15 14 7 7 2 0 ...<br> $ V2: int  15 15 15 15 15 15 15 15 15 15 ...<br> $ V3: int  15 15 15 15 15 15 15 15 15 15 ...<br> $ V4: int  136 543 718 98 2976 2242 306 377 859 830 ...</div><div dir="ltr"><br></div><div dir="ltr">PCA <- prcomp(dados,scale=T)<br>Erro em colMeans(x, na.rm = TRUE) : 'x' deve ser numérico</div><div dir="ltr"><br></div><div dir="ltr">hc<-hclust(dist(dados),method='ward.D')<br>Mensagens de aviso perdidas:<br>In dist(dados) : NAs introduzidos por coerção<br></div><div dir="ltr"><br></div><div dir="ltr"><br></div><div dir="ltr">Claro que  também testei ...colocando ANO no banco dados  ...e TOTAL outras alternativas <br></div><div dir="ltr"><br></div><div dir="ltr"> UF2=relevel(UF, ref = "PR")<br>fit.model=glm(TOTAL~UF2+factor(ANO), family = Gamma))<br>summary(fit.model)<br><span></span></div><div><br></div><div><br><span></span></div><div><span></span></div><div><div dir="ltr">Mas,  enfim qual estrutura nos banco de dados eu poderia usar para corrigir o erros descritos em  prcomp e hclust apenas para testes?<br></div><div dir="ltr">Pensei em transformar meu banco de dados em algo do tipo USArrests e ai não teria tais erros,  mas não sei se tem algo teórico que impeça. <br></div><div dir="ltr"> obrigado <br></div></div><div><div>
<br clear="none">
<br clear="none">André Oliveira Souza. 
<br clear="none">Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espírito Santo.  IFES
<br clear="none">
<br clear="none"></div></div>  <br clear="none"><div><br clear="none"><br clear="none"></div></div><div style="color:#000;background-color:#fff;font-family:bookman old style,new york,times,serif;font-size:16px"> </div></div></div><div><div class="h5"><div> <div style="font-family:bookman old style,new york,times,serif;font-size:16px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div><br><br></div><div><div dir="ltr"> <font size="2" face="Arial"> Em Segunda-feira, 13 de Abril de 2015 15:57, Felipe <<a href="mailto:felipe.e.barletta@gmail.com" target="_blank">felipe.e.barletta@gmail.com</a>> escreveu:<br clear="none"> </font> </div>  <br clear="none"><br clear="none"> <div><div><div>
    André,<br clear="none">
    <br clear="none">
    Assim como o Cesar comentou, não consegui identificar os data.frame
    por ano que você menciona.<br clear="none">
    Agora se você tem esses data.frames por ano, será que uma análise de
    agrupamento ou PCA é o ideal? Uma abordagem longitudinal não seria
    melhor? E também não está claro o que deseja. É calcular médias
    anuais?<br clear="none">
    O pacote prcomp() extrai sim as PCA's <br clear="none">
    <br clear="none">
    No seu comando se colocar o argumento scale=T, ele vai criar as
    PCA's de acordo com a matriz de correlação. Veja:<br clear="none">
    PCA <- prcomp(USArrests,scale=T)<br clear="none">
    summary(PCA)<br clear="none">
    names(PCA)<br clear="none">
    PCA$sdev         #### Ríaz quadrada dos autovalores da matriz de
    correlação<br clear="none">
    PCA$rotation    #### Matriz de autovetores normalizados<br clear="none">
    <br clear="none">
    Comparando com os autovalores e autovetores da matriz de correlação
    terá valores como os extraídos ao acima.<br clear="none">
    <br clear="none">
    mcor <- cor(USArrests)<br clear="none">
    mcor<br clear="none">
    vv <- eigen(mcor)<br clear="none">
    vv<br clear="none">
    <br clear="none">
    Logo desta forma terá suas PCA's. Por exemplo a PCA1:<br clear="none">
    Y1
<-vv$vectors[1,1]*USArrests[,1]+vv$vectors[2,1]*USArrests[,2]+vv$vectors[3,1]*USArrests[,3]+vv$vectors[4,1]*USArrests[,4]<br clear="none">
    Y1<br clear="none">
    roY1x1 <- (vv$vectors[1,1]*sqrt(vv$values[1]))/sqrt(mvar[1,1]) ##
    Correlação da PCA1 com Murder<br clear="none">
    roY1x1<br clear="none">
    roY1x2 <- (vv$vectors[2,1]*sqrt(vv$values[1]))/sqrt(mvar[2,2]) ##
    Correlação da PCA1 com Assault<br clear="none">
    roY1x2<br clear="none">
    roY1x3 <- (vv$vectors[3,1]*sqrt(vv$values[1]))/sqrt(mvar[3,3]) ##
    Correlação da PCA1 com UrbanPop<br clear="none">
    roY1x3<br clear="none">
    roY1x4 <- (vv$vectors[4,1]*sqrt(vv$values[1]))/sqrt(mvar[4,4]) ##
    Correlação da PCA1 com Rape<br clear="none">
    roY1x4<br clear="none">
    <br clear="none">
    <br clear="none">
    <br clear="none">
    <br clear="none">
    <br clear="none">
    <div><div>On 12-04-2015 22:00, Andre Oliveira
      wrote:<br clear="none">
    </div>
    <blockquote type="cite">
      <div style="color:#000;background-color:#fff;font-family:bookman old style,new york,times,serif;font-size:16px">
        <div><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">Cesar Rabak,</span><span></span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">obrigado pela
            resposta. Esta é a questão como organizar os três bancos de
            dados levando em conta a variável ano, pois, pelo que tenho
            olhado  as funções </span>hclust() e prcomp() não extrai os
          PCAs e nem o dendograma replicando ano. Todos os exemplos do R
          trabalham com dados de um ano apenas. O objetivo é agrupar as
          cidades e os bancos de dados  <span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida             Grande',sans-serif;font-size:13px">USArrests2007,
            USArrests2009 e USArrests2010 são fictícios e estão ai
            apenas para ilustrar que tenho 3 bancos com mesma estrutura
            do  </span><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida             Grande',sans-serif;font-size:13px">USArrests. </span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br clear="none">
          </span></div>
        <div dir="ltr"><font face="Helvetica Neue,             Segoe UI, Helvetica, Arial, Lucida Grande, sans-serif"><span style="font-size:13px">Dado que tenho
              apenas o  </span></font><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida             Grande',sans-serif;font-size:13px">USArrests,  tudo pode
            ser  resolvido com o CMR com pequenas variações de escala e
            padronização das variáveis se desejar.</span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br clear="none">
          </span></div>
        <div dir="ltr"><span>hc=hclust(dist(</span><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">USArrests)</span>)</div>
        <div dir="ltr">plot(hc)</div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"></span></div>
        <div dir="ltr"><span>summary(prcomp(</span><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">USArrests</span>))</div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br clear="none">
          </span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px">Obrigado </span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br clear="none">
          </span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br clear="none">
          </span></div>
        <div dir="ltr"><span style="font-family:'Helvetica Neue','Segoe UI',Helvetica,Arial,'Lucida Grande',sans-serif;font-size:13px"><br clear="none">
          </span></div>
        <div dir="ltr"><br clear="none">
        </div>
        <div dir="ltr"><br clear="none">
        </div>
        <div> </div>
        <div>
          <div>
            <br clear="none">
            <br clear="none">
            André Oliveira Souza. <br clear="none">
            Graduação em Matemática, mestrado em estatística
            aplicada.Instituto Federal de Educação, Ciência e Tecnologia
            do Espirito Santo.  IFES
            <br clear="none">
            <br clear="none">
          </div>
        </div>
        <br clear="none">
        <div><br clear="none">
          <br clear="none">
        </div>
        <div style="display:block">
          <div style="font-family:bookman old style,new york,times,serif;font-size:16px">
            <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px">
              <div dir="ltr"> <font size="2" face="Arial"> Em Domingo,
                  12 de Abril de 2015 18:14, Cesar Rabak
                  <a rel="nofollow" shape="rect" href="mailto:cesar.rabak@gmail.com" target="_blank"><cesar.rabak@gmail.com></a> escreveu:<br clear="none">
                </font> </div>
              <br clear="none">
              <br clear="none">
              <div>
                <div>
                  <div>
                    <div dir="ltr">Embora você cite os procedimentos de
                      PCA e plotar dendrograma e "análise dos fatores",
                      você não dá muita informação de porque você
                      precisa fazer essa análise e a que conclusões
                      deseja chegar ou quais hipóteses avaliar.
                      <div><br clear="none">
                      </div>
                      <div>Não sei onde estão os dataframes
                        USArrests2007, USArrests2009 e USArrests2010,
                        tendo nos meus defaults apenas o USArrests.
                        Considerando este último, vê-se que a estrutura
                        dele é 50 linhas com cada uma um estado
                        americano por quatro variáveis (três crimes e
                        uma com a população), se você  for anexar bancos
                        com estatísticas de diferentes anos você terá
                        que considerar como colocar a variável ano em
                        jogo e como analisar os estados americanos para
                        manter apenas as cinquenta linhas...</div>
                      <div><br clear="none">
                      </div>
                      <div>A análise de componentes principais já faz
                        todos os cálculos necessários, assim calcular as
                        médias em separado só faria sentido para alguma
                        análise descritiva (incidentalmente você pode
                        [dependendo do pacote que use para fazer a PCA]
                        escolher se a análise será centrada na média de
                        cada variável ou não).<br clear="none">
                        <div><br clear="none">
                        </div>
                        <div>Quanto aos comandos R que você colocou,
                          eles não formam um CMR e por isso não dá para
                          comentar a respeito.</div>
                      </div>
                      <div><br clear="none">
                      </div>
                      <div>HTH</div>
                      <div>--</div>
                      <div>Cesar Rabak</div>
                    </div>
                    <div><br clear="none">
                      <div>2015-04-10
                        16:39 GMT-03:00 Andre Oliveira <span dir="ltr"><<a rel="nofollow" shape="rect" href="mailto:andreolsouza@yahoo.com.br" target="_blank">andreolsouza@yahoo.com.br</a>></span>:<br clear="none">
                        <blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div>
                            <div>
                              <div style="color:#000;background-color:#fff;font-family:bookman old style,new york,times,serif;font-size:16px">
                                <div dir="ltr"><span>Pessoal boa tarde,</span></div>
                                <div dir="ltr"><span>estou com dois
                                    bancos de dados com a estrutura do 
                                    USArrests que vem no R só que
                                    repetido no tempo.  USArrests2007, 
                                    USArrests2009,  USArrests2010.
                                    Gostaria de orientação de como
                                    anexar estes dados para em um banco
                                    de dados único e rodar PCA, Plotar, 
                                    dendograma e a análise de fatores. 
                                    Pelo que percebi em meus devo  fazer
                                    o seguinte.  Montar um banco de
                                    dados com os três bancos e tirar a
                                    soma ou média. Não sei se fere
                                    princípios da análise. <br clear="none">
                                  </span></div>
                                <div dir="ltr"><br clear="none">
                                </div>
                                <div dir="ltr"><span>dados=
                                    data.frame(USArrests2007, 
                                    USArrests2009,  USArrests2010</span>)  
                                  # Não sei se é data.frame aqui mesmo!
                                  <br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span><br clear="none">
                                  </span></div>
                                <div dir="ltr"><span>V1=tapply(V1,grupos,mean)
                                    <br clear="none">
                                  </span></div>
                                <div dir="ltr"><span>.</span></div>
                                <div dir="ltr"><span>.</span></div>
                                <div dir="ltr"><span>.</span></div>
                                <div dir="ltr"><span>.</span></div>
                                <div dir="ltr"><span>.</span></div>
                                <div dir="ltr"><span>Vn=tapply(Vn,grupos,mean) </span></div>
                                <div dir="ltr"><span><br clear="none">
                                  </span></div>
                                <div dir="ltr"><span>dadosmedio=cbind(V1,
                                    ........................,Vn)</span></div>
                                <div dir="ltr"><span>hclust(dist(dadosmedio)</span></div>
                                <div dir="ltr"><span>prcomp(dadosmédio)</span></div>
                                <div dir="ltr"><br clear="none">
                                </div>
                                <div dir="ltr">Ou usar a estrutura com 
                                  <span>Vn=tapply(Vn,grupos,sum) </span>em
                                  vez de <span>Vn=tapply(Vn,grupos,mean). 
                                  </span>Ou usar o próprio banco formado
                                  por  <span>USArrests2007, 
                                    USArrests2009,  USArrests2010. </span><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span>Caso falei
                                    besteira, desconsidere. Ficarei
                                    agradecido por sugestões. <br clear="none">
                                  </span></div>
                                <div dir="ltr"><span><br clear="none">
                                  </span></div>
                                <div dir="ltr"><span><br clear="none">
                                  </span></div>
                                <div dir="ltr"><span>obrigado pela
                                    atenção<br clear="none">
                                  </span></div>
                                <div dir="ltr"><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span><br clear="none">
                                  </span></div>
                                <div dir="ltr"><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span><br clear="none">
                                  </span></div>
                                <div dir="ltr"><br clear="none">
                                  <span></span></div>
                                <div dir="ltr"><span></span></div>
                                <div> </div>
                                <div>
                                  <div>
                                    <br clear="none">
                                    <br clear="none">
                                    André Oliveira Souza. <br clear="none">
                                    Graduação em Matemática, mestrado em
                                    estatística aplicada.Instituto
                                    Federal de Educação, Ciência e
                                    Tecnologia do Espirito Santo.  IFES
                                    <br clear="none">
                                    <br clear="none">
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                          <br clear="none">
_______________________________________________<br clear="none">
                          R-br mailing list<br clear="none">
                          <a rel="nofollow" shape="rect" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br clear="none">
                          <a rel="nofollow" shape="rect" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br clear="none">
                          Leia o guia de postagem (<a rel="nofollow" shape="rect" href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>)
                          e forneça código mínimo reproduzível.<br clear="none">
                        </blockquote>
                      </div>
                      <br clear="none">
                    </div>
                  </div>
                </div>
                <br clear="none">
                <br clear="none">
              </div>
            </div>
          </div>
        </div>
      </div>
      <br clear="none">
      <fieldset></fieldset>
      <br clear="none">
      <pre>_______________________________________________
R-br mailing list
<a rel="nofollow" shape="rect" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a>
<a rel="nofollow" shape="rect" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a rel="nofollow" shape="rect" href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</pre>
    </blockquote></div>
    <br clear="none">
  </div></div><br clear="none"><br clear="none"></div>  </div></div><div> </div></div><div>  </div></div></div></div></div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>