<html><body><div style="color:#000; background-color:#fff; font-family:bookman old style, new york, times, serif;font-size:16px"><div id="yiv8236893193"><div id="yui_3_16_0_1_1428962125462_48880"><div id="yui_3_16_0_1_1428962125462_48879" style="color:#000;background-color:#fff;font-family:bookman old style, new york, times, serif;font-size:16px;"><div id="yui_3_16_0_1_1428962125462_54171">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 style="" class="" id="yiv2670022203yui_3_16_0_1_1428692662702_21091">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" id="yui_3_16_0_1_1428962125462_49398">
dados<-read.xls("lixo.xls",encoding = "latin1")<br style="" class="">str(dados)<br style="" class="">'data.frame': 270 obs. of 5 variables:<br style="" class=""> $ UF: Factor w/ 27 levels "AC","AL","AM",..: 1 2 3 4 5 6 7 8 9 10 ...<br style="" class=""> $ V1: int 0 1 2 0 15 14 7 7 2 0 ...<br style="" class=""> $ V2: int 15 15 15 15 15 15 15 15 15 15 ...<br style="" class=""> $ V3: int 15 15 15 15 15 15 15 15 15 15 ...<br style="" class=""> $ V4: int 136 543 718 98 2976 2242 306 377 859 830 ...</div><div id="yui_3_16_0_1_1428962125462_50500" dir="ltr"><br></div><div id="yui_3_16_0_1_1428962125462_50704" dir="ltr">PCA <- prcomp(dados,scale=T)<br style="" class="">Erro em colMeans(x, na.rm = TRUE) : 'x' deve ser numérico</div><div id="yui_3_16_0_1_1428962125462_51013" dir="ltr"><br></div><div id="yui_3_16_0_1_1428962125462_51239" dir="ltr">hc<-hclust(dist(dados),method='ward.D')<br style="" class="">Mensagens de aviso perdidas:<br style="" class="">In dist(dados) : NAs introduzidos por coerção<br></div><div id="yui_3_16_0_1_1428962125462_50703" dir="ltr"><br></div><div id="yui_3_16_0_1_1428962125462_51968" dir="ltr"><br></div><div id="yui_3_16_0_1_1428962125462_51763" dir="ltr">Claro que também testei ...colocando ANO no banco dados ...e TOTAL outras alternativas <br></div><div id="yui_3_16_0_1_1428962125462_51987" dir="ltr"><br></div><div id="yui_3_16_0_1_1428962125462_51969" dir="ltr"> UF2=relevel(UF, ref = "PR")<br style="" class="">fit.model=glm(TOTAL~UF2+factor(ANO), family = Gamma))<br style="" class="">summary(fit.model)<br><span style="" class="" id="yiv2670022203yui_3_16_0_1_1428692662702_21091"></span></div><div id="yui_3_16_0_1_1428962125462_49399"><br></div><div id="yui_3_16_0_1_1428962125462_53736"><br><span style="" class="" id="yiv2670022203yui_3_16_0_1_1428692662702_21091"></span></div><div id="yiv8236893193yui_3_16_0_1_1428962125462_44467"><span></span></div><div id="yiv8236893193yui_3_16_0_1_1428962125462_44468"><div id="yui_3_16_0_1_1428962125462_52428" 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 id="yui_3_16_0_1_1428962125462_52647" 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 style="" class="" id="yui_3_16_0_1_1428962125462_52647" dir="ltr"> obrigado <br></div></div><div id="yiv8236893193yui_3_16_0_1_1428962125462_44648"><div id="yiv8236893193yui_3_16_0_1_1428962125462_44647">
<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 id="yui_3_16_0_1_1428962125462_52426" class="yiv8236893193qtdSeparateBR"><br clear="none"><br clear="none"></div></div><div class="" id="yui_3_16_0_1_1428962125462_48879" style="color:#000;background-color:#fff;font-family:bookman old style, new york, times, serif;font-size:16px;"> </div></div></div><div class=".yiv8236893193yahoo_quoted"> <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 class="qtdSeparateBR"><br><br></div><div class="yiv8236893193yqt1667537228" id="yiv8236893193yqtfd85858"><div dir="ltr"> <font size="2" face="Arial"> Em Segunda-feira, 13 de Abril de 2015 15:57, Felipe <felipe.e.barletta@gmail.com> escreveu:<br clear="none"> </font> </div> <br clear="none"><br clear="none"> <div class="yiv8236893193y_msg_container"><div id="yiv8236893193"><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 class="yiv8236893193yqt2598088272" id="yiv8236893193yqt51022"><div class="yiv8236893193moz-cite-prefix">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 id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_6318" 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" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_6319" 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 class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_10868" 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 class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_10868" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;">USArrests. </span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"><br clear="none">
</span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><font id="yiv8236893193yui_3_16_0_1_1428885607258_14979" face="Helvetica Neue, Segoe UI, Helvetica, Arial, Lucida Grande, sans-serif"><span id="yiv8236893193yui_3_16_0_1_1428885607258_14978" style="font-size:13px;">Dado que tenho
apenas o </span></font><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_10868" 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" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"><br clear="none">
</span></div>
<div class="yiv8236893193" dir="ltr" id="yiv8236893193yui_3_16_0_1_1428692662702_21288" style=""><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428692662702_21091" style="">hc=hclust(dist(</span><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_13872" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;">USArrests)</span>)</div>
<div class="yiv8236893193" dir="ltr" id="yiv8236893193yui_3_16_0_1_1428692662702_21288" style="">plot(hc)</div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"></span></div>
<div class="yiv8236893193" dir="ltr" id="yiv8236893193yui_3_16_0_1_1428692662702_21303" style=""><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428692662702_21091" style="">summary(prcomp(</span><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_13873" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;">USArrests</span>))</div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"><br clear="none">
</span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" id="yiv8236893193yui_3_16_0_1_1428885607258_12964" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;">Obrigado </span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"><br clear="none">
</span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"><br clear="none">
</span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><span class="yiv8236893193" style="font-family:'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:13px;"><br clear="none">
</span></div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><br clear="none">
</div>
<div dir="ltr" id="yiv8236893193yui_3_16_0_1_1428885607258_5993"><br clear="none">
</div>
<div id="yiv8236893193yui_3_16_0_1_1428885607258_5992"> </div>
<div id="yiv8236893193yui_3_16_0_1_1428885607258_5983">
<div id="yiv8236893193yui_3_16_0_1_1428885607258_5982">
<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 class="yiv8236893193qtdSeparateBR"><br clear="none">
<br clear="none">
</div>
<div class="yiv8236893193yahoo_quoted" 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" class="yiv8236893193moz-txt-link-rfc2396E" ymailto="mailto:cesar.rabak@gmail.com" target="_blank" href="mailto:cesar.rabak@gmail.com"><cesar.rabak@gmail.com></a> escreveu:<br clear="none">
</font> </div>
<br clear="none">
<br clear="none">
<div class="yiv8236893193y_msg_container">
<div id="yiv8236893193">
<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 class="yiv8236893193gmail_extra"><br clear="none">
<div class="yiv8236893193gmail_quote">2015-04-10
16:39 GMT-03:00 Andre Oliveira <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:andreolsouza@yahoo.com.br" target="_blank" href="mailto:andreolsouza@yahoo.com.br">andreolsouza@yahoo.com.br</a>></span>:<br clear="none">
<blockquote class="yiv8236893193gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="yiv8236893193yqt5422653120" id="yiv8236893193yqt35273">
<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" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br clear="none">
<a rel="nofollow" shape="rect" target="_blank" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">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" target="_blank" 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.<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 class="yiv8236893193mimeAttachmentHeader"></fieldset>
<br clear="none">
<pre>_______________________________________________
R-br mailing list
<a rel="nofollow" shape="rect" class="yiv8236893193moz-txt-link-abbreviated" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a rel="nofollow" shape="rect" class="yiv8236893193moz-txt-link-freetext" target="_blank" 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 rel="nofollow" shape="rect" class="yiv8236893193moz-txt-link-freetext" target="_blank" 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></div>
<br clear="none">
</div></div><br clear="none"><br clear="none"></div> </div></div><div class="yiv8236893193yqt1667537228" id="yiv8236893193yqtfd64653"> </div></div><div class="yiv8236893193yqt1667537228" id="yiv8236893193yqtfd07286"> </div></div></div></body></html>