Prezado André, para não dar linhas duplicadas você pode colocar o objeto 
seguido de uma inicial para o ano por exemplo, se você tiver os objetos A, B, 
C, D, acrescente alguma codificação para o ano, A2014, A2015 e depois crie uma 
coluna qualitativa com os anos.
Att, Ari Clecius Alves de Lima
Engenheiro Químico
Me. Engenharia Civil
(085)84174333
(085)33669042 


     Em Terça-feira, 14 de Abril de 2015 13:54, Andre Oliveira 
<[email protected]> escreveu:
   

 Eu havia tentado resolver desta forma que foi sugestão dias atrás de uma 
membro do grupo, mas sem sucesso.
dados<-read.xls("lixo.xls", row.names=1, encoding = "latin1")
Erro em read.table(file = file, header = header, sep = sep, quote = quote,  :   
duplicate 'row.names' are not allowed  

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 Segunda-feira, 13 de Abril de 2015 21:47, Cesar Rabak 
<[email protected]> escreveu:
   

 André,
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. 
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.
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.
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):dados<-read.xls("lixo.xls", row.names=1, encoding = "latin1")

 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.
HTH--Cesar Rabak

2015-04-13 20:08 GMT-03:00 Andre Oliveira <[email protected]>:

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.




   
_______________________________________________
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.

Responder a