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

Augusto Ribas ribas.aca em gmail.com
Sexta Março 13 09:00:03 BRT 2015


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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150313/28f46a71/attachment.html>


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