library(tidyverse)
library(rbcb)
library(dplyr)
library(ggplot2)
library(readxl)
library(lubridate)
library(janitor)
library(magrittr)Falando sobre os códigos
Pacotes Necessários
Para instalar use o comando install.packages()
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 Selicdplyr: 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 chamadaData do Gasto (R$), ela vira automaticamentedata_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.