R e dados abertos, uma perfeita combinação
-
Upload
sillas-gonzaga -
Category
Career
-
view
52 -
download
2
Transcript of R e dados abertos, uma perfeita combinação
![Page 1: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/1.jpg)
e Dados Abertos, uma combinação perfeita
Sillas Teixeira GonzagaBlog Paixão por Dados
![Page 2: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/2.jpg)
Sumário• Sobre mim• Sobre o blog• Sobre R• Case do Portal da Transparência• Como aprender R
![Page 3: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/3.jpg)
Sobre mim• Aracajuano recém-chegado no Rio de Janeiro• Engenheiro (porém sem CREA) de Produção pela UFS• Intercâmbio na Coreia do Sul• Autor do blog Paixão por Dados (sillasgonzaga.github.io)
![Page 4: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/4.jpg)
Sobre o blog• Análises sobre servidores públicos
federais• Mapeamento do fluxo migratório
universitário no Brasil• OLX Shiny• Pacote mafs sobre previsão de
séries temporais• Rbloggers-BR: Bot no Twitter
![Page 5: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/5.jpg)
Sobre R• Linguagem de programação gratuita e de código aberto• Inicialmente voltada para fins estatísticos, teve seu escopo expandido
pelos seus mais de 10 mil pacotes no CRAN.
![Page 6: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/6.jpg)
R não é apenas estatística:
https://sillasgonzaga.shinyapps.io/olxshiny2/
![Page 7: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/7.jpg)
• Excelente linguagem para todo o pipeline de Analytics1. Importação de arquivos (readr, readxl, haven, data.table)2. Limpeza e tratamento de dados (dplyr, data.table, tidyr, stringr)3. Gráficos (ggplot2, dygraphs, plotly)4. Interface com bancos de dados (RPostgreSQL, RMySQL, RODBC)5. Análise preditiva / Data Science (caret, forecast, rpart, e1071, knn,
randomForest)6. Relatório analítico final (rmarkdown, knitr)7. Dashboards interativas (shiny, shinydashboard)
![Page 8: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/8.jpg)
Caso de estudo: Portal da Transparência
![Page 9: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/9.jpg)
Etapas:1. Obter os dados2. Limpar os dados3. Definir as questões de análise4. Análise exploratória e análise dos resultados5. Divulgar resultados
![Page 10: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/10.jpg)
1º passo: obter os dados
![Page 11: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/11.jpg)
O problema:
• Os arquivos são divididos por mês e não dá para baixar tudo de uma vez só.
![Page 12: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/12.jpg)
A solução:baixarArquivo <- function(mes, ano, tipo = "C") { # tipo = C (Civis) ou M (militares) # mes = 01:12 # ano link <- paste0( "http://arquivos.portaldatransparencia.gov.br/downloads.asp?a=", ano, "&m=", mes, "&d=", tipo, "&consulta=Servidores") pasta <- paste0("data/", ano, "-", mes, "-", "01") arquivo <- paste0(pasta, "/arquivo.zip") download.file(link, arquivo) unzip(arquivo, exdir = pasta) } baixarArquivo("01", 2017)
![Page 13: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/13.jpg)
Leitura dos dados• Os arquivos podem chegar a ter cerca de 380MB com centenas de
milhares de linhas, o que inviabiliza utilizar programas como o Excel.• Além disso, os datasets de cadastro de servidores e de remuneração
são fornecidos em arquivos diferentes.
![Page 14: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/14.jpg)
A soluçãolibrary(data.table) df_cadastro <- fread("data/2017-01-01/20170131_Cadastro.csv") df_remuneracao <- fread("data/2017-01-01/20170131_Remuneracao.csv") setkey(df_cadastro, "ID_SERVIDOR_PORTAL") setkey(df_remuneracao, "ID_SERVIDOR_PORTAL") df <- merge(df_cadastro, df_remuneracao, all.x = TRUE)
![Page 15: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/15.jpg)
2º Passo: limpar os dados• As IDs dos servidores se repetem?
length(df$Id_SERVIDOR_PORTAL) #Quantidade de IDs de servidores no arquivo ## [1] 795107 length(unique(df$Id_SERVIDOR_PORTAL)) #Quantidade de IDs únicas ## [1] 681266
![Page 16: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/16.jpg)
Definir as questões de análise e análise exploratória• Em qual estado é maior a proporção de servidores federais em
relação à população total?
![Page 17: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/17.jpg)
Definir as questões de análise e análise exploratória• Em qual estado é maior a proporção de servidores federais em
relação à população total?
ggplot(data=df, aes(x=reorder(Estado, Proporcao), y=Proporcao, fill=REGIAO)) + geom_bar(stat="identity") + coord_flip() + labs(title="Proporção de servidores por Estado", x="Estado", y="Proporção da população \n que é funcionário público") + theme_economist()
![Page 18: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/18.jpg)
• Quais órgãos públicos mais “empregam” servidores? E quais pagam mais?
![Page 19: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/19.jpg)
• Quais órgãos públicos mais “empregam” servidores? E quais pagam mais?
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")
![Page 20: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/20.jpg)
• A proporção de cargos comissionados é a mesma nos estados?
![Page 21: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/21.jpg)
A proporção de cargos com• A proporção de cargos comissionados é a mesma nos estados?
treemap(df, index = c("UF_EXERCICIO", "SITUACAO_VINCULO"), vSize = "x")
![Page 22: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/22.jpg)
• A quanto tempo os servidores estão no funcionalismo público, estratificado por UF?
![Page 23: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/23.jpg)
• A quanto tempo os servidores estão no funcionalismo público, estratificado por UF?
ggplot(data=df, aes(x=UF_EXERCICIO, y=anos.como.servidor, fill=UF_EXERCICIO)) + geom_boxplot() + facet_grid(. ~ REGIAO, scales="free") + scale_y_continuous(breaks=escala) + labs(title="Tempo médio dos servidores no\n funcionalismo público por estado", x="Estado", y="Tempo como servidor em anos") + scale_fill_manual(values= coresEstados) + guides(fill=FALSE) + geom_hline(aes(yintercept = median(df$anos.como.servidor, na.rm = TRUE)), color = "green") + theme(axis.text.x=element_text(angle=45)) + theme_bw()
![Page 24: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/24.jpg)
5º passo: divulgação dos resultados
• knitr + rmarkdown
![Page 25: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/25.jpg)
Bônus: Crie seu blog!
https://github.com/daattali/beautiful-jekyll
![Page 26: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/26.jpg)
Como aprender R?• Etapa 0
![Page 27: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/27.jpg)
Como aprender R?• Etapa 0
![Page 28: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/28.jpg)
• 1 – Cursos online
![Page 29: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/29.jpg)
• 2 – Livros online:• R for Data Science, Hadley Wickham• R Graphics Cookbook , Winston Chang• ggplot2: Elegant Graphics for Data Analysis, Hadley Wickham
![Page 30: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/30.jpg)
• 3 – Documentação e sites de pacotes• ?dplyr::group_by• http://rmarkdown.rstudio.com/• http://shiny.rstudio.com/• http://ggplot2.org/• https://cran.r-project.org/web/packages/magrittr/vignettes/magrittr.html• ...
![Page 31: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/31.jpg)
• 4 – Blogs• http://rbloggers.com/• http://twitter.com/rbloggersbr• https://github.com/sillasgonzaga/referencias-R/blob/master/README.md
![Page 32: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/32.jpg)
• 5 – Pratique!
![Page 33: R e dados abertos, uma perfeita combinação](https://reader034.fdocumentos.com/reader034/viewer/2022042723/58d15f6d1a28aba3468b4e51/html5/thumbnails/33.jpg)
Muito obrigado!