Baixando séries diretamente do SGS do Banco Central pelo R

Pesquisando pelos blogs a gente acaba conhecendo vários pacotes que fazem isso. Alguns ótimos, outros exageradamente grandes, mas minha dificuldade sempre foi fazer funcionar através do firewall do escritório. Pesquisei um pouco mais e adotei uma abordagem mais minimalista, baixando os dados direto das APIs dos institutos e trabalhando. Segue um código de exemplo simples, facilmente adaptável e a explicação:

Os dados do BCB estão acessíveis através de endereços web especialmente construídos, que podemos colocar no próprio browser. Vou usar como exemplo a série do IBC-BR, que é a série 24363. O endereço para ela é:

http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json

Se quiser, experimente colar este endereço no seu navegador. Os dados aparecem razoavelmente ordenados, de acordo com o formato JSON. Repare que o número da série é parte do endereço, portanto, para puxar outra série basta substituir o número dela no local correto.

Para o IBC reparei que a série não vai até o final quado chamada neste endereço. Para vir ela toda eu adiciono no fim uma data inicial e ele interpreta que quero tudo, até o fim. O endereço fica assim:

http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json&dataInicial=01/01/2001

Repare que coloquei 2001, mas os dados só começam em 2003. O R possui algumas bibliotecas que lêem os dados no formato JSON, eu escolhi usar a “jsonlite”.


library(jsonlite)

A função que lê os dados JSON é a fromJSON. Na linha a seguir mando ele baixar os dados do endereço, passo pelo fromJSON para traduzir para o formato data.frame e salvo em uma variável.


ibc = fromJSON("http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json&dataInicial=01/01/2001")

Se der um erro provavelmente você está no escritório e a TIC está bloqueando o acesso direto. Contornamos isso baixando os dados primeiro para um arquivo e lendo ele a partir daí.


download.file("http://api.bcb.gov.br/dados/serie/bcdata.sgs.24363/dados?formato=json&dataInicial=01/01/2001","ibcbr.json")
ibc = fromJSON("ibcbr.json")

Já podemos ler essa variável IBC no R normalmente, PARECE que está tudo certo. Se analisarmos mais profundamente, no entanto, vemos que os dados estão codificados como “caracteres” e não como números. Vamos fazer a conversão no R mesmo.


ibc$valor = as.numeric(ibc$valor)
ibc$data = as.Date(ibc$data,"%d/%m/%Y")

ibc

plot(ibc, type="l", main="IBC-BR", ylab="", xlab="")

O último gráfico deve ficar assim:

Rplot.jpg

Esse método vale para o BCB, mas para os demais órgãos é semelhante. Só é questão de descobrir como são formados os endereços e qual formato de arquivo eles usam. Por exemplo, no IBGE os endereços são formados com regras de acordo com esta página: http://api.sidra.ibge.gov.br/home/ajuda

Anúncios

Acesso aberto de periódicos? Vale a pena (#segundoestudos)

Assunto interessante, já falamos dele por aqui:

Poderíamos usar os recursos gastos globalmente em assinaturas de periódicos científicos por bibliotecas acadêmicas, centros de pesquisa e outros, e fazer sua transição, ou alterar sua proposta para custear a publicação destes mesmos periódicos e artigos em acesso aberto?

via Recursos gastos globalmente em assinaturas de periódicos podem ser completamente transferidos para um modelo de negócio de acesso aberto para liberar acesso aos periódicos? | SciELO em Perspectiva.

Peer-reviewed?

Algumas visões sobre a evolução do processo de publicação de artigos acadêmicos (peer-review). O único serviço prestado pelos jornais atuais é emprestar sua credibilidade. E cobram caro por isso, considerando que não pagam escritores, revisores e editores. Mesmo eu, logo após ter meu único artigo em co-autoria rejeitado pela publicação, fui convidado a revisar outro artigo. Por outro lado, jornais abertos ainda não tem credibilidade. Como conciliar novas teconologias de publicação e maior abertura na comunidade científica? Alguns pontos de partida nos artigos citados abaixo.

Of course, since the new technologies are making an overhaul of the system possible, and since there is widespread frustration with the current modus operandi especially among younger faculty, change will happen one way or another — witness the rise of open access and online journals that bypass traditional publishers. It’s only a question of which paths to take, and that’s where the conversation gets interesting.

via Rationally Speaking: Radical reform for peer review?.

Uma forma de modernizar e aprofundar o sistema é o utilizado pela revista Kairos. E se pudermos ir além acrescentando a credibilidade dos próprios institutos. E o Scielo? E o sistema do ExpressO no Direito?

Kairos uses a three-stage review process. First, editors decide if a submission makes sense for a review. Then, the entire editorial board discusses the submission (online) for two weeks, and reaches a consensus that is communicated to the author with detailed letters from the board. (Board members’ identities are public, so there is no secrecy about who reviews pieces.) Then, if appropriate, someone is assigned to work with the author to coach him or her on how to improve the piece prior to publication.

via Humanities scholars consider the role of peer review | Inside Higher Ed.

Por fim, a opinião do Krugman sobre o assunto, incluindo a questão da política dos departamentos e das publicações:

So, the starting point for me, when thinking about how economics works as a discipline, is to realize that the traditional model of submit, get refereed, publish, and then people will read your work broke down a long time ago. In fact, it had more or less fallen apart by the early 80s.Even then, nobody at a top school learned stuff by reading the journals; it was all working papers, with the journals serving as tombstones.

via Open Science And The Econoblogosphere – NYTimes.com.

Outra ideia interessante: posições rotativas de autor:

The way it works now is you write a paper then you send it to a journal and they review it and decide whether to publish it.  The basic unit is the paper.  What if we made the author the basic unit?  Instead of inviting submissions, Econometrica invites applications for the position of author.  Some number of authors are accepted and they can write whatever they want and have it published in Econometrica. The term would be temporary, maybe 1 year.

via Cheap Talk.

Leiam também isto. Trata-se de uma proposta de boicote à Elsevier. Alguns cientistas já declararam apoio e outros já se pronunciaram contra.