[R-br] Uso do laço for para impessão de mais de um arquivo gerado.

Michelle Bau Graczyk mbgraczyk em gmail.com
Sábado Março 14 12:25:02 BRT 2015


Oi Luis,

Assim fica bem mais elegante =)
Muito obrigada pela dica!

Queria aproveitar para perguntar se você saberia um jeito de obter do yahoo
usando o R todos os tickers das companhias pertencentes ao NIKKEI, porque
ao invés de escrever os 225 tickers no symbol, eu puxaria direto.

Muito obrigada mais uma vez!

Em 13 de março de 2015 09:50, Luis G. S. e Silva <lgsilvaesilva em gmail.com>
escreveu:

> Michelle,
>
> Essa tarefa pode ser realizada eliminado os loops (for) e algumas linha
> também.
> Dá uma olhadinha no script abaixo.
>
> Abraço
>
> symbol<-c("XOM","AAPL", "DIS")
>
> getCSV <- function(symbol){
>   URL <- paste0("http://chartapi.finance.yahoo.com/instrument/1.0/",
> symbol, "/chartdata;type=quote;range=1d/csv")
>   tab <- read.table(URL, sep = ",", dec = ".", skip = 17)
>   colnames(tab) <-
> paste(c("timestamp","close","high","low","open","volume"), 1:6, sep = "-")
>   rownames(tab) <- paste(symbol, 1:nrow(tab))
>   SAIDA <- paste0("Dados",symbol,"yahoo20150312.txt")
>   write.table(tab, file = SAIDA, sep = ";", dec = ".", header = T)
> }
>
> sapply(symbol, getCSV)
>
> 2015-03-13 9:34 GMT-03:00 Michelle Bau Graczyk <mbgraczyk em gmail.com>:
>
> Oi Augusto!
>>
>> Deu certo! Foi puro descuido mesmo com o symbols e o symbol!
>>
>> Muito obrigada!!
>>
>> Em 13 de março de 2015 09:00, Augusto Ribas <ribas.aca em gmail.com>
>> escreveu:
>>
>> Ignore meu comentário anterior, não tinha olhado a identação direito.
>>>
>>> symbols<-c("XOM","AAPL", "DIS")
>>> for(i in 1:length(symbols)){
>>>     symbol <- symbols[i]
>>>     URL <- paste0("http://chartapi.finance.yahoo.com/instrument/1.0/",
>>>               symbol, "/chartdata;type=quote;range=1d/csv")
>>>     tmp <- readLines(URL)
>>>     tabela<-tmp[18:length(tmp)]
>>>     tabela_split<-strsplit(tabela,",")
>>>     # matriz para receber os dados
>>>
>>> dados<-matrix(NA,ncol=length(tabela_split[[1]]),nrow=length(tabela_split))
>>>     for(j in 1:length(tabela_split)) {
>>>         dados[j,]<-as.numeric(tabela_split[[j]])
>>>     }
>>>     # organizar os nomes de colunas linhas
>>>     dimnames(dados)<-list(paste(symbol,1:length(tabela_split)),
>>>
>>> paste(c("timestamp","close","high","low","open","volume"),
>>>                                 1:length(tabela_split[[1]])))
>>>     SAIDA<-paste0("Dados",symbol,"yahoo20150312.txt")
>>>     write.table(dados,file= SAIDA)
>>>     }
>>>
>>> Mas seu codigo funcionou aqui, so mudei o começo ali
>>>
>>> symbol<-c("XOM","AAPL", "DIS")
>>> for(i in seq_along(symbols)){
>>>
>>>   symbol <- symbols[i]
>>>
>>>
>>> vc criava um vetor symbol e fazia o for no symbols.
>>> Mas rodando ali em cima ele criou certinho as três planilhas.
>>>
>>>
>>> Em 13 de março de 2015 07:51, Augusto Ribas <ribas.aca em gmail.com>
>>> escreveu:
>>>
>>> Imagino que você está salvando tudo mas sobrepondo os dados, salve com
>>>> nomes de arquivos diferentes, por exemplo no final do seu script tente algo
>>>> assim
>>>>
>>>>
>>>> write.table(dados,file= paste0("SAIDA_",i,".txt"))
>>>>
>>>>
>>>> Assim, você vai salvar um
>>>> SAIDA_XOM.txt
>>>> SAIDA_AAPL.txt
>>>> SAIDA_DIS.txt
>>>>
>>>>
>>>> E assim vai.
>>>>
>>>> Agora eu acho que você salva o XOM em SAIDA, depois salva por cima os
>>>> dados do AAPL no SAIDA, depois salva por cima os dados do DIS
>>>>
>>>> a função write.table sempre salva no mesmo lugar, o file= a mesma coisa
>>>> sempre.
>>>>
>>>> Em 12 de março de 2015 17:51, Michelle Bau Graczyk <mbgraczyk em gmail.com
>>>> > escreveu:
>>>>
>>>>> Boa noite,
>>>>>
>>>>> Com ajuda de colegas do grupo montei um programa para pegar dados do
>>>>> yahoo e organiza-los. Porém, eu preciso pegar para vårias empresas e por
>>>>> isso fiz um laço com o uso da função for para imprimir a saida. Porem, eu
>>>>> não estou conseguindo fazer com que ele imprima todos e sim, somente o
>>>>> ultimo elemento. No caso abaixo, ele só imprime e salva o arquivo referente
>>>>> a empresa DIS enquanto eu também quero das outras.
>>>>> Já tentei colocar o write.table no final da última chaves mas também
>>>>> não imprimiu de todos os arquivos.
>>>>>
>>>>> Muito obrigada!
>>>>>
>>>>> Michelle
>>>>>
>>>>>
>>>>> symbol<-c("XOM","AAPL", "DIS")
>>>>> for(i in seq_along(symbols)){
>>>>>
>>>>>   symbol <- symbols[i]
>>>>>
>>>>> URL <- paste0("http://chartapi.finance.yahoo.com/instrument/1.0/",
>>>>>               symbol, "/chartdata;type=quote;range=1d/csv")
>>>>>
>>>>> tmp <- readLines(URL)
>>>>>
>>>>> tabela<-tmp[18:length(tmp)]
>>>>>
>>>>> tabela_split<-strsplit(tabela,",")
>>>>>
>>>>> # matriz para receber os dados
>>>>>
>>>>> dados<-matrix(NA,ncol=length(tabela_split[[1]]),nrow=length(tabela_split))
>>>>>
>>>>>
>>>>> for(j in 1:length(tabela_split)) {
>>>>>   dados[j,]<-as.numeric(tabela_split[[j]])
>>>>> }
>>>>>
>>>>>
>>>>> # organizar os nomes de colunas linhas
>>>>>
>>>>> dimnames(dados)<-list(paste(symbol,1:length(tabela_split)),paste(c("timestamp","close","high","low","open","volume"),1:length(tabela_split[[1]])))
>>>>>
>>>>> SAIDA<-paste0("Dados",symbol,"yahoo20150312.txt")
>>>>>
>>>>> write.table(dados,file= SAIDA)
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> 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.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Grato
>>>> Augusto C. A. Ribas
>>>>
>>>> Site Pessoal: http://recologia.com.br/
>>>> <http://augustoribas.heliohost.org>
>>>> Github: https://github.com/Squiercg
>>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>>
>>>
>>>
>>>
>>> --
>>> Grato
>>> Augusto C. A. Ribas
>>>
>>> Site Pessoal: http://recologia.com.br/
>>> <http://augustoribas.heliohost.org>
>>> Github: https://github.com/Squiercg
>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>>
>>> _______________________________________________
>>> 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.
>>
>
>
>
> --
> Luís Gustavo Silva e Silva
>
> _______________________________________________
> 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/20150314/4eec8f67/attachment.html>


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