dataprev <- read.csv(url("http://dadosabertos.dataprev.gov.br/opendata/emi07/formato=csv"), dec=",") if (!require(tidyverse)) install.packages("tidyverse") tipos = c( "42-Ap Tempo Contrib LOPS", "46-Ap Tempo Contrib Especial", "Ap Idade", "Ap Idade Outras", "Outras Ap Tempo Contrib") dados = dataprev %>% select(Ano, Faixa.de.Valor, Quantidade.Benefícios.Emitidos, Vlr.Benefícios.Emitidos..R.., Grupos.Principais.Espécies) %>% filter(Ano == 2017) %>% group_by(Faixa.de.Valor, Grupos.Principais.Espécies) %>% summarise(valor = sum(as.numeric(Vlr.Benefícios.Emitidos..R..))) %>% na.omit() %>% mutate(Grupos.Principais.Espécies = Grupos.Principais.Espécies %>% as.character) %>% filter(Grupos.Principais.Espécies %in% tipos) %>% mutate(Grupos.Principais.Espécies = case_when( Grupos.Principais.Espécies %in% c( "42-Ap Tempo Contrib LOPS", "46-Ap Tempo Contrib Especial", "Outras Ap Tempo Contrib") ~ "Tempo de Contribuição", Grupos.Principais.Espécies %in% c( "Ap Idade", "Ap Idade Outras") ~ "Idade", TRUE ~ as.character(Grupos.Principais.Espécies) )) %>% group_by(Faixa.de.Valor, Grupos.Principais.Espécies) %>% summarise(valor = sum(valor)) fatores <- factor(dados$Faixa.de.Valor, c( "Abaixo de 1", "Igual a 1", "Acima de 1 Até 2", "Acima de 2 Até 3", "Acima de 3 Até 4", "Acima de 4 Até 5", "Acima de 5 Até 6", "Acima de 6 Até 7", "Acima de 7 Até 8", "Acima de 8 Até 9", "Acima de 9 Até 10", "Acima de 10 Até 20", "Acima de 20 Até 50" )) ggplot(data=dados, aes(x=Grupos.Principais.Espécies, y=valor, fill=fatores)) + geom_bar(stat="identity", position=position_dodge())+ ylab("Valor de benefícios emitidos em 2017")+ xlab("Tipo de aposentadoria")+ labs(fill="Faixas de valor em pisos previdênciários")+ scale_y_continuous(labels = function(x) format(x, big.mark = ".", decimal.mark = ",", scientific = FALSE))