Não é um segredo que os últimos meses têm apresentado desafios à sobrevivência de todos no Brasil. E um dos maiores dessafios é a inflação. O Índice Nacional de Preços ao Consumidor (IPCA) acumulado vêm subindo mês a mês, diminuindo o poder de compra de todos.

Sendo assim, criei uma visualização que ajuda a encontrar os períodos de maior inflação no século atual. Primeiro, é necessário baixar os dados:

library(BETS)
library(rbcb)
library(tidyverse)
library(lubridate)
library(zoo)

ipca_bk <- get_series(433) %>%
  rename(data = date, taxa = `433`)

Em seguida, eu calculo a taxa acumulada do IPCA nos últimos 12 meses:

ipca <- ipca_bk

ipca <- 
  ipca %>%
  mutate(ordem = 1:nrow(ipca),
         mes = month(data, label = TRUE, locale = "pt_BR.UTF-8"),
         ano = year(data),
         taxa_acumulada = rollapply(1+taxa/100, 12, prod, fill = NA, align = "right")) %>%
    mutate(taxa_acumulada = (taxa_acumulada-1)*100)

Por fim, crio um mapa de calor que permite verificar as épocas de maior inflação recente:

ano_inicial <- 2001

ipca %>% 
  filter(ano >= ano_inicial) %>%
  ggplot(aes(mes, ano)) +
  geom_raster(aes(fill = taxa_acumulada)) +
  labs(x = "Mês", y = "Ano", fill = "IPCA\nAcumulado\n12 Meses") + 
  scale_y_continuous(breaks = seq(ano_inicial, 2022)) +
  scale_fill_continuous(low = "green", high = "red") + 
  theme_minimal()

Sem considerar a taxa acumulada em 12 meses (isto é, considerando apenas a inflação nominal do mês), o que temos é o seguinte:

ipca %>% 
  filter(ano >= ano_inicial) %>%
  ggplot(aes(mes, ano)) +
  geom_raster(aes(fill = taxa)) +
  labs(x = "Mês", y = "Ano", fill = "IPCA\nMensal") + 
  scale_y_continuous(breaks = seq(ano_inicial, 2022)) +
  scale_fill_continuous(low = "green", high = "red") + 
  theme_minimal()