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@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@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@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@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]
  
              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@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
 



--
Grato
Augusto C. A. Ribas
 

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



--
Luís Gustavo Silva e Silva