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
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.
dados<-read.xls("lixo.xls",encoding = "latin1")
str(dados)
'data.frame': 270 obs. of 5 variables:
$ UF: Factor w/ 27 levels "AC","AL","AM",..: 1 2 3 4 5 6 7 8 9 10 ...
$ V1: int 0 1 2 0 15 14 7 7 2 0 ...
$ V2: int 15 15 15 15 15 15 15 15 15 15 ...
$ V3: int 15 15 15 15 15 15 15 15 15 15 ...
$ V4: int 136 543 718 98 2976 2242 306 377 859 830 ...
PCA <- prcomp(dados,scale=T)
Erro em colMeans(x, na.rm = TRUE) : 'x' deve ser numérico
hc<-hclust(dist(dados),method='ward.D')
Mensagens de aviso perdidas:
In dist(dados) : NAs introduzidos por coerção
Claro que também testei ...colocando ANO no banco dados ...e TOTAL outras
alternativas
UF2=relevel(UF, ref = "PR")
fit.model=glm(TOTAL~UF2+factor(ANO), family = Gamma))
summary(fit.model)
Mas, enfim qual estrutura nos banco de dados eu poderia usar para corrigir o
erros descritos em prcomp e hclust apenas para testes?
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.
obrigado
André Oliveira Souza.
Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de
Educação, Ciência e Tecnologia do Espírito Santo. IFES
Em Segunda-feira, 13 de Abril de 2015 15:57, Felipe
<[email protected]> escreveu:
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
<[email protected]> 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 <[email protected]>:
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
[email protected]
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
[email protected]
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
[email protected]
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.