Transparência(4): Análise de salários usando Treemaps
library(treemap)
library(dplyr)
library(ggplot2)
library(ggrepel)
library(ggthemes)
df <- read.csv2("/home/sillas/R/data/transparenciaComSalarios.csv", stringsAsFactors = FALSE, fileEncoding = "ISO-8859-15")
Para este post, continuaremos analisando os salários dos servidores federais, mas agora usando uma visualização chamada Treemap ou Mapa de árvores.
Por exemplo, o gráfico abaixo compara diferentes órgãos públicos de acordo com a quantidade de servidores e o salário médio dos mesmos.
aggSetor <-df %>%
group_by(ORG_LOTACAO) %>%
summarise(quantidade = n(),
salarioMedio = median(SALARIO))
aggSetor$escala <- scale(aggSetor$salarioMedio) #necessário para criar valores negativos para deixar as disparidades mais evidentes
x <- treemap(aggSetor, index = "ORG_LOTACAO", vSize = "quantidade", vColor = "escala",
type = "value", palette = "-RdGy", lowerbound.cex.labels = 0.3,
title = "Treemap dos salários dos órgãos federais brasileiros")
Interpretação: Com o gráfico acima, aprendemos que:
* O Ministério da Saúde tem muitos servidores mas salários muito baixos.
* O Ministério da Fazenda, a Advocacia-Geral da União e o Banco Central do Brasil são os que possuem os maiores salários.
O treemap é chamado assim por permitir uma visualização fácil de hierarquias, isto é, de variáveis categóricas e seus respectivos subníveis. Além disso, ele é excelente para representar visualmente relações entre duas ou mais variáveis categóricas. Por exemplo, será que existe alguma relação interessante entre o UF e o vínculo do servidor?
treemap(df, index = c("UF_EXERCICIO", "SITUACAO_VINCULO"), vSize = "x")
Aparentemente, tem sim! O número de servidores de Contrário Temporário no RJ e de Cargo Comissionado no DF parecem ser muito grandes. Podemos ratificar isso filtrando fora os servidores ativos:
treemap(subset(df, SITUACAO_VINCULO != "ATIVO PERMANENTE"), index = c("UF_EXERCICIO", "SITUACAO_VINCULO"), vSize = "x")
Vamos conferir essa informação com um gráfico de dispersão:
df %>%
filter(SITUACAO_VINCULO == "NOMEADO CARGO COMIS.") %>%
group_by(UF_EXERCICIO) %>%
summarise(servidores = n(),
salario = median(SALARIO)) %>%
ggplot(aes(servidores, salario)) +
geom_point() +
geom_text_repel(aes(label = UF_EXERCICIO)) +
labs(title = "Cargos comissionados de cada estado", x = "Quantidade de servidores", y = "Salário médio") +
theme_few()
Duas grandes descobertas aqui:
* O DF tem um número assustadoramente grande de CCs (5384), tanto que chega a distorcer o gráfico.
* Os CCs do CE tem um salário médio assustadoramente alto (R$8554,70).
Por hoje é só!
comments powered by Disqus