7 Days of Code - Dia 2

Author

pabsantos

Carregando pacotes e os Dados do CEAPS

Code
library(tidyverse)
library(plotly)

ceaps <- readRDS("~/Documents/alura_ds/data/despesa_ceaps_corrigido.rds")

Análise Exploratória dos Dados

Principais perguntas:

  • Como é a evolução do valor reembolsado ao longo dos anos?

  • Qual senador declarou mais despesas?

  • Qual tipo de despesa possui maiores valores de reembolso?

Série Temporal dos Valores Reimbolsados

Entre 2010 e 2013 houve um aumento significativo (quase o dobro) dos valores reembolsados pelos senadores. Em 2020, houve uma leve redução. Esse pode ter sido o efeito do início da pandemia do COVID-19 e seus sequentes lockdowns.

Code
ano_despesa <- ceaps %>% 
  group_by(ano) %>% 
  summarise(despesas = sum(valor_reembolsado, na.rm = TRUE))

plot_time <- ggplot(ano_despesa, aes(x = ano, y = despesas)) +
  geom_line(color = "#01740A") +
  geom_point(color = "#01740A") +
  scale_x_continuous(
    breaks = seq(min(ano_despesa$ano), max(ano_despesa$ano), 1),
    minor_breaks = NULL
  ) +
  scale_y_continuous(
    limits = c(0, max(ano_despesa$despesas)),
    labels = scales::dollar_format(
      prefix = "R$", big.mark = ".", decimal.mark = ","
    )
  ) +
  theme_minimal() +
  labs(x = "Ano", y = "Valores Reembolsados")

ggplotly(plot_time)

Despesa entre Senadores

Dentro da lista de 277 senadores entre 2008 e 2021, segue a lista dos 10 com mais valores reembolsados:

Code
senador_despesas <- ceaps %>% 
  group_by(senador) %>% 
  summarise(despesas = sum(valor_reembolsado, na.rm = TRUE)) %>% 
  arrange(-despesas)

plot_senador <- senador_despesas %>%
  slice_head(n = 10) %>%
  mutate(senador = fct_reorder(senador, despesas)) %>%
  ggplot(aes(x = senador, y = despesas)) +
  geom_col(fill = "#01740A") +
  geom_text(
    aes(label = scales::dollar(
      despesas, prefix = "R$", big.mark = ".", decimal.mark = ","
    )),
    color = "#E8E8E8",
    nudge_y = -4 * 10^5
  ) +
  coord_flip() +
  theme_minimal() +
  theme(
    panel.grid = element_blank(),
    axis.title.y = element_blank(),
    axis.ticks.y = element_blank(),
    axis.title.x = element_blank(),
    axis.ticks.x = element_blank(),
    axis.text.x = element_blank()
  )

ggplotly(plot_senador)

Entre todos os senadores, qual a distribuição dos gastos? Observando o histograma e a mediana dos valores, mais da metade dos senadores apresentam menos de 1 milhão de reais em valores reembolsados.

Code
plot_dist_senadores <- ggplot(senador_despesas, aes(despesas)) +
  geom_vline(
    xintercept = median(senador_despesas$despesas),
    lty = "dashed",
    color = "#BF620B"
  ) +
  geom_histogram(color = "#E8E8E8", fill = "#01740A") +
  scale_x_continuous(
    labels = scales::dollar_format(
      prefix = "R$", big.mark = ".", decimal.mark = ","
    )
  ) +
  theme_minimal() +
  theme(
    axis.title.y = element_blank(),
    axis.ticks.y = element_blank(),
    axis.text.y = element_blank(),
    axis.title.x = element_blank(),
    panel.grid.major.y = element_blank(),
    panel.grid.minor.y = element_blank()
  )

ggplotly(plot_dist_senadores)