# INSTALANDO PACOTES
library(readxl)
library(dplyr)
library(ggplot2)A atuação do Banco Central do Brasil antes, durante e após a pandemia de Covid-19: uma análise da Selic e da inflação (2017–2024)
O Banco Central do Brasil conduz a política monetária sob o regime de metas de inflação, adotado desde 1999. O instrumento principal é a taxa Selic, definida pelo Copom: quando a inflação ameaça superar a meta, o BC eleva os juros para esfriar a demanda; quando a inflação está controlada e a economia fraca, reduz os juros para estimular a atividade. O período de 2017 a 2024 é especialmente rico para estudar essa atuação porque contém um choque sem precedentes a pandemia de Covid-19 que testou a capacidade de resposta do BC. Selic e IPCA permitem visualizar exatamente como essa reação se deu.
Entre os anos de 2017 e 2020 foi um período de inflação baixa e juros em queda. Após a severa recessão de 2015–2016, a economia operava abaixo do seu potencial, com alta capacidade ociosa e desemprego elevado o que mantinha a inflação comportada. No seu gráfico, vê-se a Selic em trajetória descendente, saindo de 12,25% (1T2017) e chegando a 4,50% no fim de 2019, enquanto o IPCA rondava o centro ou o piso da meta (2,95% em 2017, 4,31% em 2019). A leitura econômica: com inflação controlada e atividade fraca, o BC tinha espaço para afrouxar a política monetária e estimular a retomada, sem risco inflacionário.
readxl serve para importar planilhas Excel (.xlsx) para dentro do R. Foi necessário porque as duas bases (Selic e IPCA), depois de organizadas, estavam em formato Excel. A função read_excel() lê o arquivo e o converte numa tabela que o R consegue manipular. Sem esse pacote, o R não abre arquivos .xlsx nativamente. dplyr é o pacote de manipulação de dados. Foi usado para selecionar as colunas relevantes, renomeá-las e, principalmente, unir as duas bases numa só pela variável comum (o trimestre). Ele torna o código legível através do operador %>% (o “pipe”), que encadeia operações numa sequência lógica, como uma receita: pegue a tabela, selecione estas colunas, junte com a outra. ggplot2 é o pacote de visualização gráfica, padrão na comunidade do R pela qualidade e flexibilidade dos gráficos. Foi usado para construir o gráfico de linhas que compara Selic e IPCA. Ele monta o gráfico por camadas (linhas, pontos, cores, eixos, títulos), o que permite controlar cada detalhe visual.
# ABRINDO A BASE DE DADOS DE IPCA
setwd("C:/Users/viale/OneDrive/Desktop/CD")
ipca <- read_excel("IPCA_TRIMESTRAL.xlsx")
# CONFERINDO A TABELA
View(ipca)
# ABRINDO A BASE DE DADOS DA META
selic <- read_excel("META_SELIC_TRIMESTRAL.xlsx")
# CONFERINDO A TABELA
View(selic)Entre março de 2020 e 2021 a atuação do BC foi dramática e em duas etapas. No primeiro momento (2020), o choque da pandemia derrubou a demanda; o BC respondeu cortando a Selic ao menor nível da história, 2,00%, para sustentar a economia em meio ao isolamento. No gráfico esse é o “fundo do vale” da linha azul. Mas, ao longo de 2021, a inflação disparou o IPCA saltou de patamares baixos para 10,06% no fim de 2021 (visível na escalada da linha dourada). As causas foram choques de oferta empilhados: alta global de commodities, desvalorização do real, e a crise hídrica que encareceu a energia elétrica. A inflação começou a subir enquanto a Selic ainda estava em 2%, e o BC só iniciou a reação (alta de juros) em março de 2021. Esse intervalo entre o choque e a resposta é o que o gráfico evidencia com clareza.
Importação (setwd + read_excel) o setwd() define a pasta de trabalho, dizendo ao R onde procurar os arquivos; depois o read_excel() carrega cada base. O View() foi usado para conferir visualmente se os dados entraram corretos antes de prosseguir uma boa prática para evitar erros propagados. Inspeção dos nomes (names) antes de juntar as tabelas, conferimos os nomes exatos das colunas. Isso foi necessário porque a união depende de uma coluna em comum com nome idêntico nas duas bases (Período); qualquer divergência impediria a junção.
## JUNTAR AS TABELAS EM UMA SÓ
# NOME DAS COLUNAS
names(selic)[1] "Trimestre" "Período" "Selic (% a.a.)"
names(ipca)[1] "Trimestre" "Período" "IPCA 12m (%)"
dados <- selic %>%
select(Trimestre, Período, Selic = `Selic (% a.a.)`) %>%
left_join(
ipca %>% select(Período, IPCA = `IPCA 12m (%)`),
by = "Período"
)
View(dados)Fica evidente que no ano de 2022 a 2024 foi uma fase de aperto monetário e da desinflação. Para combater a inflação que havia escapado do controle, o BC promoveu um dos ciclos de alta de juros mais agressivos da história recente, levando a Selic a 13,75% (de meados de 2022 até meados de 2023). No gráfico, é a forte subida da linha azul, que ultrapassa o IPCA. A política surtiu efeito combinada a fatores pontuais (como a redução de tributos sobre combustíveis em 2022): a inflação recuou do pico de 11,89% (2T2022) para a faixa de 4,5 e 4,8% em 2023 a 2024. A partir de 2024, com a inflação mais controlada, o BC iniciou cortes graduais da Selic embora a inflação tenha permanecido acima do centro da meta, sinalizando uma reancoragem apenas parcial das expectativas.
União das bases (left_join) esse é o passo central do tratamento. O left_join combina as duas séries (Selic e IPCA) lado a lado, casando linha a linha pelo trimestre correspondente. O resultado é uma tabela única em que cada linha traz, para o mesmo período, tanto o juro quanto a inflação formato indispensável para a comparação. O select antes da junção serviu para manter só as colunas de interesse e padronizar os nomes (Selic e IPCA), deixando a tabela limpa.
Visualização (ggplot) o gráfico foi construído com duas linhas (uma para cada variável) sobre o mesmo eixo de tempo, para tornar visível a relação entre juros e inflação ao longo das fases. As escolhas de design tiveram função analítica: o eixo do tempo foi rotulado por ano (em vez dos números dos trimestres) para facilitar a leitura; o eixo vertical recebeu o símbolo de porcentagem; cores distintas separam as séries; e título, subtítulo e fonte foram incluídos para tornar a figura autoexplicativa e adequada a um trabalho acadêmico.
# COLOCANDO OS DADOS DA TABELA EM GRAFICO
ggplot(dados, aes(x = Trimestre)) +
geom_line(aes(y = Selic, color = "Selic"), linewidth = 1.1) +
geom_line(aes(y = IPCA, color = "IPCA"), linewidth = 1.1) +
geom_point(aes(y = Selic, color = "Selic"), size = 1.6) +
geom_point(aes(y = IPCA, color = "IPCA"), size = 1.6) +
scale_color_manual(values = c("Selic" = "#1E2761", "IPCA" = "#C9A227")) +
scale_x_continuous(
breaks = seq(1, 32, by = 4),
labels = 2017:2024
) +
scale_y_continuous(
breaks = seq(0, 14, by = 2),
labels = function(x) paste0(x, "%")
) +
labs(
title = "Selic e IPCA no Brasil (2017–2024)",
subtitle = "Taxa básica de juros vs. inflação acumulada em 12 meses",
x = NULL,
y = "% ao ano",
color = NULL,
caption = "Fonte: Banco Central do Brasil (Copom) e IBGE."
) +
theme_minimal(base_size = 13) +
theme(
legend.position = "top",
plot.title = element_text(face = "bold", size = 15),
plot.subtitle = element_text(color = "gray40", margin = margin(b = 10)),
panel.grid.minor = element_blank(),
plot.caption = element_text(color = "gray50", size = 9)
)Fica evidente, diante do fato exposto que o BC saiu de uma postura expansionista (juros baixos, inflação controlada) e que enfrentou um choque que inverteu o cenário (inflação disparando com juros ainda no piso) o que respondeu com um aperto agressivo que trouxe a inflação de volta. O gráfico de Selic vs. IPCA é a síntese visual dessa trajetória, e a relação entre as duas linhas ora a Selic acima da inflação (política contracionista), ora abaixo (expansionista) é o que revela a postura do BC em cada fase.
Vale ressaltar que defasagem da política monetária em relação ao juros levam de 6 a 18 meses para afetar plenamente a inflação, o que ajuda a explicar por que o BC age “antecipadamente” e por que os efeitos do aperto de 2021–2022 só apareceram na inflação de 2023.