Levando o PIB para o R com o pacote SidraR

[et_pb_section admin_label="section"][et_pb_row admin_label="row"][et_pb_column type="4_4"][et_pb_text admin_label="Texto" background_layout="light" text_orientation="justified" text_font="Verdana||||" text_font_size="19" use_border_color="off" border_color="#ffffff" border_style="solid"]

Recentemente, publiquei no Blog da Análise Macro um post que fazia referência ao pacote SidraR, que visa facilitar a vida de quem trabalha com os dados do SIDRA/IBGE. O pacote permite baixar dados do SIDRA diretamente para o R. Alguns alunos dos Cursos de R da Análise Macro e mesmo membros do nosso Clube do Código me enviaram dúvidas nas últimas semanas sobre como manipular os dados obtidos a partir do pacote. Isso porque, como mostra a figura abaixo, os dados obtidos não formam um data frame tradicional, com as colunas sendo variáveis e as linhas observações. Com efeito, é preciso fazer um tratamento dos dados obtidos. É o que fazemos na edição 38 do Clube do Código, uma vez que os dados do SIDRA/IBGE são bastante importantes para profissionais de diferentes áreas. Nesse post, mostramos alguns pontos do exercício.

Com o código abaixo, nós importamos os componentes do PIB pelo lado da oferta e pelo lado da demanda, para os índices encadeados e para os ajustados sazonalmente.


## Importação dos dados do PIB
tabela = get_sidra(api='/t/1620/n1/all/v/all/p/all/c11255/90687,90691,90696,90707,93404,93405,93406,93407,93408/d/v583%202')
tabela_sa = get_sidra(api='/t/1621/n1/all/v/all/p/all/c11255/90687,90691,90696,90707,93404,93405,93406,93407,93408/d/v584%202')

Uma vez importados, os dados se parecerão com a figura acima. O código abaixo, então, faz a extração de cada uma das variáveis contidas no data frame, com base na coluna Setores e subsetores (Código), utilizando para isso um loop com a função for. Para que isso seja possível, claro, precisamos definir um vetor contendo os códigos das séries, além de precisarmos criar uma matriz que irá armazenar os dados extraídos. Ademais, criamos um vetor para nomear as séries obtidas.


series = c(90687,90691,90696,90707,93404,93405,93406,93407,93408)
names = c('Agro', 'Ind', 'Serv', 'PIB',
 'Consumo', 'Governo', 'FBCF',
 'Exportação', 'Importação')
pib = matrix(NA, ncol=length(series), 
 nrow=nrow(tabela)/length(series))
for(i in 1:length(series)){
 pib[,i] = tabela$Valor[tabela$
 `Setores e subsetores (Código)`
 ==series[i]] 
 pib = ts(pib, start=c(1996,01), freq=4)
 colnames(pib) = names
}

Ao rodar o código acima, teremos os dados organizados conforme a figura abaixo. Isto é, teremos as colunas representando os componentes do PIB (e uma delas, o próprio PIB) e as linhas representando as observações trimestrais - lembrando que também transformamos os nossos dados em séries temporais. Dessa forma, poderemos trabalhar com os nossos dados da forma que já estamos acostumados.

Os dados dos componentes do PIB e do próprio PIB em nível não dizem muita coisa para nós. Assim, é preciso criar algumas métricas de crescimento, isto é, a que taxa as nossas séries estão crescendo ou decrescendo. É o que fazemos no restante do exercício do Clube de modo a obter gráficos como os da figura abaixo.

E então, gostou do exercício? Você pode aprender mais fazendo um dos nossos Cursos Aplicados de R e se associando ao Clube do Código.

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row admin_label="row"][et_pb_column type="1_2"][et_pb_image admin_label="Imagem" src="https://analisemacro.com.br/wp-content/uploads/2017/12/modelos.png" show_in_lightbox="off" url="https://analisemacro.com.br/cursos-de-r/central-banking-training/modelos-do-banco-central/" url_new_window="off" use_overlay="off" animation="left" sticky="off" align="center" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_style="solid" /][/et_pb_column][et_pb_column type="1_2"][et_pb_image admin_label="Imagem" src="https://analisemacro.com.br/wp-content/uploads/2017/11/datascience.png" show_in_lightbox="off" url="https://analisemacro.com.br/cursos-de-r/" url_new_window="off" use_overlay="off" animation="left" sticky="off" align="center" force_fullwidth="off" always_center_on_mobile="on" use_border_color="off" border_color="#ffffff" border_style="solid" /][/et_pb_column][/et_pb_row][et_pb_row admin_label="row"][et_pb_column type="1_3"][et_pb_gallery admin_label="Galeria" gallery_ids="17132,17133,17134" fullwidth="on" show_title_and_caption="off" show_pagination="off" background_layout="light" auto="on" auto_speed="6000" hover_overlay_color="rgba(255,255,255,0.9)" caption_all_caps="off" use_border_color="off" border_color="#ffffff" border_style="solid" saved_tabs="all"] [/et_pb_gallery][et_pb_gallery admin_label="Galeria" gallery_ids="17136,17137,17138" fullwidth="on" show_title_and_caption="off" show_pagination="off" background_layout="light" auto="on" auto_speed="6000" hover_overlay_color="rgba(255,255,255,0.9)" caption_all_caps="off" use_border_color="off" border_color="#ffffff" border_style="solid" saved_tabs="all"] [/et_pb_gallery][/et_pb_column][et_pb_column type="2_3"][et_pb_team_member admin_label="Pessoa" saved_tabs="all" name="Vítor Wilher " position="Data Scientist" animation="left" background_layout="light" facebook_url="https://www.facebook.com/vitor.wilher.9" twitter_url="https://twitter.com/vitorwilherbr" linkedin_url="https://www.linkedin.com/in/v%C3%ADtor-wilher-78164024" use_border_color="off" border_color="#ffffff" border_style="solid"]

Vítor Wilher é Bacharel e Mestre em Economia, pela Universidade Federal Fluminense, tendo se especializado na construção de modelos macroeconométricos, política monetária e análise da conjuntura macroeconômica doméstica e internacional. Tem, ademais, especialização em Data Science pela Johns Hopkins University. Sua dissertação de mestrado foi na área de política monetária, titulada "Clareza da Comunicação do Banco Central e Expectativas de Inflação: evidências para o Brasil", defendida perante banca composta pelos professores Gustavo H. B. Franco (PUC-RJ), Gabriel Montes Caldas (UFF), Carlos Enrique Guanziroli (UFF) e Luciano Vereda Oliveira (UFF). Já trabalhou em grandes empresas, nas áreas de telecomunicações, energia elétrica, consultoria financeira e consultoria macroeconômica. É o criador da Análise Macro, startup especializada em treinamento e consultoria em linguagens de programação voltadas para data analysis, sócio da MacroLab Consultoria, empresa especializada em cenários e previsões e fundador do hoje extinto Grupo de Estudos sobre Conjuntura Econômica (GECE-UFF). É também Visiting Professor da Universidade Veiga de Almeida, onde dá aulas nos cursos de MBA da instituição, Conselheiro do Instituto Millenium e um dos grandes entusiastas do uso do no ensino. Leia os posts de Vítor Wilher aquiCaso queira, mande um e-mail para ele: vitorwilher@analisemacro.com.br

[/et_pb_team_member][/et_pb_column][/et_pb_row][/et_pb_section]

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é e como funcionam Sistemas Multi-Agentes

Sistemas multi-agentes (MAS) representam uma nova forma de estruturar aplicações de inteligência artificial, especialmente úteis para lidar com problemas complexos e distribuídos. Em vez de depender de um único agente generalista, esses sistemas são compostos por múltiplos agentes especializados que colaboram, competem ou se coordenam para executar tarefas específicas. Neste post, explicamos o que são os MAS, seus principais componentes (como LLMs, ferramentas e processos) e as arquiteturas mais comuns.

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.