[R-br] Análise de Fatores PCA e Dendograma
Felipe
felipe.e.barletta em gmail.com
Segunda Abril 13 15:57:42 BRT 2015
André,
Assim como o Cesar comentou, não consegui identificar os data.frame por
ano que você menciona.
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?
O pacote prcomp() extrai sim as PCA's
No seu comando se colocar o argumento scale=T, ele vai criar as PCA's de
acordo com a matriz de correlação. Veja:
PCA <- prcomp(USArrests,scale=T)
summary(PCA)
names(PCA)
PCA$sdev #### Ríaz quadrada dos autovalores da matriz de correlação
PCA$rotation #### Matriz de autovetores normalizados
Comparando com os autovalores e autovetores da matriz de correlação terá
valores como os extraídos ao acima.
mcor <- cor(USArrests)
mcor
vv <- eigen(mcor)
vv
Logo desta forma terá suas PCA's. Por exemplo a PCA1:
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]
Y1
roY1x1 <- (vv$vectors[1,1]*sqrt(vv$values[1]))/sqrt(mvar[1,1]) ##
Correlação da PCA1 com Murder
roY1x1
roY1x2 <- (vv$vectors[2,1]*sqrt(vv$values[1]))/sqrt(mvar[2,2]) ##
Correlação da PCA1 com Assault
roY1x2
roY1x3 <- (vv$vectors[3,1]*sqrt(vv$values[1]))/sqrt(mvar[3,3]) ##
Correlação da PCA1 com UrbanPop
roY1x3
roY1x4 <- (vv$vectors[4,1]*sqrt(vv$values[1]))/sqrt(mvar[4,4]) ##
Correlação da PCA1 com Rape
roY1x4
On 12-04-2015 22:00, Andre Oliveira wrote:
> Cesar Rabak,
> 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 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
> USArrests2007, USArrests2009 e USArrests2010 são fictícios e estão ai
> apenas para ilustrar que tenho 3 bancos com mesma estrutura do USArrests.
>
> Dado que tenho apenas o USArrests, tudo pode ser resolvido com o CMR
> com pequenas variações de escala e padronização das variáveis se desejar.
>
> hc=hclust(dist(USArrests))
> plot(hc)
> summary(prcomp(USArrests))
>
> Obrigado
>
>
>
>
>
>
>
> André Oliveira Souza.
> Graduação em Matemática, mestrado em estatística aplicada.Instituto
> Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES
>
>
>
>
> Em Domingo, 12 de Abril de 2015 18:14, Cesar Rabak
> <cesar.rabak em gmail.com> escreveu:
>
>
> 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.
>
> 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...
>
> 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).
>
> Quanto aos comandos R que você colocou, eles não formam um CMR e por
> isso não dá para comentar a respeito.
>
> HTH
> --
> Cesar Rabak
>
> 2015-04-10 16:39 GMT-03:00 Andre Oliveira <andreolsouza em yahoo.com.br
> <mailto:andreolsouza em yahoo.com.br>>:
>
> Pessoal boa tarde,
> 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.
>
> dados= data.frame(USArrests2007, USArrests2009, USArrests2010) #
> Não sei se é data.frame aqui mesmo!
>
> V1=tapply(V1,grupos,mean)
> .
> .
> .
> .
> .
> Vn=tapply(Vn,grupos,mean)
>
> dadosmedio=cbind(V1, ........................,Vn)
> hclust(dist(dadosmedio)
> prcomp(dadosmédio)
>
> Ou usar a estrutura com Vn=tapply(Vn,grupos,sum) em vez de
> Vn=tapply(Vn,grupos,mean). Ou usar o próprio banco formado por
> USArrests2007, USArrests2009, USArrests2010.
>
> Caso falei besteira, desconsidere. Ficarei agradecido por sugestões.
>
>
> obrigado pela atenção
>
>
>
>
>
>
>
> André Oliveira Souza.
> Graduação em Matemática, mestrado em estatística
> aplicada.Instituto Federal de Educação, Ciência e Tecnologia do
> Espirito Santo. IFES
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br <mailto:R-br em listas.c3sl.ufpr.br>
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
> forneça código mínimo reproduzível.
>
>
>
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150413/f4e2a9ba/attachment.html>
Mais detalhes sobre a lista de discussão R-br