Dados coletados diretamente do site: https://dadosabertos.camara.leg.br/swagger/api.html#staticfile
Para este projeto, foram coletados dados dos gastos de deputados federais de todo o Brasil durante o perÃodo de 2017 a 2022. Após limpeza dos dados, contamos com atributos de:
Inicialmente foi realizada uma análise exploratória a partir desta base de dados.
dados <- list.files(path = "dados/",
pattern = "*.csv", full.names = TRUE) %>%
lapply(read_csv) %>%
bind_rows
dados <- dados %>%
select(-ideCadastro, -nuCarteiraParlamentar, -nuLegislatura, -codLegislatura, -numSubCota, -numEspecificacaoSubCota, -txtDescricaoEspecificacao, -txtCNPJCPF, -txtNumero, -indTipoDocumento, -numParcela, -txtPassageiro, -txtTrecho, -numLote, -numRessarcimento, -vlrRestituicao, -datPagamentoRestituicao, -nuDeputadoId, -ideDocumento, -urlDocumento) %>%
filter(!is.na(sgUF)) %>%
filter(!is.na(sgPartido)) %>%
filter(vlrLiquido > 0)
Aqui buscamos visualizar o valor total dos gastos dos deputados a cada ano coletado. Temos sempre valores na casa dos 200 milhões, sendo a única exceção o ano de 2020, em que o gasto cai para menos de 180 milhões, sendo este o ano de inÃcio da pandemia. Nos anos seguintes o gasto volta a subir.
por_ano <- dados %>%
group_by(numAno) %>%
summarise(total_ano = sum(vlrLiquido))
por_ano %>%
tail(12) %>%
ggplot(aes(x=numAno, y=total_ano)) +
geom_line() +
geom_point() +
# scale_y_continuous(breaks = c(170000000, 180000000,190000000,200000000,210000000,220000000,230000000,240000000,250000000)) +
scale_x_continuous(breaks=c(2017,2018,2019,2020,2021,2022)) +
labs(
x = "Ano",
y = "Gasto total",
title = "Gasto total dos deputados por ano"
)
Geramos um boxplot para visualizar a média de gasto dos deputados anualmente e seus respectivos outliers.
deputado_ano <- dados %>%
group_by(txNomeParlamentar, numAno) %>%
summarise(total_deputado = sum(vlrLiquido),
.groups = "drop")
deputado_ano %>%
ggplot(aes(x=as.factor(numAno), y=total_deputado)) +
geom_boxplot(fill="slateblue", alpha=0.2) +
labs(
x = "Ano",
y = "Gasto total",
title = "Gastos de cada deputado por ano"
)
Procuramos entender agora quais os partidos que mais tiveram gastos nestes anos analisados. Uma importante verificação é a de quantos deputados cada um desses partidos tem como representantes na Câmara.
por_partido <- dados %>%
group_by(sgPartido) %>%
summarise(total_partido = sum(vlrLiquido))
por_partido %>%
mutate(partido = fct_reorder(sgPartido, total_partido)) %>%
# tail(10) %>%
ggplot(aes(x=partido, y=total_partido)) +
geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
coord_flip() +
# scale_y_continuous(breaks = seq(20000, 20000000, by = 2000000)) +
labs(
x = "Partido",
y = "Gasto total",
title = "Gasto total dos deputados por partido"
)
Tendo acesso à s categorias dos gastos dos deputados, buscamos entender quais seriam seus maiores gastos. Temos divulgação da atividade parlamentar, passagem aérea e locação ou fretamento de veÃculos automotores sendo as categorias em que mais gastaram.
por_categoria <- dados %>%
group_by(txtDescricao) %>%
summarise(total_categoria = sum(vlrLiquido))
por_categoria %>%
mutate(categoria = fct_reorder(txtDescricao, total_categoria)) %>%
ggplot(aes(x=categoria, y=total_categoria)) +
geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
coord_flip() +
# scale_y_continuous(breaks = seq(20000, 20000000, by = 2000000)) +
labs(
x = "Categoria do gasto",
y = "Gasto total",
title = "Gastos dos deputados"
)
Realizamos uma distribuição dos nossos dados através de um histograma e é visualmente perceptÃvel que não estamos lidando com dados normais.
dados %>%
ggplot(aes(x = vlrLiquido)) +
geom_histogram(binwidth = .5,
colour = "darkorange",
fill = "white") +
labs(title = "Distribuição de gastos")
Observamos os gastos agora por regiões às quais os deputados pertenciam. Dois diferentes gráficos foram gerados para visualizarmos esse resultado.
norte <- c("AM","RR","AP","PA","TO","RO","AC")
nordeste <- c("MA","PI","CE","RN","PE","PB","SE","AL","BA")
sudeste <- c("SP","RJ","ES","MG")
centro <- c("MT","MS","GO","DF")
sul <- c("PR","RS","SC")
teste <- dados %>%
mutate(regiao = case_when(sgUF %in% norte ~ "Norte",
sgUF %in% nordeste ~ "Nordeste",
sgUF %in% sudeste ~ "Sudeste",
sgUF %in% centro ~ "Centro-Oeste",
sgUF %in% sul ~ "Sul"))
gasto_ano_regiao <- teste %>%
group_by(regiao, numAno) %>%
summarise(gasto = sum(vlrLiquido),
.groups = "drop")
gasto_ano_regiao %>%
ggplot(aes(x = numAno, y = gasto, color = regiao)) +
geom_point() +
geom_line() +
scale_x_continuous(breaks=c(2017,2018,2019,2020,2021,2022)) +
labs(
x = "Ano",
y = "Gasto total",
color = "Região",
title = "Gasto por região ao longo dos anos"
)
gasto_ano_regiao %>%
ggplot(aes(x = numAno, y = gasto)) +
geom_point() +
geom_line() +
facet_wrap(~ regiao, ncol = 2) +
scale_x_continuous(breaks=c(2017,2018,2019,2020,2021,2022)) +
labs(
x = "Ano",
y = "Gasto total",
title = "Gasto por região ao longo dos anos"
)
Procuramos entender se os gastos durante a pandemia se mantiveram semelhantes aos gastos no perÃodo pré pandemia ou se ocorreram mudanças neste sentido. Três diferentes visualizações foram geradas para observamos essa diferença com mais detalhes.
pre_pandemia <- c(2017,2018,2019)
pandemia <- c(2020,2021,2022)
teste <- dados %>%
mutate(periodo = case_when(numAno %in% pre_pandemia ~ "Pré pandemia",
numAno %in% pandemia ~ "Pandemia"))
gasto_periodo <- teste %>%
group_by(periodo, numAno) %>%
summarise(gasto = sum(vlrLiquido),
.groups = "drop")
gasto_periodo %>%
ggplot(aes(x = numAno, y = gasto)) +
geom_point() +
geom_line() +
facet_wrap(~factor(periodo, levels=c("Pré pandemia", "Pandemia")), ncol = 2) +
scale_x_continuous(breaks=c(2017,2018,2019,2020,2021,2022)) +
labs(
x = "Ano",
y = "Gasto total",
title = "Gastos antes e durante a pandemia"
)
gasto_periodo %>%
ggplot(aes(x = numAno, y = gasto, color = periodo)) +
geom_point() +
geom_line() +
scale_x_continuous(breaks=c(2017,2018,2019,2020,2021,2022)) +
labs(
x = "Ano",
y = "Gasto total",
color = "PerÃodo",
title = "Gastos antes e durante a pandemia"
)
gasto_periodo %>%
arrange(gasto) %>%
mutate(periodo = factor(periodo, levels=c("Pré pandemia", "Pandemia"))) %>%
ggplot(aes(x=as.factor(periodo), y=gasto)) +
geom_boxplot(fill="slateblue", alpha=0.2) +
labs(
x = "Ano",
y = "Gasto total",
title = "Gastos por perÃodo"
)
Buscamos entender se os gastos por categoria se mantiveram os mesmos durante estes diferentes perÃodos da nossa história recente. É perceptÃvel o quanto os gastos com passagens aéreas foram reduzidos durante este perÃodo pandêmico.
tipo_gasto_periodo <- teste %>%
group_by(txtDescricao, periodo) %>%
summarise(total_categoria = sum(vlrLiquido),
.groups = "drop")
tipo_gasto_periodo %>%
filter(periodo == "Pré pandemia") %>%
arrange(total_categoria) %>%
mutate(txtDescricao = factor(txtDescricao, levels=txtDescricao)) %>%
top_n(20, total_categoria) %>%
ggplot(aes(x=txtDescricao, y=total_categoria)) +
geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
coord_flip() +
# facet_wrap(~factor(periodo, levels=c("Pré pandemia", "Pandemia")), ncol = 1) +
labs(
x = "Categoria do gasto",
y = "Gasto total",
title = "Gastos dos deputados"
)
tipo_gasto_periodo %>%
filter(periodo == "Pandemia") %>%
arrange(total_categoria) %>%
mutate(txtDescricao = factor(txtDescricao, levels=txtDescricao)) %>%
top_n(20, total_categoria) %>%
ggplot(aes(x=txtDescricao, y=total_categoria)) +
geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
coord_flip() +
# facet_wrap(~factor(periodo, levels=c("Pré pandemia", "Pandemia")), ncol = 1) +
labs(
x = "Categoria do gasto",
y = "Gasto total",
title = "Gastos dos deputados"
)
deputado_periodo <- teste %>%
group_by(txNomeParlamentar, periodo) %>%
summarise(total_deputado = sum(vlrLiquido),
.groups = "drop")
deputado_periodo %>%
filter(periodo == "Pré pandemia") %>%
arrange(total_deputado) %>%
mutate(txNomeParlamentar = factor(txNomeParlamentar, levels=txNomeParlamentar)) %>%
top_n(20, total_deputado) %>%
ggplot(aes(x=txNomeParlamentar, y=total_deputado)) +
geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
coord_flip() +
# facet_wrap(~factor(periodo, levels=c("Pré pandemia", "Pandemia")), ncol = 1) +
labs(
x = "Nome do deputado",
y = "Gasto total",
title = "Gastos dos deputados no perÃodo pré-pandemia"
)
deputado_periodo %>%
filter(periodo == "Pandemia") %>%
arrange(total_deputado) %>%
mutate(txNomeParlamentar = factor(txNomeParlamentar, levels=txNomeParlamentar)) %>%
top_n(20, total_deputado) %>%
ggplot(aes(x=txNomeParlamentar, y=total_deputado)) +
geom_bar(stat="identity", fill="#f68060", alpha=.6, width=.4) +
coord_flip() +
# facet_wrap(~factor(periodo, levels=c("Pré pandemia", "Pandemia")), ncol = 1) +
labs(
x = "Nome do deputado",
y = "Gasto total",
title = "Gastos dos deputados durante a pandemia"
)