-
-
Save sergiospagnuolo/48744aeddde72c87b1849c7c21dc0637 to your computer and use it in GitHub Desktop.
Extrai e analisa dados do Portal da Transparência com dados sobre gastos com Google, Twitter, Facebook e TikTok
This file contains 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) | |
library(jsonlite) | |
library(lubridate) | |
library(deflateBR) | |
library(scales) | |
library(clipr) | |
library(googlesheets4) | |
options(scipen = 999) | |
Twitter <- "https://transparencia.gov.br/despesas/favorecido/resultado?paginacaoSimples=true&tamanhoPagina=10000&offset=0&direcaoOrdenacao=desc&colunaOrdenacao=valor&colunasSelecionadas=data%2CdocumentoResumido%2ClocalizadorGasto%2Cfase%2Cespecie%2Cfavorecido%2CufFavorecido%2Cvalor%2Cug%2Cuo%2Corgao%2CorgaoSuperior%2Cgrupo%2Celemento%2Cmodalidade%2CplanoOrcamentario%2Cautor%2CsubTitulo&favorecido=37595606&faseDespesa=3&_=1638905135038" | |
Twitter <- jsonlite::fromJSON(Twitter) | |
Twitter <- Twitter[["data"]] | |
Twitter <- Twitter[,-25] | |
Twitter$rede <- "Twitter" | |
Google <- "https://transparencia.gov.br/despesas/favorecido/resultado?paginacaoSimples=true&tamanhoPagina=10000&offset=0&direcaoOrdenacao=desc&colunaOrdenacao=valor&colunasSelecionadas=data%2CdocumentoResumido%2ClocalizadorGasto%2Cfase%2Cespecie%2Cfavorecido%2CufFavorecido%2Cvalor%2Cug%2Cuo%2Corgao%2CorgaoSuperior%2Cgrupo%2Celemento%2Cmodalidade%2CplanoOrcamentario%2Cautor%2CsubTitulo&favorecido=33989863&faseDespesa=3&_=1638905736802" | |
Google <- jsonlite::fromJSON(Google) | |
Google <- Google[["data"]] | |
Google <- Google[,-25] | |
Google$rede <- "Google" | |
Facebook <- "https://transparencia.gov.br/despesas/favorecido/resultado?paginacaoSimples=true&tamanhoPagina=10000&offset=0&direcaoOrdenacao=desc&colunaOrdenacao=valor&colunasSelecionadas=data%2CdocumentoResumido%2ClocalizadorGasto%2Cfase%2Cespecie%2Cfavorecido%2CufFavorecido%2Cvalor%2Cug%2Cuo%2Corgao%2CorgaoSuperior%2Cgrupo%2Celemento%2Cmodalidade%2CplanoOrcamentario%2Cautor%2CsubTitulo&favorecido=25843654&faseDespesa=3&_=1638905974784" | |
Facebook <- jsonlite::fromJSON(Facebook) | |
Facebook <- Facebook[["data"]] | |
Facebook <- Facebook[,-25] | |
Facebook$rede <- "Facebook" | |
TikTok <- "https://portaldatransparencia.gov.br/despesas/favorecido/resultado?paginacaoSimples=true&tamanhoPagina=10000&offset=0&direcaoOrdenacao=desc&colunaOrdenacao=valor&colunasSelecionadas=data%2CdocumentoResumido%2ClocalizadorGasto%2Cfase%2Cespecie%2Cfavorecido%2CufFavorecido%2Cvalor%2Cug%2Cuo%2Corgao%2CorgaoSuperior%2Cgrupo%2Celemento%2Cmodalidade%2CplanoOrcamentario%2Cautor%2CsubTitulo%2Cfuncao%2Csubfuncao%2Cprograma%2Cacao&favorecido=370217628&faseDespesa=3&_=1669773293148" | |
TikTok <- jsonlite::fromJSON(TikTok) | |
TikTok <- TikTok[["data"]] | |
TikTok <- TikTok[,-25] | |
TikTok$rede <- "TikTok" | |
d <- bind_rows(Facebook, Google, TikTok, Twitter) | |
d <- d %>% filter(valor > 0) | |
d$valor <- gsub("\\.", "", d$valor) | |
d$valor <- round(as.numeric(sub(",", ".", as.character(d$valor))), 0) | |
d$data_format <- as.Date(d$data, format = "%d/%m/%Y") | |
d$mes <- format(as.Date(d$data_format), "%Y-%m") | |
d$ano <- format(as.Date(d$data_format), "%Y") | |
d$valor_ajustado <- deflate(d$valor, d$data_format, "01/2023", "ipca") | |
d$valor_ajustado <- round(d$valor_ajustado, 0) | |
AUTENTICA GOOGLE SHEETS | |
lib::autenticar_gsheets() | |
id <- googlesheets4::as_sheets_id("") | |
raw <- googlesheets4::read_sheet(id) | |
################ | |
###### Análises | |
ano <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(ano) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(ano) | |
write_sheet(ano, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "ano") | |
#write_clip(ano) | |
ano_organosup <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(ano, orgaoSuperior) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(ano) %>% | |
spread(orgaoSuperior, total) | |
write_sheet(ano_organosup, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "ano_organosup") | |
#write_clip(ano_organosup) | |
organosup <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(orgaoSuperior) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(desc(total)) | |
write_sheet(organosup, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "organosup") | |
#write_clip(organosup) | |
por_rede <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(rede) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(desc(total)) | |
write_sheet(por_rede, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "por_rede") | |
#write_clip(por_rede) | |
ano_rede <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2022) %>% | |
group_by(ano, rede) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(ano) | |
write_sheet(ano_rede, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "ano_rede") | |
#write_clip(ano_rede) | |
por_motivo_ano <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(planoOrcamentario, ano) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(ano) | |
write_sheet(por_motivo_ano, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "por_motivo_ano") | |
#write_clip(por_motivo_ano) | |
por_motivo <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(planoOrcamentario) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(desc(total)) | |
write_sheet(por_motivo, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "por_motivo") | |
#write_clip(por_motivo) | |
por_motivo_por_rede <- d %>% | |
drop_na(valor_ajustado) %>% | |
filter(ano > 2018) %>% | |
group_by(planoOrcamentario, rede) %>% | |
summarise(total = sum (valor_ajustado)) %>% | |
arrange(desc(total)) | |
write_sheet(por_motivo_por_rede, ss = "https://docs.google.com/spreadsheets/d/1oAEf25b0UllWH_CK4vhucMQvfB2FPpnvLGWFvBI1A5M/edit#gid=0", sheet = "por_motivo_por_rede") | |
#write_clip(por_motivo_por_rede) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment