Análise de Gastos de Deputados

Neste laboratório realizaremos uma análise exploratória sobre as despesas de deputados federais da atual legislatura com a atividade parlamentar, respondendo uma série de perguntas sobre estes dados.

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, aluguel de veículos, embarcações, aeronaves, manutenção de escritórios de apoio, assinatura de publicações, alimentação, hospedagem, táxi, pedágio, estacionamento e passagens terrestres.

Os dados foram coletados do site de transparência da Câmara, tratados, e podem ser baixados neste link.


Lendo e filtrando os dados

observations <- read.csv("~/Documentos/AD2/dadosCEAP.csv", stringsAsFactors=FALSE)

observations$valorGlosa <- as.numeric(sub(",", ".", observations$valorGlosa, fixed = TRUE))

Primeiro vamos observar quantos deputados distintos existem no nosso conjunto de dados.

dim(observations %>%
  group_by(idCadastro) %>%
  summarise(count = n()))[1]
## [1] 834

Ou seja, existem 834 deputados distintos no nosso conjunto de dados, contudo, cada mandato na Câmara possui 513 parlamentares. Podemos considerar que esta diferença pode ser ocorrência de uso da CEAP após o fim de mandatos anteriores de parlamentares ou nomeação de suplentes no decorrer do mandato.

Neste laboratório vamos considerar apenas os deputados que estão no atual mandato, 55ª legislatura (2015 - 2019), para isto vamos filtrar os dados pela data de emissão, considerando apenas os documentos que foram emitidos apartir do data de posse dos parlamentares (01 de Fevereiro de 2015).

cpObservations <- observations
cpObservations['dataEmissao'] <- format(as.Date(cpObservations$dataEmissao), "%Y %m %d")
cpObservations <- cpObservations[which(cpObservations$dataEmissao >= "2015 02 01"), ]

dim(cpObservations %>%
  group_by(idCadastro) %>%
  summarise(count = n()))[1]
## [1] 727

Dessa forma agora temos 727 deputados distintos.


Em média quais os partidos que mais e menos gastam com CEAP?

Vamos agrupar os dados por partido.

costByPart <- cpObservations %>%
  group_by(sgPartido) %>%
  filter(!is.na(sgPartido), !is.na(valorLíquido))
costByPart <- subset(costByPart, select = c(sgPartido, valorLíquido))

Então vamos observar um pouco a dispersão de valores para cada partido.

ggplot(costByPart, aes(x = sgPartido, y = valorLíquido)) + geom_boxplot() +
  scale_y_continuous(name = "Valor debitado na CEAP em R$", breaks = seq(0, 200000, 25000),
                    limits=c(-10000, 200000)) + 
  xlab("Sigla do Partido") + ggtitle("") + coord_flip() + theme_bw()

Visualmente podemos perceber que os valores gastos pela maioria dos partidos tem um mesmo padrão de dispersão, alguns tem uma dispersão menor como PTdoB, PSOL, PEN e outros possuem uma dispersão maior como PTB, PT.

Contudo, ainda não temos ideia de quem gasta mais e menos em média. Para isto, vamos dividir o gasto total de cada partido pelo seu número de parlamentares filiados.

avgCostByPart <- cpObservations %>% 
  group_by(sgPartido, idCadastro) %>%
  filter(!is.na(sgPartido), !is.na(valorLíquido), !is.na(idCadastro)) %>%
  summarise(valorGasto = sum(valorLíquido)) %>%
  group_by(sgPartido) %>%
  summarise(valorGastoMedio = sum(valorGasto)/n())

plot_ly(data=avgCostByPart, type="bar", y=~sgPartido, x=~valorGastoMedio, orientation="h") %>%
  layout(title="Gasto médio por Partido", 
         xaxis=list(title="Gasto médio em R$"),
         yaxis=list(title="Nome do Partido",
                    categoryarray=arrange(avgCostByPart, valorGastoMedio)$sgPartido))

Com o gráfico acima, podemos concluir que os partidos que mais gastam em média com CEAP são PEN, PHS, PODE e PRB.

Os que menos gastam são PTdoB, PRTB, PRP, PROS.


Existe correlação entre o valor médio gasto por estado e a distância da capital do estado até o Distrito Federal?

Essa pergunta surgiu pelo fato de que, em tese, parlamentares que residem em estados mais distantes em relação ao distrito federal devem gastar mais com passagens aéreas, veículos, hospedagens.

distToDF <- read.csv("~/Documentos/AD2/lab2/distancia-estados.csv", stringsAsFactors=FALSE)

avgCostByState <- cpObservations %>% 
  group_by(sgUF, idCadastro) %>%
  filter(!is.na(sgUF), !is.na(valorLíquido), !is.na(idCadastro)) %>%
  summarise(valorGasto = sum(valorLíquido)) %>%
  group_by(sgUF) %>%
  summarise(valorGastoMedio = sum(valorGasto)/n())

avgCostByState <- merge(x = avgCostByState, y=distToDF, by = "sgUF", all = TRUE)

ggplot(avgCostByState, aes(x=Distancia, y=valorGastoMedio)) +
    geom_point(shape=1) +
    geom_smooth(method=lm) + theme_bw() +
  labs(title = "Correlação entre a distancia do estado para o DF e o valor médio gasto por Estado", y = "Valor medio gasto por Estado", x = "Distância do estado para o DF em KM")

cor(avgCostByState$valorGastoMedio, avgCostByState$Distancia)
## [1] 0.3243347

Com o valor de 0,32 percebe-se que existe uma correlação moderada fraca entre o valor médio gasto por estado e sua distância até o Distrito Federal. Para melhorar esse modelo poderíamos usar regressão linear múltipla com mais um atríbuto quadrático para a variável Distancia.


Quais são os deputados que possuem um comportamento médio de gastos diferente dos demais no seu estado?

Em tese, deputados que moram no mesmo estado deveriam ter gastos muito próximos com passagens aéreas, hospedagem e entre outros.

avgCostByDep <- cpObservations %>% 
  group_by(nomeParlamentar, sgUF, sgPartido) %>%
  filter(!is.na(sgUF), !is.na(valorLíquido), !is.na(nomeParlamentar), !is.na(sgPartido)) %>%
  summarise(valorGastoMedio = sum(valorLíquido)/n())

outliersNames <- avgCostByDep[which((avgCostByDep$valorGastoMedio - boxplot.stats(avgCostByDep$valorGastoMedio)$out) > 0.00000001 & avgCostByDep$valorGastoMedio > 5000), ]
## Warning in avgCostByDep$valorGastoMedio - boxplot.stats(avgCostByDep
## $valorGastoMedio)$out: longer object length is not a multiple of shorter
## object length
plot_ly(data=avgCostByDep, y=~valorGastoMedio, x=~sgUF, color=~sgUF, type="box") %>%
  add_annotations(x = outliersNames$sgUF,
                  y = outliersNames$valorGastoMedio,
                  text = paste(outliersNames$nomeParlamentar, " (", outliersNames$sgPartido, ")", sep = ""),
                  xref = "x",
                  yref = "y",
                  showarrow = TRUE,
                  arrowhead = 2,
                  arrowsize = .2,
                  ax = 10,
                  ay = -20) %>% 
  layout(title="Dispersão do valor total gasto pelos deputados de cada estado", 
         xaxis=list(title="Estado"),
         yaxis=list(title="Valor médio gasto em R$"))
## Warning in RColorBrewer::brewer.pal(N, "Set2"): n too large, allowed maximum for palette Set2 is 8
## Returning the palette you asked for with that many colors

O gráfico acima apresenta alguns deputados que se comportam de forma diferente dos demais no seu estado em relação ao valor médio dos gastos com a CEAP. Podemos concluir que em média esses deputados gastam mais do que os demais que residem no mesmo estado.