[R-br] Calculo de correlcao entre coluas que apresentam NAS de varias matrizes

Michelle Bau Graczyk mbgraczyk em gmail.com
Quinta Março 19 08:10:19 BRT 2015


Oi Éder,

primeiramente desculpe pelas mensagens. Não sabia que que elas seriam
enviadas, de verdade.Não farei mais isso.

Em segundo, é que não vou fazer estas correlações só com essas três
empresas, mas serão mais que 50. Por isso eu precisava criar um laço para
que seja calculada a correlação para cada uma dessas 50 empresas com elas
mesmo e entre elas para cada hora fixa. Dei três arquivos só de exemplo.

Por isso criei um for que "roda" a hora e um outro que "roda" as empresas.
Mas acho que quando uso a funçnao paste, ele não intende mais como objeto e
sim como string, não sei, posso estar enganada. Porém até agora não achei
outro modo de fazer.

Desculpe novamente pelas mensagens.

Obrigada,

Michelle

Em 18 de março de 2015 22:27, Éder Comunello <comunello.eder em gmail.com>
escreveu:

> Olá, Michelle!
>
> Inicialmente gostaria de sugerir que você disponibilizasse os links dos
> arquivos do Dropbox diretamente no teu script, evitando as diversas
> mensagens de compartilhamento na lista.
> Para isso você pode consultar o tópico que segue:
> <
> http://r-br.2285057.n4.nabble.com/R-br-Problema-em-abrir-conexao-com-source-do-Dropbox-Public-tp4662507.html
> >
>
> Quanto ao problema em si, não entendi muito bem, mas deixo um trecho de
> código que pode te ajudar:
>
> ### <code r>
> urls1 <- c("
> https://www.dropbox.com/s/kgxo3s8qrrv74p3/AAparaCalculodaMedia.txt",
>           "
> https://www.dropbox.com/s/fhutciprhgt077x/AIGparaCalculodaMedia.txt",
>           "
> https://www.dropbox.com/s/kvubgji1tce8sm8/AXPparaCalculodaMedia.txt")
>
> ### alterar links públicos para carregamento direto!
> urls2 <- sub("^.*/s/", "http://dl.dropbox.com/s/", urls1)
>
> AA  <- read.table(urls2[1], header=T, as.is=T)
> AIG <- read.table(urls2[2], header=T, as.is=T)
> AXP <- read.table(urls2[3], header=T, as.is=T)
>
> sapply(c("AA", "AIG", "AXP"), function(x) length(get(x))) ### tamanhos
> diferentes
> sapply(c("AA", "AIG", "AXP"), function(x) tail(names(get(x))))
>
> COR <- NULL
> for (i in 2:394) {
>      AA_AIG  <- cor(AA[,i],  AIG[,i],  use = "pairwise.complete.obs")
>      AA_AXP  <- cor(AA[,i],  AXP[,i],  use = "pairwise.complete.obs")
>      AIG_AXP <- cor(AIG[,i], AXP[,i],  use = "pairwise.complete.obs")
>      row <- data.frame(i, AA_AIG, AA_AXP, AIG_AXP)
>      COR <- rbind(COR, row)
> }
>
> head(COR)
> ### </code>
>
>
>
> Éder Comunello <c <comunello.eder em gmail.com>omunello.eder em gmail.com>
> Dourados, MS - [22 16.5'S, 54 49'W]
>
> 2015-03-18 13:38 GMT-04:00 Michelle Bau Graczyk <mbgraczyk em gmail.com>:
>
>> Boa tarde,
>>
>> Eu tenho tres matrizes de tres empresas diferentes que estao dispostas da
>> seguinte maneira:
>>
>> Empresa AA
>> data            9:31
>>             data
>> 09:31 09:32 09:33 09:34 09:35 09:36 09:37 09:38 09:39 09:40 09:41 09:42
>> 09:43 09:44  09:45  09:46  09:47
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> 2004-07-01 700 200 7000 9400 1300 1500 6300 1800 4300 1300 4800 3900 2500
>> 4300 4300
>>
>>
>>
>>
>>
>>
>>  2004-07-02 NA NA 68900 2800 4900 1200 12300 NA NA 6500 NA 2900 8900
>> 11600 26900
>>
>>
>>
>>
>>
>>
>>  2004-07-06 800 4400 13700 10700 4700 4000 18700 9000 2100 2300 700 8900
>> 10500 3900 8400
>>
>>
>>
>>
>>
>>
>>  2004-07-07 NA 5600 1000 7300 5600 11200 3900 5800 5700 4500 34400 4100
>> 500 15300 500
>>
>>
>>
>>
>>
>>
>>  2004-07-08 NA NA NA NA NA NA NA NA NA NA 154100 42400 16700 4700 5900
>>
>>
>>
>>
>>
>>
>>  2004-07-09 NA 96900 1000 20400 18300 18000 22500 4100 6000 1000 1900
>> 3700 600 2900 14600
>>
>>
>>
>>
>>
>>
>>  2004-07-12 1400 100 4500 3000 1300 4200 6500 4500 1600 1600 5600 7600
>> 1900 4600 8300
>>
>>
>>
>>
>>
>>
>>  2004-07-13 NA 5600 3400 16900 9000 5700 16500 1800 21000 6300 5900 12500
>> 51000 7500 13100
>>
>>
>>
>>
>>
>>
>>  2004-07-14 NA NA NA NA NA NA 164400 35000 41600 56600 27800 36500 55300
>> 29900 13100
>>
>>
>>
>>
>>
>>
>>  2004-07-15 NA 8100 2000 6100 4900 4500 2500 1400 5200 4100 5400 4000
>> 13400 3200 11300
>>
>>
>>
>>
>>
>>
>>  2004-07-16 282300 18100 30400 NA 15900 40800 9000 5300 5200 27600 7600
>> 12100 8400 1000 8400
>>
>>
>>
>>
>>
>>
>>  2004-07-19 28700 1700 2900 9500 400 2800 1100 6200 11500 17900 11100
>> 16000 6800 5200 7100
>>
>>
>>
>>
>>
>>
>>
>> Onde as datas vao de 2004-07-01 ate 2004-12-31(ao todo 128)  e os
>> horarios vao de 09:31 ate 16:04( ao todo 397)
>>
>> Eu quero calcular a correlacao entre essas tres empresas para cada hora
>> fixa,ou seja, para a empresa AA eu calculo com ela mesma e com a AIG e a
>> AXP para cada hora fixa, e por isso montei este programa:
>>
>> A<-read.table(file="/home/usuario/Documentos/AAparaCalculodaMedia.txt",
>> header=TRUE)
>> AA.<-as.matrix(AA)
>> ##write.table(AA.,"AA..txt")
>>
>> AXP<-read.table("/home/usuario/Documentos/AXPparaCalculodaMedia.txt",header=TRUE)
>> AXP.<-as.matrix(AXP)
>> ##write.table(AXP.,"AXP..txt")
>>
>> AIG<-read.table("/home/usuario/Documentos/AIGparaCalculodaMedia.txt",header=TRUE)
>> AIG.<-as.matrix(AIG)
>>
>> Symbols<-c("AA.","AIG.","AXP.")
>> matrizAA<-matrix()
>> j<-1
>> for (j in 1:length(Symbols)){
>>   empresa<-paste0(Symbols)#,"[",j,"]")
>>
>>   for (i in 2:397){
>>     empresa1<-as.numeric(paste0(empresa,"[,",i,"]"))
>>     head(empresa1)
>>     matrizAA[,i-1]<-cor(as.numeric(AA.[,i]), as.numeric(empresa1),
>> use="pairwise.complete.obs")
>>
>>   }
>>
>> }
>>
>> Mas da o erro: Erro em cor(as.numeric(AA.[, i]), as.numeric(empresa1),
>> use = "pairwise.complete.obs") :
>>   incompatible dimensions
>> Além disso: Mensagens de aviso perdidas:
>> NAs introduzidos por coerção
>>
>> Eu achava que usando o use = "pairwise.complete.obs" as correlacoes
>> seriam calculadas apenas entre pares de numeros, mas acho que isso nao esta
>> acontecendo.
>> Os tres arquivos vou deixar em dropbox.
>>
>> Muito obrigada,
>>
>> Michelle
>>
>> _______________________________________________
>> 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.
>>
>
>
> _______________________________________________
> 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/20150319/1047048e/attachment.html>


Mais detalhes sobre a lista de discussão R-br