Created
July 19, 2019 19:09
-
-
Save sergiospagnuolo/176ef9efaac45c4d2b4ba4ed8eddf9cb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
library(tidyverse) | |
# Distribuição de contribuintes previdenciários | |
# ref http://dados.gov.br/dataset/estatisticas-contrib-pessoas-fisicas-por-uf/resource/6b498c82-dbd9-42b4-8a7e-d04967c6cff1 | |
# manual das colunas http://www.previdencia.gov.br/dados-abertos/aeps-2007-anuario-estatistico-da-previdencia-social-2007/anuario-estatistico-da-previdencia-social-2007-contribuintes-da-previdencia-social/ | |
d <- read.csv("CTB21.csv", header = T, fileEncoding = "ISO-8859-1", dec = ",") | |
ufs_abrev <- c("Acre", "Alagoas", "Amazonas", "Amapá", "Bahia", "Ceará", "Distrito Federal", "Espírito Santo", "Goiás", "Maranhão", "Mato Grosso", "Mato Grosso do Sul", "Minas Gerais", "Pará", "Paraíba", "Paraná", "Pernambuco", "Piauí", "Rio de Janeiro", "Rio Grande do Norte", "Rondônia", "Rio Grande do Sul", "Roraima", "Santa Catarina", "Sergipe", "São Paulo", "Tocantins") | |
ufs_siglas <- c("AC", "AL", "AM", "AP", "BA", "CE", "DF", "ES", "GO", "MA", "MT", "MS", "MG", "PA", "PB", "PR", "PE", "PI", "RJ", "RN", "RO", "RS", "RR", "SC", "SE", "SP", "TO" ) | |
ufs <- data.frame(ufs_abrev, ufs_siglas) | |
d$Ano <- ymd(d$Ano, truncated = 2L) | |
# Número médio mensal de contribuintes da Previdência | |
geral <- d %>% group_by(Ano) %>% | |
summarise(sum(Número.Médio.Mensal.Contrib)) | |
colnames(geral)[2] = "valor" | |
grafico1 <- geral %>% | |
ggplot(aes(Ano, valor)) + | |
geom_line(color="purple") + | |
geom_point(color="purple") + | |
scale_x_date(breaks = scales::pretty_breaks(n = 10)) + | |
scale_y_continuous(labels=function(x) format(x, big.mark = ",", scientific = FALSE)) + | |
labs(title="Número médio mensal de contribuintes da Previdência", | |
subtitle = "Soma de todas as UFs. Média calculada pela quantidade de meses trabalhados no ano\npor contribuinte, dividida por 12", | |
x="", | |
y="número de contribuintes", | |
caption = "Fonte: Previdência social, via Dados.gov.br") | |
grafico1 + tema() | |
# Por UF | |
por_uf <- d %>% group_by(Ano, Unidade.da.Federação) %>% | |
summarise(sum(Número.Médio.Mensal.Contrib)) | |
colnames(por_uf)[2] = "UF" | |
colnames(por_uf)[3] = "valor" | |
por_uf <- full_join(por_uf, ufs, by = c("UF" = "ufs_abrev")) | |
grafico2 <- por_uf %>% | |
filter(UF != "Ignorado") %>% | |
ggplot(aes(Ano, valor)) + | |
geom_line(color="orange") + | |
geom_point(color="orange") + | |
facet_wrap(. ~ ufs_siglas, ncol=8, scales = "free") + | |
scale_x_date(breaks = scales::pretty_breaks(n = 2)) + | |
scale_y_continuous(labels=function(x) format(x, big.mark = ",", scientific = FALSE)) + | |
labs(title="Número médio mensal de contrib. da Previdência, por UF", | |
subtitle = "Calculado pela quantidade de meses trabalhados no ano por contribuinte, dividida por 12", | |
x="", | |
y="", | |
caption = "Fonte: Previdência social, via Dados.gov.br ") | |
grafico2 + tema() | |
# valores totais em números financeiros | |
library(lubridate) | |
# valores totais | |
financ <- d %>% group_by(Ano) %>% | |
summarise(sum(Valor..das.Remunerações.R.)) | |
colnames(financ)[2] = "valor bruto" | |
financ$Ano <- ymd(financ$Ano, truncated = 2L) | |
financ[3] <- deflate(financ$'valor bruto', financ$Ano , "05/2019", "inpc") | |
colnames(financ)[3] = "valor ajustado" | |
grafico3 <- financ %>% | |
ggplot() + | |
geom_line(aes(Ano, `valor bruto`), color="#008596") + | |
geom_point(aes(Ano, `valor bruto`), color="#008596") + | |
geom_line(aes(Ano, `valor ajustado`), color="#d73027") + | |
geom_point(aes(Ano, `valor ajustado`), color="#d73027") + | |
scale_x_date(breaks = scales::pretty_breaks(n = 10)) + | |
scale_y_continuous(labels=function(x) format(x, big.mark = ",", scientific = FALSE)) + | |
labs(title="Valor das Remunerações da Previdência ", | |
subtitle = "Valores brutos (verde) e ajustados (vermelho)", | |
x="", | |
y="R$", | |
caption = "Fonte: Previdência social, via Dados.gov.br") | |
grafico3 + tema() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment