Falando sobre os códigos

Pacotes Necessários

Para instalar use o comando install.packages()

library(tidyverse)
library(rbcb)
library(dplyr)
library(ggplot2)
library(readxl)
library(lubridate)
library(janitor)
library(magrittr)
  • tidyverse: Vamos chamar de a “coleção de pacotes” (que inclui a maioria dos que estão a baixo).

  • rbcb: Esse é o pacote necessário para pegar os dados direto do Banco Central, como o Câmbio, e a Taxa Selic

  • dplyr: Esse é o pacote que mais usamos, para filtar linhas “filter()”, selecionar colunas “select()”, criar variáveis “mutate()” e agregar dados “summarise()”.

  • ggplot2: Usamos para a visualização de dados, e pode ser construido em camadas (dados+ estética+ formas geométricas).

  • readxl: Usamos esse pacote para importar arquivos do Excel, aqui neste projeto foi o IPCA, decidimos baixar a série histórica, ou seja a planilha “ipca.xls” que pode ser vista no script logo abaixo.

  • lubridate: Como no nosso projeto vamos analisar as variáveis em diferentes governos e por ano, esse pacote nos ajuda a extrair uma data idependente do formato que a data esteja, como por exemplo: “07-07-2005”, “07/07/2005” ou “07 de julho de 2005”

  • janitor: Limpeza de colunas a função estrela dele é a clean_names(). Se você tem uma coluna chamada Data do Gasto (R$), ela vira automaticamente data_do_gasto_rs (sem espaços, sem acentos e em letras minúsculas).

  • magrittr: Ele pega o resultado da linha de cima e joga para a linha de baixo. A leitura do código passa a ser “faça isso e então faça aquilo”, usa o %>% para conectar as ações em uma sequência lógica.
    Em vez de: filtrado(selecionado(dados))
    Você escreve: dados %>% selecionado() %>% filtrado()

O Gráfico de Inflação (IPCA)

Para analisar a inflação nos governos, decidimos baixar do IBGE uma planilha da Série Histórica do IPCA.

vamos ver isso melhor no script:

dados_inflacao <- read_excel("planilhaIPCA/ipca.xls")
dados_fhc <- dados_inflacao %>% 
  clean_names() %>% 
  rename(
    ano= 1,
    mes_nome=2,
    numero_indice=3,
    ipca_trimestral=5
  ) |>
  fill(ano, .direction = "down")
dados_fhc <- dados_fhc %>% 
  mutate(numero_indice= as.numeric(gsub(",",".", numero_indice)),
         ipca_trimestral= as.numeric(gsub(",",".", ipca_trimestral))) %>% 
  filter(ano>1994 & ano<2003) %>% 
 mutate(
   mes_num = case_when(
      mes_nome == "JAN" ~ "01", mes_nome == "FEV" ~ "02", mes_nome == "MAR" ~ "03",
      mes_nome == "ABR" ~ "04", mes_nome == "MAI" ~ "05", mes_nome == "JUN" ~ "06",
      mes_nome == "JUL" ~ "07", mes_nome == "AGO" ~ "08", mes_nome == "SET" ~ "09",
      mes_nome == "OUT" ~ "10", mes_nome == "NOV" ~ "11", mes_nome == "DEZ" ~ "12"
    ),
    data_final = as.Date(paste(ano, mes_num, "01", sep = "-"))
 ) 

ggplot(dados_fhc, aes(x= data_final, y= ipca_trimestral)) +
  geom_line( color= "#302681", size= 1.2)+
  scale_x_date(date_breaks = "1 year", date_labels ="%Y")+
  scale_y_continuous(labels = function(x)paste0(x,"%"))+
  labs(
 title = "Comportamento do IPCA na Era FHC: Consolidação da Estabilidade",
  subtitle = "Inflação Acumulada a partir de Janeiro de 1995",
  x = "Ano",
  y = "Inflação trimestral %",
    caption = "Fonte:Banco Central do Brasil/ SGS",
  )+
  theme_minimal()+
theme(legend.position = "bottom")

Nas primeiras linhas digo ao R o local onde está a planilha read_excel("planilhaIPCA/ipca.xls") , logo abaixo é criado um novo objeto dados_fhc.
Lembrando que os dados em questão são uma série Histórica, portanto observamos a tabela e realizamos as primeiras alterações:clean_names() :

limpo os nomes das colunas, e logo depois nomeio somente as que vamos utilizar rename( ano=1, mes_nome=2, numero_indice=3, ipca_trimestral= 5) .

Retiro os acentos e pontos, que podem atrapalhar durante a manipulação dos dados no R
mutate(numero_indice= as.numeric(gsub(",",".", numero_indice)), ipca_trimestral= as.numeric(gsub(",",".", ipca_trimestral)))

Filtro as informações dos anos que desejo analisar, aqui nesse exemplo pegamos os anos de governo FHC, portanto a linha do código fica: filter(ano>1994 & ano<2003).

Criamos uma lógica com o mutate:
mutate( mes_num = case_when( mes_nome == "JAN" ~ "01", mes_nome == "FEV" ~ "02", mes_nome == "MAR" ~ "03", mes_nome == "ABR" ~ "04", mes_nome == "MAI" ~ "05", mes_nome == "JUN" ~ "06", mes_nome == "JUL" ~ "07", mes_nome == "AGO" ~ "08", mes_nome == "SET" ~ "09", mes_nome == "OUT" ~ "10", mes_nome == "NOV" ~ "11", mes_nome == "DEZ" ~ "12" ),

A Mudança no Câmbio de Fixo para Flutuante

dados_cambio <- get_series(3697, start_date = "1995-01-01",end_date = "2002-12-31")
names(dados_cambio)[2] <- "value"
dados_cambio <- dados_cambio %>% 
  mutate(regime= if_else(date<as.Date("1999-01-13"),
   "Câmbio Fixo",
   "Câmbio Flutuante"))

ggplot(dados_cambio,aes(x= date, y= value, fill = regime, color= regime))+
  geom_area(alpha= 0.2,aes(group = regime))+
  geom_line(size=1)+
  scale_fill_manual(values=c ("Câmbio Fixo"="#2ca02c", 
   "Câmbio Flutuante"="#d62728"))+
  scale_color_manual(values=c("Câmbio Fixo"="#2ca02c",
    "Câmbio Flutuante"="#d62728"))+
  scale_x_date(date_breaks="1 year", date_labels = "%Y")+
  scale_y_continuous(labels=function(x)paste0("R$",round(x,2)))+

Usei o pacote rbcb para puxar a série 3697 (Taxa de câmbio comercial de venda - R$ por US$) direto do Banco Central, delimitando o período entre o início do Plano Real (1995) e o fim do governo FHC (2002).

Renomeação: Renomeia a segunda coluna para “value” para facilitar a manipulação no R

dados_cambio <- dados_cambio %>% mutate(regime = if_else(date < as.Date("1999-01-13"), "Câmbio Fixo", "Câmbio Flutuante"))

Cria uma nova coluna chamada regime. Usando uma condição lógica (if_else), o código identifica que tudo que aconteceu antes de 13 de janeiro de 1999 (data da desvalorização do real e fim das bandas cambiais) foi Câmbio Fixo (ou bandas), e o que veio depois foi Câmbio Flutuante.

ggplot(dados_cambio, aes(x = date, y = value, fill = regime, color = regime)) + geom_area(alpha = 0.2, aes(group = regime)) + geom_line(size = 1) +

coloquei a data no eixo X e o valor do dólar no eixo Y.

Camadas Visuais: Combina um gráfico de linha (geom_line) com uma sombra colorida por baixo da linha (geom_area) com 20% de opacidade (alpha = 0.2). A cor de ambas as camadas muda automaticamente dependendo do regime cambial.

scale_fill_manual(values = c("Câmbio Fixo" = "#2ca02c", "Câmbio Flutuante" = "#d62728")) + scale_color_manual(values = c("Câmbio Fixo" = "#2ca02c", "Câmbio Flutuante" = "#d62728")) +

Define cores específicas para cada regime (Verde para o Câmbio Fixo e Vermelho para o Flutuante), aplicando-as tanto na linha quanto no preenchimento da área.

Comparativo Monetário

dados_dolar <- get_series(3697, start_date="2003-01-01", end_date = "2006-12-31")
names(dados_dolar)[2] <- "value"
dados_china <- get_series(21631, start_date = "2003-01-01",end_date = "2006-12-31")
names(dados_china)[2] <- "value"
dados_euro<- get_series(21619, start_date= "2003-01-01", end_date= "2006-12-31")
names(dados_euro)[2] <- "value"
 dados_moedas <- dados_dolar %>% 
 inner_join(dados_china,by= "date",suffix = c("_dolar","_china")) %>% 
  inner_join(dados_euro,by="date")
 
 names(dados_moedas) <- c("Data","Dolar","Yuan","Euro")
 dados_grafico <- dados_moedas %>% pivot_longer(cols = c(Dolar,Yuan,Euro), names_to = "Moeda" , values_to = "Taxa")

Este script coleta e unifica as taxas de câmbio do Dólar, Yuan e Euro em relação ao Real entre 2003 e 2006 (período do primeiro governo Lula), utilizando o pacote rbcb para consultar as séries históricas 3697, 21631 e 21619 direto da API do Banco Central do Brasil. Após a captura, o código padroniza a estrutura dos três conjuntos de dados renomeando as colunas originais de cotação para “value”, o que permite cruzá-los sequencialmente através da função inner_join(), combinando as tabelas com base na data comum (date) e aplicando sufixos temporários para evitar o conflito de colunas com nomes idênticos. Com os dados unificados em uma única tabela, os nomes das colunas são traduzidos e limpos para"Data", "Dolar", "Yuan" e "Euro". Por fim, o código utiliza a função pivot_longer() do pacote tidyr (do ecossistema tidyverse) para realizar uma operação de pivotagem, transformando a tabela do formato “largo” (onde cada moeda ocupava uma coluna própria) para o formato “longo”, empilhando as cotações em uma única coluna chamada “Taxa” e identificando a qual divisa pertencem na coluna “Moeda”, gerando uma estrutura otimizada e pronta para a plotagem de múltiplas linhas comparativas no ggplot2.

Taxa Selic

dados_selic <- get_series(4189, start_date = "2003-01-01", end_date = "2006-12-31")
names(dados_selic)[2] <- "Selic"
names(dados_selic)[1] <- "Anos"
ggplot(dados_selic, aes(x= Anos, y = Selic))+
  geom_line(color= "#ffc222",size=1.2)+
  scale_x_date(date_breaks = "1 year", date_labels ="%Y")+
  scale_y_continuous(labels = function(x)paste0(x,"%"))+
  labs(
    title = "Política Monetária Rígida e Queda Gradual dos Juros",
    subtitle = "O impacto dos juros na economia nos anos (2003-2007)",
    caption = "Fonte: Banco do Central/ SGS"
  )+
  theme_minimal()+
  theme(legend.position = "bottom")

Este script utiliza o pacote rbcb para coletar a série histórica da Taxa Selic acumulada no mês (código 4189) direto da API do Banco Central do Brasil, delimitando o período entre 2003 e 2006 (primeiro governo Lula). Na etapa de preparação, o código renomeia as colunas originais do conjunto de dados para "Anos" (eixo temporal) e "Selic" (indicador econômico) para deixar a estrutura clara. Em seguida, os dados são alimentados no ggplot2 para a construção de um gráfico de linha (geom_line) com espessura destacada (size = 1.2) e na cor amarela (#ffc222). A estilização dos eixos inclui a escala temporal do eixo X configurada para exibir marcadores de ano em ano (%Y) e o eixo Y customizado por uma função anônima que adiciona o símbolo de porcentagem (%) aos valores. Por fim, o gráfico recebe títulos informativos e contextuais através da função labs(), adota o tema visual limpo theme_minimal() e posiciona a legenda na parte inferior da imagem através do argumento legend.position = "bottom"

Referências Bibliográficas

BANCO CENTRAL DO BRASIL. SGS - Sistema Gerenciador de Séries Temporais. Disponível em: https://www3.bcb.gov.br/sgspub/

INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA (IBGE). Sistema IBGE de Recuperação Automática (SIDRA). Disponível em: https://sidra.ibge.gov.br/.

Livros utilizados:

GIAMBIAGI, Fabio; VILLELA, André; BARROS DE CASTRO, Lavínia; HERMANN, Jennifer (Org.). Economia Brasileira Contemporânea: 1945-2010. 2. ed. Rio de Janeiro: Elsevier/Campus, 2011.

LOPES, Ricardo. Brasil: do Real ao terceiro governo Lula. 3. ed. rev. São Paulo: Editora Ricco, 2026.