#' @title Processa dados de deputados
#' @description Processa informações sobre os deputados das legislaturas 55 e 56
#' @param legislaturas_list Lista com ids das legislaturas. Default = 55 e 56.
#' @return Dataframe contendo informações sobre os deputados
#' @examples
#' #' .processa_dados_deputados()
.processa_dados_deputados <- function(legislaturas_list = c(55, 56)) {
library(tidyverse)
deputados <- purrr::map_df(legislaturas_list, ~ fetch_deputados_with_backoff_legislatura(.x))
deputados <- deputados %>%
dplyr::group_by(id) %>%
dplyr::rename("ultima_legislatura" = "legislatura") %>%
dplyr::mutate(ultima_legislatura = max(ultima_legislatura)) %>%
unique() %>%
dplyr::mutate(sg_partido = padroniza_sigla(sg_partido)) %>%
dplyr::mutate(em_exercicio = dplyr::if_else(situacao == 'Exercício', 1, 0)) %>%
dplyr::select(id, casa, cpf, nome_civil, nome_eleitoral, genero, uf, sg_partido, situacao,
condicao_eleitoral, ultima_legislatura, em_exercicio, data_nascimento)
return(deputados)
}
#' @title Processa dados de senadores
#' @description Processa informações sobre os senadores das legislaturas 55 e 56
#' @param legislaturas_list Lista com ids das legislaturas. Default = 55 e 56.
#' @return Dataframe contendo informações sobre os senadores
#' @examples
#' .processa_dados_senadores()
.processa_dados_senadores <- function(legislaturas_list = c(55, 56)) {
library(tidyverse)
senadores <- purrr::map_df(legislaturas_list, ~ fetch_senadores_legislatura(.x))
senadores_em_exercicio <- fetch_senadores_atuais(legislatura_atual = 56)
senadores_merge <- senadores %>%
dplyr::left_join(senadores_em_exercicio, by = c("id", "legislatura" = "legislatura_atual")) %>%
dplyr::mutate(casa = "senado") %>%
dplyr::mutate(cpf = NA) %>% # Senado não diponibiliza informação do cpf
dplyr::mutate(situacao = NA) %>% # Senado não diponibiliza informação da situação
dplyr::mutate(genero = dplyr::if_else(genero == "Feminino", "F", "M")) %>%
dplyr::mutate(em_exercicio = dplyr::if_else(is.na(em_exercicio), 0, em_exercicio)) %>%
dplyr::group_by(id) %>%
dplyr::mutate(ultima_legislatura = max(legislatura)) %>%
dplyr::ungroup() %>%
dplyr::filter(legislatura == ultima_legislatura) %>%
select(id, casa, cpf, nome_civil, nome_eleitoral = nome_eleitoral.x, genero, uf, sg_partido,
situacao, condicao_eleitoral, ultima_legislatura, em_exercicio, data_nascimento)
return(senadores_merge)
}
#' @title Processa dados de parlamentares
#' @description Processa informações sobre os parlamentares da legislatura atual
#' @param casa Casa (câmara ou senado) para retornar os dados. Se nenhuma for passada,
#' a função retornará dados de ambas.
#' @param legislaturas_list Lista com ids das legislaturas. Default = 55 e 56.
#' @return Dataframe contendo informações sobre os parlamentares (deputados e senadores)
#' @examples
#' processa_dados_parlamentares("camara", c(56))
#' processa_dados_parlamentares("senado", c(55))
#' @export
processa_dados_parlamentares <- function(casa = NULL, legislaturas_list = c(55, 56)) {
library(tidyverse)
if (is.null(casa)) {
deputados <- .processa_dados_deputados(legislaturas_list) %>%
ungroup()
senadores <- .processa_dados_senadores(legislaturas_list) %>%
ungroup()
parlamentares <- deputados %>%
rbind(senadores)
return(parlamentares)
} else if (tolower(casa) == "camara") {
return(.processa_dados_deputados(legislaturas_list) %>%
ungroup())
} else if (tolower(casa) == "senado") {
return(.processa_dados_senadores(legislaturas_list) %>%
ungroup())
} else {
stop("Argumento 'casa' inválido.")
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.