Dados
Os dados usado nessa análise sobre a despesa de deputados federais da legisLatura atual com a atividade parlamentar. A CEAP (cota para o exercício da atividade parlamentar) é uma cota única mensal destinada a custear os gastos dos deputados exclusivamente vinculados ao exercício da atividade parlamentar. Exemplos de despesa desse tipo são: passagens aéreas, telefonia, serviços postais, manutenção de escritórios de apoio à atividade parlamentar, assinatura de publicações, fornecimento de alimentação ao parlamentar, hospedagem, outras despesas com locomoção, contemplando locação ou fretamento de aeronaves, veículos automotores e embarcações, serviços de táxi, pedágio e estacionamento e passagens terrestres. EX:
sample_n(data, 5)## # A tibble: 5 x 13
## nomeParlamentar idCadastro sgUF sgPartido tipoDespesa especDespesa
## <chr> <int> <chr> <chr> <chr> <chr>
## 1 WALDENOR PEREI… 160569 BA PT TELEFONIA <NA>
## 2 JOÃO DERLY 178965 RS REDE MANUTENÇÃO… <NA>
## 3 ALEXANDRE VALLE 178936 RJ PR DIVULGAÇÃO… <NA>
## 4 JOÃO PAULO KLE… 178967 SC PSD COMBUSTÍVE… Veículos Au…
## 5 MANDETTA 160633 MS DEM Emissão Bi… <NA>
## # ... with 7 more variables: fornecedor <chr>, CNPJCPF <chr>,
## # tipoDocumento <int>, dataEmissao <dttm>, valorDocumento <dbl>,
## # valorGlosa <int>, valorLíquido <dbl>
Para uma melhor descrição dos tipos dos dados:
sapply(data, class)## $nomeParlamentar
## [1] "character"
##
## $idCadastro
## [1] "integer"
##
## $sgUF
## [1] "character"
##
## $sgPartido
## [1] "character"
##
## $tipoDespesa
## [1] "character"
##
## $especDespesa
## [1] "character"
##
## $fornecedor
## [1] "character"
##
## $CNPJCPF
## [1] "character"
##
## $tipoDocumento
## [1] "integer"
##
## $dataEmissao
## [1] "POSIXct" "POSIXt"
##
## $valorDocumento
## [1] "numeric"
##
## $valorGlosa
## [1] "integer"
##
## $valorLíquido
## [1] "numeric"
E o segundo conjunto de dados consiste em informações do limite mensal de uso do CEAP no estado, para cada um dos estados e Distrito Federal. EX:
sample_n(limit, 5)## UF limite_mensal
## 21 RO 43672.49
## 18 PR 38871.86
## 3 AM 43570.12
## 13 MT 39428.03
## 24 SC 39877.78
Para uma melhor descrição dos tipos dos dados:
sapply(limit, class)## UF limite_mensal
## "factor" "numeric"
Para melhor aproveitamento de ambos os datasets para que se possa usar os dados de limite de uso de CEAP estadual junto ao gasto mensal do parlamentar será feito um join dos dois datasets com base na coluna de estado.
# Join two datasets by UF column to use state ceap spending limit.
colnames(data)[3] <- "UF"
data = data %>%
full_join(limit, by=c("UF", "UF"))Questionamentos
O estudo visa responder os seguintes questionamentos:
Quais são os deputados que gastaram mais dinheiro da CEAP? Quais são os mais econômicos?
summarized_data = data %>%
filter(valorDocumento > 0) %>%
group_by(nomeParlamentar) %>%
summarise(gastos = sum(valorDocumento))
more_spenders <- summarized_data %>%
top_n(5, gastos) %>%
ggplot(aes(x = reorder(nomeParlamentar, gastos), y = gastos)) +
guides(fill = guide_legend('Deputados')) +
labs(x='Deputados', y='Gasto total') +
geom_col(width = 0.5) +
coord_flip()
less_expenders <- summarized_data %>%
arrange(gastos) %>%
slice(1:5) %>%
ggplot(aes(x = reorder(nomeParlamentar, gastos), y = gastos)) +
guides(fill = guide_legend('Deputados')) +
labs(x='Deputados', y='Gasto total') +
geom_col(width = 0.5) +
coord_flip()
grid.arrange(more_spenders, less_expenders, nrow = 2)Quais os estados cujos deputados gastam mais no exterior? Quais os estados cujos deputados gastam menos no exterior?
e_exprenses = data %>%
filter(tipoDocumento == 2) %>%
group_by(nomeParlamentar) %>%
summarise(gastos = sum(valorDocumento))
greatest_backpackers <- e_exprenses %>%
top_n(5, gastos) %>%
ggplot(aes(x = reorder(nomeParlamentar, gastos), y = gastos)) +
labs(x='Deputados', y='Gasto total') +
geom_col(width = 0.7) +
coord_flip()
less_backpackers <- e_exprenses %>%
arrange(gastos) %>%
slice(1:5) %>%
ggplot(aes(x = reorder(nomeParlamentar, gastos), y = gastos)) +
labs(x='Deputados', y='Gasto total') +
geom_col(width = 0.7) +
coord_flip()
grid.arrange(greatest_backpackers, less_backpackers, nrow = 2)Quais os partidos cujos parlamentares mais usam CEAP no estado da Paraíba considerando valores em R$. Quais são os que menos usam?
part = data %>%
filter(UF == "PB") %>%
group_by(sgPartido) %>%
summarise(gastos = sum(valorDocumento), n = n())
top_spenders_R <- part %>%
top_n(5, gastos) %>%
ggplot(aes(x = reorder(sgPartido, gastos), y = gastos)) +
labs(x='Partidos', y='Gasto total') +
geom_col(width = 0.7) +
coord_flip()
less_spenders_R <- part %>%
arrange(gastos) %>%
slice(1:5) %>%
ggplot(aes(x = reorder(sgPartido, gastos), y = gastos)) +
labs(x='Partidos', y='Gasto total') +
geom_col(width = 0.7) +
coord_flip()
grid.arrange(top_spenders_R, less_spenders_R, nrow = 2)Quais os partidos cujos parlamentares mais usam CEAP no estado da Paraíba considerado número de vezes ? Quais são os que menos usam?
top_spenders_N <- part %>%
top_n(5, n) %>%
ggplot(aes(x = reorder(sgPartido, n), y = gastos)) +
labs(x='Partidos', y='Vezes que usou o CEAP') +
geom_col(width = 0.7) +
coord_flip()
less_spenders_N <- part %>%
arrange(n) %>%
slice(1:5) %>%
ggplot(aes(x = reorder(sgPartido, n), y = gastos)) +
labs(x='Partidos', y='Vezes que usou o CEAP') +
geom_col(width = 0.7) +
coord_flip()
grid.arrange(top_spenders_N, less_spenders_N, nrow = 2)Quais os deputados que mais ultrapassam o limite de CEAP do seu estado?
rm_limit = data %>%
filter(!is.na(dataEmissao)) %>%
group_by(nomeParlamentar, format(dataEmissao, "%m"), format(dataEmissao, "%y")) %>%
summarise(gastos = sum(valorLíquido), limite = mean(limite_mensal)) %>%
filter(gastos > limite) %>%
group_by(nomeParlamentar) %>%
summarise(gastos = max(gastos)) %>%
top_n(10, gastos)
rm_limit %>%
ggplot(aes(x = reorder(nomeParlamentar, gastos), y = gastos)) +
guides(fill = guide_legend('Partidos')) +
labs(x='Partidos', y='Gastos Totais') +
geom_col(width = 0.7) +
coord_flip()Quais estados cujos parlamentares gastam mais com passagens aéreas?
flyers = data %>%
filter(tipoDespesa == "Emissão Bilhete Aéreo") %>%
group_by(UF) %>%
summarise(gastos = sum(valorDocumento)) %>%
top_n(5, gastos)
flyers %>%
ggplot(aes(x = reorder(UF, gastos), y = gastos)) +
labs(x='Estados', y='Gastos Totais') +
geom_col(width = 0.7) +
coord_flip()Escolha três partidos e responda: Quais são os tipos de despesa mais utilizados no uso da CEAP pelos deputados desses partidos? Mesma pergunta considerando valores em R$.
Para esse questionamento foi escolhido os partidos DEM, PSL e AVANTE.
Primeiramente o DEM
dem = data %>%
filter(sgPartido == "DEM") %>%
group_by(tipoDespesa) %>%
summarise(gastos = sum(valorDocumento), n = n())
dem_top_spend_r <-
dem %>% top_n(5, gastos) %>%
ggplot(aes(x = reorder(tipoDespesa, gastos), y = gastos)) +
labs(x='Tipo de Despesa', y='Gastos Totais') +
geom_col(width = 0.7) +
coord_flip()
dem_top_spend_n <-
dem %>% top_n(5, n) %>%
ggplot(aes(x = reorder(n, gastos), y = n)) +
labs(x='Tipo de Despesa', y='Vezes que usou o CEAP') +
geom_col(width = 0.7) +
coord_flip()
grid.arrange(dem_top_spend_r, dem_top_spend_n, nrow = 2)e agora PSL
psl = data %>%
filter(sgPartido == "PSL") %>%
group_by(tipoDespesa) %>%
summarise(gastos = sum(valorDocumento), n = n())
psl_top_spend_r <-
psl %>% top_n(5, gastos) %>%
ggplot(aes(x = reorder(tipoDespesa, gastos), y = gastos)) +
labs(x='Tipo de Despesa', y='Gastos Totais') +
geom_col(width = 0.7) +
coord_flip()
psl_top_spend_n <-
psl %>% top_n(5, n) %>%
ggplot(aes(x = reorder(n, gastos), y = n)) +
labs(x='Tipo de Despesa', y='Vezes que usou o CEAP') +
geom_col(width = 0.7) +
coord_flip()
grid.arrange(psl_top_spend_r, psl_top_spend_n, nrow = 2)e por último AVANTE
avante = data %>%
filter(sgPartido == "AVANTE") %>%
group_by(tipoDespesa) %>%
summarise(gastos = sum(valorDocumento), n = n())
avante_top_spend_r <-
avante %>% top_n(5, gastos) %>%
ggplot(aes(x = reorder(tipoDespesa, gastos), y = gastos)) +
labs(x='Tipo de Despesa', y='Gastos Totais') +
geom_col(width = 0.7) +
coord_flip()
avante_top_spend_n <-
avante %>% top_n(5, n) %>%
ggplot(aes(x = reorder(n, gastos), y = n)) +
labs(x='Tipo de Despesa', y='Vezes que usou o CEAP') +
geom_col(width = 0.7) +
coord_flip()
grid.arrange(avante_top_spend_r, avante_top_spend_n, nrow = 2)