Em postagens anteriores, mostrei como recuperar e usar dados do Twitter (twitteR), Yahoo Finance (quantmod), The Guardian (GuardianR) e OECD (oecd R-package). Neste post mostro como acessar os dados do FRED com uma chave de API, usando o R-package disponível: fredr. Uma boa documentação para começar com o pacote fredr também foi publicada pelos autores:
http://sboysel.github.io/fredr/articles/fredr.html
Eu demonstro o processo de recuperação de dados para dados de séries temporais FRED usando a produção de carros domésticos nos Estados Unidos e vendas de carros importados como exemplo.
O primeiro passo é configurar a chave API FRED no script R. Para isso, você deve se registrar no FRED e copiar e colar a API-key. Você pode fazer isso aqui: https://research.stlouisfed.org/useraccount/apikey
#install.packages("fredr")
library(fredr)
fredr_set_key(api_key)
Depois que a chave API FRED tiver sido configurada usando a função fredr_set_key, a função fredr_series_search_text habilitará uma pesquisa de série temporal no banco de dados FRED:
search_ls <- fredr_series_search_text("car production")
colnames(search_ls)
## [1] "id" "realtime_start"
## [3] "realtime_end" "title"
## [5] "observation_start" "observation_end"
## [7] "frequency" "frequency_short"
## [9] "units" "units_short"
## [11] "seasonal_adjustment" "seasonal_adjustment_short"
## [13] "last_updated" "popularity"
## [15] "group_popularity" "notes"
A função fredr_series_search_text retorna uma lista que resume os resultados da pesquisa, fornecendo uma visão geral de IDs relevantes e características importantes do conjunto de dados, como, por exemplo, ajuste sazonal.
Usando fredr_series_observations, é possível recuperar os dados de série temporal desejados especificando o ID da série relevante . Com a função do.call, pode-se converter a lista de séries temporais retornada em um quadro de dados, plotável em ggplot2:
library(ggplot2)
series_ls <-fredr_series_observations(series_id = "DAUPSA")
series_df <- do.call(cbind.data.frame, series_ls)
ggplot(series_df) + geom_line(mapping = aes(x=date,y=value),
color = "red") +
ggtitle("Monthly US car production, seasonally adjusted [in thousands]") +
xlab("time") +
ylab("monthly cars produced [thousands of units]")
O gráfico acima resume a produção doméstica de carros nos Estados Unidos em unidades, desde 1993 (valores mensais, ajustados sazonalmente). Como pode ser visto, o volume de produção histórica diminuiu.
Mas e as importações de carros novos? Abaixo, repito o fluxo de trabalho acima para vendas de carros novos importados em bilhões de dólares, reportados trimestralmente e ajustados sazonalmente:
series_df <-do.call(cbind.data.frame,
fredr_series_observations(series_id = "B149RC1Q027SBEA"))
ggplot(series_df) + geom_line(mapping = aes(x=date,y=value),
color = "red") +
ggtitle("Quarterly US imported new car sales, seasonally adjusted [in billion USD]") +
xlab("time") +
ylab("quarterly new imported car sales [billion USD]")
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply