Created
November 23, 2022 21:21
-
-
Save gabrielacaesar/925101e2555104ab187a026088e812b4 to your computer and use it in GitHub Desktop.
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
# código feito em R | |
# para facilitar rode no RStudio | |
## pacotes usados | |
# install.packages("tidyverse") | |
# install.packages("data.table") | |
library(tidyverse) | |
library(data.table) | |
## indicação para baixar o arquivo bruto | |
# encontre os dados aqui: https://dadosabertos.tse.jus.br/dataset/dadosabertos-tse-jus-br-dataset-prestacao-de-contas-eleitorais-2022 | |
# arquivo baixado: Prestação de contas de candidatos | |
# dados baixados às 16h20 de 23 de novembro de 2022 | |
dados_brutos <- fread("~/Downloads/prestacao_de_contas_eleitorais_candidatos_2022/despesas_contratadas_candidatos_2022_BRASIL.csv", | |
encoding = "Latin-1", | |
colClasses = (NR_CPF_CNPJ_FORNECEDOR = "character")) | |
# verifica dados do arquivo bruto | |
glimpse(dados_brutos) | |
head(dados_brutos) | |
# seleciona colunas de interesse | |
# transforma coluna de despesa de texto para número | |
dados_reduzido <- dados_brutos %>% | |
select(SG_UF, NR_CPF_CNPJ_FORNECEDOR, DS_TIPO_FORNECEDOR, NM_FORNECEDOR, DS_ORIGEM_DESPESA, DS_DESPESA, VR_DESPESA_CONTRATADA, DS_CARGO, NM_CANDIDATO, SG_PARTIDO) %>% | |
mutate(VR_DESPESA_CONTRATADA = as.double(str_replace_all(VR_DESPESA_CONTRATADA, ",", "."))) | |
# filtro para exibir apenas os dados da campanha presidencial | |
dados_presidencial <- dados_reduzido %>% filter(SG_UF == "BR") | |
# apenas CNPJ e nome da empresa | |
nome_fornecedor <- dados_reduzido %>% select(NR_CPF_CNPJ_FORNECEDOR, NM_FORNECEDOR) %>% distinct(NR_CPF_CNPJ_FORNECEDOR, .keep_all = T) | |
### top fornecedores | |
# sem filtro; todos os candidatos | |
fornecedores_total <- dados_reduzido %>% | |
group_by(NR_CPF_CNPJ_FORNECEDOR) %>% | |
summarise(valor_total = sum(VR_DESPESA_CONTRATADA)) %>% | |
left_join(nome_fornecedor, by = "NR_CPF_CNPJ_FORNECEDOR") %>% | |
arrange(desc(valor_total)) %>% | |
mutate(order = row_number()) | |
# exibe as 15 primeiras linhas do dataframe acima | |
head(fornecedores_total, 15) | |
# baixa como CSV (planilha) | |
write.csv(fornecedores_total, "fornecedores_total.csv", row.names = F) | |
### top fornecedores | |
# filtro pelos candidatos a presidente | |
fornecedores_total_pr <- dados_presidencial %>% | |
group_by(NR_CPF_CNPJ_FORNECEDOR) %>% | |
summarise(valor_total = sum(VR_DESPESA_CONTRATADA)) %>% | |
left_join(nome_fornecedor, by = "NR_CPF_CNPJ_FORNECEDOR") %>% | |
arrange(desc(valor_total)) %>% | |
mutate(order = row_number()) | |
# exibe as 15 primeiras linhas | |
head(fornecedores_total_pr, 15) | |
# baixa como CSV (planilha) | |
write.csv(fornecedores_total_pr, "fornecedores_total_pr.csv", row.names = F) | |
### top fornecedores | |
# filtro pela coluna DS_ORIGEM_DESPESA == "Despesa com Impulsionamento de Conteúdos"; todos os cadidatos | |
fornecedores_total_impulsionamento <- dados_reduzido %>% | |
filter(DS_ORIGEM_DESPESA == "Despesa com Impulsionamento de Conteúdos") %>% | |
group_by(NR_CPF_CNPJ_FORNECEDOR) %>% | |
summarise(valor_total = sum(VR_DESPESA_CONTRATADA)) %>% | |
left_join(nome_fornecedor, by = "NR_CPF_CNPJ_FORNECEDOR") %>% | |
arrange(desc(valor_total)) %>% | |
mutate(order = row_number()) | |
# exibe as 15 primeiras linhas | |
head(fornecedores_total_impulsionamento, 15) | |
# baixa como CSV (planilha) | |
write.csv(fornecedores_total_impulsionamento, "fornecedores_total_impulsionamento.csv", row.names = F) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment