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

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-...
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@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] 2015-03-18 13:38 GMT-04:00 Michelle Bau Graczyk <mbgraczyk@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@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.

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@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-...
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@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
2015-03-18 13:38 GMT-04:00 Michelle Bau Graczyk <mbgraczyk@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@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@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.

Michelle, olá novamente! Os links que você compartilhou estão aparecendo apenas no histórico do Nabble <http://r-br.2285057.n4.nabble.com/>. Quem acessa a lista diretamente no email não recebe os links e não vai ter muito como ajudar muito. Pro meu script eu peguei de lá. A sugestão foi apenas pra ficar mais fácil de conseguir ajuda. Quanto ao uso do paste(), acredito que talvez você estivesse querendo fazer uso do comando get(). O get() permite recuperar um objeto a partir do nome armazenado como string. ### <code r> a <- 1:10 b <- round(rnorm(10),2) c <- a^2 nomes <- c("a", "b", "c") b # [1] 1.66 0.34 1.13 -0.70 -0.13 1.11 -0.13 -1.13 0.01 -0.19 nomes[2] # [1] "b" get(nomes[2]) # [1] 1.66 0.34 1.13 -0.70 -0.13 1.11 -0.13 -1.13 0.01 -0.19 ### >/code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] Em 19 de março de 2015 07:10, Michelle Bau Graczyk <mbgraczyk@gmail.com> escreveu:
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@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-...
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@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
2015-03-18 13:38 GMT-04:00 Michelle Bau Graczyk <mbgraczyk@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@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@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@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.

Michelle, Aproveitando seu código inicial, pensei em algo assim... ### <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") 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) Symbols <- c("AA", "AIG", "AXP") sapply(Symbols, function(x) length(get(x))) sapply(Symbols, function(x) nrow(get(x))) sapply(Symbols, function(x) tail(names(get(x)),1)) ### Correlações entre leituras diferentes da mesma empresa cor(AA[2:394], use="pairwise.complete.obs") cor(AIG[2:394], use="pairwise.complete.obs") cor(AXP[2:394], use="pairwise.complete.obs") ### Correlações entre mesma leitura das diferentes empresas ### Testando com 4 matrizes Symbols <- c("AA", "AIG", "AXP", "AXP") COR <- NULL for (i in 2:394) { DAT <- NULL for (a in Symbols) { col <- get(a)[,i] DAT <- cbind(DAT, col) } lin <- cbind(ID=i, cor(DAT, use="pairwise.complete.obs")) colnames(lin) <- c("ID", Symbols) COR <- rbind(COR, lin) } ### As 4 matrizes originariam uma matriz cor 4x4 para cada leitura ### As matrizes cor foram empilhadas em uma saída única (COR), onde ### cada 4 linhas são referentes à uma leitura identificada por ID. head(COR) # ID AA AIG AXP AXP # col 2 1.00000000 0.64408120 -0.088884203 -0.088884203 # col 2 0.64408120 1.00000000 -0.109883913 -0.109883913 # col 2 -0.08888420 -0.10988391 1.000000000 1.000000000 # col 2 -0.08888420 -0.10988391 1.000000000 1.000000000 # col 3 1.00000000 0.01779314 0.003447422 0.003447422 # col 3 0.01779314 1.00000000 0.158657131 0.158657131 ### </code> Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]

Oi Éder, usando o get deu certo!!!! Muito obrigada! E o programa também que você montou, muito obrigada! Assim eu começo a aperfeiçoar a lógica do R. Mais uma vez muito obrigada! Em 19 de março de 2015 15:40, Éder Comunello <comunello.eder@gmail.com> escreveu:
Michelle,
Aproveitando seu código inicial, pensei em algo assim...
### <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")
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)
Symbols <- c("AA", "AIG", "AXP") sapply(Symbols, function(x) length(get(x))) sapply(Symbols, function(x) nrow(get(x))) sapply(Symbols, function(x) tail(names(get(x)),1))
### Correlações entre leituras diferentes da mesma empresa cor(AA[2:394], use="pairwise.complete.obs") cor(AIG[2:394], use="pairwise.complete.obs") cor(AXP[2:394], use="pairwise.complete.obs")
### Correlações entre mesma leitura das diferentes empresas ### Testando com 4 matrizes Symbols <- c("AA", "AIG", "AXP", "AXP")
COR <- NULL for (i in 2:394) { DAT <- NULL for (a in Symbols) { col <- get(a)[,i] DAT <- cbind(DAT, col) } lin <- cbind(ID=i, cor(DAT, use="pairwise.complete.obs")) colnames(lin) <- c("ID", Symbols) COR <- rbind(COR, lin) }
### As 4 matrizes originariam uma matriz cor 4x4 para cada leitura ### As matrizes cor foram empilhadas em uma saída única (COR), onde ### cada 4 linhas são referentes à uma leitura identificada por ID.
head(COR) # ID AA AIG AXP AXP # col 2 1.00000000 0.64408120 -0.088884203 -0.088884203 # col 2 0.64408120 1.00000000 -0.109883913 -0.109883913 # col 2 -0.08888420 -0.10988391 1.000000000 1.000000000 # col 2 -0.08888420 -0.10988391 1.000000000 1.000000000 # col 3 1.00000000 0.01779314 0.003447422 0.003447422 # col 3 0.01779314 1.00000000 0.158657131 0.158657131 ### </code>
Éder Comunello <c <comunello.eder@gmail.com>omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W]
_______________________________________________ R-br mailing list R-br@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.

Tentei rodar e não consegui. Precisa de alguma biblioteca para isto? 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 <mailto:comunello.eder@gmail.com> omunello.eder@gmail.com> Dourados, MS - [22 16.5'S, 54 49'W] --- Este email foi escaneado pelo Avast antivírus. http://www.avast.com
participantes (3)
-
Mauro Sznelwar
-
Michelle Bau Graczyk
-
Éder Comunello