Manipulação de tabela obtida com o getURL

Boa noite, Estou tentando coletar dados intraday do yahoo finance e manipular os dados obtidos excluindo todo cabeçalho, ou seja as 18 primeiras linhas, e tentando separar em colunas os dados restantes nas outras linhas. Já fiz várias tentaivas usando read.table, write,table e suas complementares e não obtive êxito. Alguém poderia por favor me ajudar? Abaixo segue o código e o que ele me fornece. Muito obrigada! Michelle library(RCurl) tmp <- getURL(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ') tmp2<-paste(tmp, sep=",", dec='.') write.table(tmp2, "AAPL.txt") "x" "1" "uri:/instrument/1.0/AAPL/chartdata;type=quote;range=1d/csv ticker:aapl Company-Name:Apple Inc. Exchange-Name:NMS unit:MIN timezone:EST currency:USD gmtoffset:-18000 previous_close:133.0000 Timestamp:1424788200,1424811600 labels:1424790000,1424793600,1424797200,1424800800,1424804400,1424808000,1424811600 values:Timestamp,close,high,low,open,volume close:131.3100,133.5873 high:131.5000,133.6000 low:131.1700,133.5000 open:131.2700,133.5800 volume:0,2250400 1424788200,132.7800,132.9400,132.5100,132.9400,2077100 1424788260,132.6467,132.8000,132.6350,132.7300,503100 1424788379,132.5601,132.6500,132.3600,132.6500,625100 1424788380,132.0966,132.5700,132.0900,132.5600,553200 1424788440,132.2300,132.2600,132.0500,132.0900,579800 ….

Existem pacotes que fazem isso de maneira mais simples, precisa utilizar o rcurl? Boa noite, Estou tentando coletar dados intraday do yahoo finance e manipular os dados obtidos excluindo todo cabeçalho, ou seja as 18 primeiras linhas, e tentando separar em colunas os dados restantes nas outras linhas. Já fiz várias tentaivas usando read.table, write,table e suas complementares e não obtive êxito. Alguém poderia por favor me ajudar? Abaixo segue o código e o que ele me fornece. Muito obrigada! Michelle library(RCurl) tmp <- getURL(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ') tmp2<-paste(tmp, sep=",", dec='.') write.table(tmp2, "AAPL.txt") "x" "1" "uri:/instrument/1.0/AAPL/chartdata;type=quote;range=1d/csv ticker:aapl Company-Name:Apple Inc. Exchange-Name:NMS unit:MIN timezone:EST currency:USD gmtoffset:-18000 previous_close:133.0000 Timestamp:1424788200,1424811600 labels:1424790000,1424793600,1424797200,1424800800,1424804400,1424808000,1424811600 values:Timestamp,close,high,low,open,volume close:131.3100,133.5873 high:131.5000,133.6000 low:131.1700,133.5000 open:131.2700,133.5800 volume:0,2250400 1424788200,132.7800,132.9400,132.5100,132.9400,2077100 1424788260,132.6467,132.8000,132.6350,132.7300,503100 1424788379,132.5601,132.6500,132.3600,132.6500,625100 1424788380,132.0966,132.5700,132.0900,132.5600,553200 1424788440,132.2300,132.2600,132.0500,132.0900,579800 …. _______________________________________________ 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.

Não precisa não, só preciso que os dados obtidos tenham freqüência de um minuto. Estou aprendendo a linguagem R agora e por isso estou meio que tentando de todos os jeitos. Qualquer sugestão é bem vinda =D Em 25 de fevereiro de 2015 20:43, Jelson Ventura Fresca <jelsonvf@gmail.com> escreveu:
Existem pacotes que fazem isso de maneira mais simples, precisa utilizar o rcurl? Boa noite,
Estou tentando coletar dados intraday do yahoo finance e manipular os dados obtidos excluindo todo cabeçalho, ou seja as 18 primeiras linhas, e tentando separar em colunas os dados restantes nas outras linhas. Já fiz várias tentaivas usando read.table, write,table e suas complementares e não obtive êxito. Alguém poderia por favor me ajudar? Abaixo segue o código e o que ele me fornece. Muito obrigada! Michelle
library(RCurl)
tmp <- getURL(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ')
tmp2<-paste(tmp, sep=",", dec='.')
write.table(tmp2, "AAPL.txt")
"x" "1" "uri:/instrument/1.0/AAPL/chartdata;type=quote;range=1d/csv ticker:aapl Company-Name:Apple Inc. Exchange-Name:NMS unit:MIN timezone:EST currency:USD gmtoffset:-18000 previous_close:133.0000 Timestamp:1424788200,1424811600
labels:1424790000,1424793600,1424797200,1424800800,1424804400,1424808000,1424811600 values:Timestamp,close,high,low,open,volume close:131.3100,133.5873 high:131.5000,133.6000 low:131.1700,133.5000 open:131.2700,133.5800 volume:0,2250400 1424788200,132.7800,132.9400,132.5100,132.9400,2077100 1424788260,132.6467,132.8000,132.6350,132.7300,503100 1424788379,132.5601,132.6500,132.3600,132.6500,625100 1424788380,132.0966,132.5700,132.0900,132.5600,553200 1424788440,132.2300,132.2600,132.0500,132.0900,579800 ….
_______________________________________________ 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.

Não entendi a "freqüência de um minuto", mas segue uma sugestão em script abaixo, espero que ajude. #um link simples da para ler com readLines também tmp <- readLines(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ') #Se o link não varia muito, da pra simplismente no olho escolher a linha de interesse #Outra opção é usar uma expressão regular para achar a primeira linha onde começa os números head(tmp,20) tabela<-tmp[18:length(tmp)] #Depois como parece que os dados estão separados por virgulas, da para usar #strsplit em virgulas, ele vai retornar uma lista, olhe para a primeira linha strsplit(tabela[1],",") tabela_split<-strsplit(tabela,",") #então podemos criar uma matriz para receber os dados dados<-matrix(NA,ncol=length(tabela_split[[1]]),nrow=length(tabela_split)) head(dados) # e de forma pouco efiente usar um loop para colocar os dados nele, ja convertendo #para numerico, seria melhor um lapply aqui, eu acredito, mas assim é mais facil entender #eu acho for(i in 1:length(tabela_split)) { dados[i,]<-as.numeric(tabela_split[[i]]) } head(dados) #Ai da para organizar os nomes de colunas linhas dimnames(dados)<-list(paste("Linha",1:length(tabela_split)),paste("Coluna",1:length(tabela_split[[1]]))) head(dados) Em 25 de fevereiro de 2015 19:53, Michelle Bau Graczyk <mbgraczyk@gmail.com> escreveu:
Não precisa não, só preciso que os dados obtidos tenham freqüência de um minuto. Estou aprendendo a linguagem R agora e por isso estou meio que tentando de todos os jeitos. Qualquer sugestão é bem vinda =D
Em 25 de fevereiro de 2015 20:43, Jelson Ventura Fresca < jelsonvf@gmail.com> escreveu:
Existem pacotes que fazem isso de maneira mais simples, precisa utilizar o
rcurl? Boa noite,
Estou tentando coletar dados intraday do yahoo finance e manipular os dados obtidos excluindo todo cabeçalho, ou seja as 18 primeiras linhas, e tentando separar em colunas os dados restantes nas outras linhas. Já fiz várias tentaivas usando read.table, write,table e suas complementares e não obtive êxito. Alguém poderia por favor me ajudar? Abaixo segue o código e o que ele me fornece. Muito obrigada! Michelle
library(RCurl)
tmp <- getURL(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ')
tmp2<-paste(tmp, sep=",", dec='.')
write.table(tmp2, "AAPL.txt")
"x" "1" "uri:/instrument/1.0/AAPL/chartdata;type=quote;range=1d/csv ticker:aapl Company-Name:Apple Inc. Exchange-Name:NMS unit:MIN timezone:EST currency:USD gmtoffset:-18000 previous_close:133.0000 Timestamp:1424788200,1424811600
labels:1424790000,1424793600,1424797200,1424800800,1424804400,1424808000,1424811600 values:Timestamp,close,high,low,open,volume close:131.3100,133.5873 high:131.5000,133.6000 low:131.1700,133.5000 open:131.2700,133.5800 volume:0,2250400 1424788200,132.7800,132.9400,132.5100,132.9400,2077100 1424788260,132.6467,132.8000,132.6350,132.7300,503100 1424788379,132.5601,132.6500,132.3600,132.6500,625100 1424788380,132.0966,132.5700,132.0900,132.5600,553200 1424788440,132.2300,132.2600,132.0500,132.0900,579800 ….
_______________________________________________ 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.
-- 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

Talvez o comando a seguir... dados <- read.csv(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r...', skip=17, header=FALSE) Em 26 de fevereiro de 2015 09:20, Augusto Ribas <ribas.aca@gmail.com> escreveu:
Não entendi a "freqüência de um minuto", mas segue uma sugestão em script abaixo, espero que ajude.
#um link simples da para ler com readLines também tmp <- readLines(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ') #Se o link não varia muito, da pra simplismente no olho escolher a linha de interesse #Outra opção é usar uma expressão regular para achar a primeira linha onde começa os números head(tmp,20) tabela<-tmp[18:length(tmp)]
#Depois como parece que os dados estão separados por virgulas, da para usar #strsplit em virgulas, ele vai retornar uma lista, olhe para a primeira linha strsplit(tabela[1],",") tabela_split<-strsplit(tabela,",")
#então podemos criar uma matriz para receber os dados dados<-matrix(NA,ncol=length(tabela_split[[1]]),nrow=length(tabela_split)) head(dados)
# e de forma pouco efiente usar um loop para colocar os dados nele, ja convertendo #para numerico, seria melhor um lapply aqui, eu acredito, mas assim é mais facil entender #eu acho for(i in 1:length(tabela_split)) { dados[i,]<-as.numeric(tabela_split[[i]]) } head(dados)
#Ai da para organizar os nomes de colunas linhas
dimnames(dados)<-list(paste("Linha",1:length(tabela_split)),paste("Coluna",1:length(tabela_split[[1]]))) head(dados)
Em 25 de fevereiro de 2015 19:53, Michelle Bau Graczyk < mbgraczyk@gmail.com> escreveu:
Não precisa não, só preciso que os dados obtidos tenham freqüência de um
minuto. Estou aprendendo a linguagem R agora e por isso estou meio que tentando de todos os jeitos. Qualquer sugestão é bem vinda =D
Em 25 de fevereiro de 2015 20:43, Jelson Ventura Fresca < jelsonvf@gmail.com> escreveu:
Existem pacotes que fazem isso de maneira mais simples, precisa utilizar
o rcurl? Boa noite,
Estou tentando coletar dados intraday do yahoo finance e manipular os dados obtidos excluindo todo cabeçalho, ou seja as 18 primeiras linhas, e tentando separar em colunas os dados restantes nas outras linhas. Já fiz várias tentaivas usando read.table, write,table e suas complementares e não obtive êxito. Alguém poderia por favor me ajudar? Abaixo segue o código e o que ele me fornece. Muito obrigada! Michelle
library(RCurl)
tmp <- getURL(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ')
tmp2<-paste(tmp, sep=",", dec='.')
write.table(tmp2, "AAPL.txt")
"x" "1" "uri:/instrument/1.0/AAPL/chartdata;type=quote;range=1d/csv ticker:aapl Company-Name:Apple Inc. Exchange-Name:NMS unit:MIN timezone:EST currency:USD gmtoffset:-18000 previous_close:133.0000 Timestamp:1424788200,1424811600
labels:1424790000,1424793600,1424797200,1424800800,1424804400,1424808000,1424811600 values:Timestamp,close,high,low,open,volume close:131.3100,133.5873 high:131.5000,133.6000 low:131.1700,133.5000 open:131.2700,133.5800 volume:0,2250400 1424788200,132.7800,132.9400,132.5100,132.9400,2077100 1424788260,132.6467,132.8000,132.6350,132.7300,503100 1424788379,132.5601,132.6500,132.3600,132.6500,625100 1424788380,132.0966,132.5700,132.0900,132.5600,553200 1424788440,132.2300,132.2600,132.0500,132.0900,579800 ….
_______________________________________________ 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.
-- 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@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.
-- Marcos F. Silva http://sites.google.com/site/marcosfs2006

Oi Augusto e Marcos, Muuito obrigada pelas dicas! Agora vou tentar criar um laço para pegar de todas as empresas pertencentes ao "grupo" NASDAQ. Michelle Em 26 de fevereiro de 2015 09:20, Augusto Ribas <ribas.aca@gmail.com> escreveu:
Não entendi a "freqüência de um minuto", mas segue uma sugestão em script abaixo, espero que ajude.
#um link simples da para ler com readLines também tmp <- readLines(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ') #Se o link não varia muito, da pra simplismente no olho escolher a linha de interesse #Outra opção é usar uma expressão regular para achar a primeira linha onde começa os números head(tmp,20) tabela<-tmp[18:length(tmp)]
#Depois como parece que os dados estão separados por virgulas, da para usar #strsplit em virgulas, ele vai retornar uma lista, olhe para a primeira linha strsplit(tabela[1],",") tabela_split<-strsplit(tabela,",")
#então podemos criar uma matriz para receber os dados dados<-matrix(NA,ncol=length(tabela_split[[1]]),nrow=length(tabela_split)) head(dados)
# e de forma pouco efiente usar um loop para colocar os dados nele, ja convertendo #para numerico, seria melhor um lapply aqui, eu acredito, mas assim é mais facil entender #eu acho for(i in 1:length(tabela_split)) { dados[i,]<-as.numeric(tabela_split[[i]]) } head(dados)
#Ai da para organizar os nomes de colunas linhas
dimnames(dados)<-list(paste("Linha",1:length(tabela_split)),paste("Coluna",1:length(tabela_split[[1]]))) head(dados)
Em 25 de fevereiro de 2015 19:53, Michelle Bau Graczyk < mbgraczyk@gmail.com> escreveu:
Não precisa não, só preciso que os dados obtidos tenham freqüência de um
minuto. Estou aprendendo a linguagem R agora e por isso estou meio que tentando de todos os jeitos. Qualquer sugestão é bem vinda =D
Em 25 de fevereiro de 2015 20:43, Jelson Ventura Fresca < jelsonvf@gmail.com> escreveu:
Existem pacotes que fazem isso de maneira mais simples, precisa utilizar
o rcurl? Boa noite,
Estou tentando coletar dados intraday do yahoo finance e manipular os dados obtidos excluindo todo cabeçalho, ou seja as 18 primeiras linhas, e tentando separar em colunas os dados restantes nas outras linhas. Já fiz várias tentaivas usando read.table, write,table e suas complementares e não obtive êxito. Alguém poderia por favor me ajudar? Abaixo segue o código e o que ele me fornece. Muito obrigada! Michelle
library(RCurl)
tmp <- getURL(' http://chartapi.finance.yahoo.com/instrument/1.0/AAPL/chartdata;type=quote;r... ')
tmp2<-paste(tmp, sep=",", dec='.')
write.table(tmp2, "AAPL.txt")
"x" "1" "uri:/instrument/1.0/AAPL/chartdata;type=quote;range=1d/csv ticker:aapl Company-Name:Apple Inc. Exchange-Name:NMS unit:MIN timezone:EST currency:USD gmtoffset:-18000 previous_close:133.0000 Timestamp:1424788200,1424811600
labels:1424790000,1424793600,1424797200,1424800800,1424804400,1424808000,1424811600 values:Timestamp,close,high,low,open,volume close:131.3100,133.5873 high:131.5000,133.6000 low:131.1700,133.5000 open:131.2700,133.5800 volume:0,2250400 1424788200,132.7800,132.9400,132.5100,132.9400,2077100 1424788260,132.6467,132.8000,132.6350,132.7300,503100 1424788379,132.5601,132.6500,132.3600,132.6500,625100 1424788380,132.0966,132.5700,132.0900,132.5600,553200 1424788440,132.2300,132.2600,132.0500,132.0900,579800 ….
_______________________________________________ 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.
-- 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@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.
participantes (4)
-
Augusto Ribas
-
Jelson Ventura Fresca
-
Marcos Silva
-
Michelle Bau Graczyk