Created
November 28, 2020 16:54
-
-
Save lgelape/6c9015ffb234f0b68f2e568d1e636e19 to your computer and use it in GitHub Desktop.
Código para replicação de análise sobre vereadores jovens eleitos em 2020
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
### Pacotes | |
library(eleicoesmun2020) | |
library(electionsBR) | |
library(dplyr) | |
library(stringr) | |
library(lubridate) | |
library(stringi) | |
library(tidyr) | |
### Funcoes gerais | |
# Fazer o arredondamento de .5 corretamente | |
round2 = function(x, n) { | |
posneg = sign(x) | |
z = abs(x)*10^n | |
z = z + 0.5 + sqrt(.Machine$double.eps) | |
z = trunc(z) | |
z = z/10^n | |
z*posneg | |
} | |
# Arredondar para duas casas decimais | |
arredondar2 <- function(x){round2(x, 2)} | |
################################################################################################### | |
##### CADEIRAS | |
### Pegar numero de cadeiras para ver se batem e temos todos os eleitos | |
cadeiras_2012 <- seats_local(2012) %>% | |
filter(DESCRICAO_ELEICAO == "ELEIÇÃO MUNICIPAL 2012") %>% | |
group_by(DESCRICAO_CARGO) %>% | |
summarise(cadeiras = sum(QTDE_VAGAS)) %>% | |
ungroup() | |
cadeiras_2016 <- seats_local(2016) %>% | |
filter(DESCRICAO_ELEICAO == "Eleições Municipais 2016") %>% | |
group_by(DESCRICAO_CARGO) %>% | |
summarise(cadeiras = sum(QTDE_VAGAS)) %>% | |
ungroup() | |
cadeiras_2020 <- seats_local(2020) %>% | |
group_by(DESCRICAO_CARGO) %>% | |
summarise(cadeiras = sum(QTDE_VAGAS)) %>% | |
ungroup() | |
################################################################################################### | |
##### ELEITORADO | |
# Abre a lista com os bancos de eleitorado por municipio | |
load("eleitorado_2000_2016_mun.RData") | |
# Salva cada banco de eleitorado em eleicoes municipais num objeto, incluindo a informacao ANO_ELEICAO | |
eleitorado2012 <- bancos_eleitorado[[7]] %>% | |
mutate(ANO_ELEICAO = "2012") %>% | |
mutate(FAIXA_ELEITORADO = case_when(ELEITORADO <= 10000 ~ "ate 10.000", | |
ELEITORADO > 10000 & ELEITORADO <= 50000 ~ "entre 10.001-50.000", | |
ELEITORADO > 50000 & ELEITORADO <= 200000 ~ "entre 50.000-200.000", | |
ELEITORADO > 200000 ~ "Mais que 200.000")) | |
eleitorado2016 <- bancos_eleitorado[[9]] %>% | |
mutate(ANO_ELEICAO = "2016") %>% | |
mutate(FAIXA_ELEITORADO = case_when(ELEITORADO <= 10000 ~ "ate 10.000", | |
ELEITORADO > 10000 & ELEITORADO <= 50000 ~ "entre 10.001-50.000", | |
ELEITORADO > 50000 & ELEITORADO <= 200000 ~ "entre 50.000-200.000", | |
ELEITORADO > 200000 ~ "Mais que 200.000")) | |
# Remove o objeto com todos os eleitorados | |
rm(bancos_eleitorado) | |
eleitorado2020 <- voter_profile(2020) | |
eleitorado2020 <- eleitorado2020 %>% | |
mutate(CD_MUNICIPIO = str_pad(CD_MUNICIPIO, 5, side = "left", pad = "0")) %>% | |
rename(SIGLA_UE = CD_MUNICIPIO) %>% | |
group_by(SIGLA_UE) %>% | |
summarise(ELEITORADO = sum(QT_ELEITORES_PERFIL)) %>% | |
ungroup() %>% | |
mutate(FAIXA_ELEITORADO = case_when(ELEITORADO <= 10000 ~ "ate 10.000", | |
ELEITORADO > 10000 & ELEITORADO <= 50000 ~ "entre 10.001-50.000", | |
ELEITORADO > 50000 & ELEITORADO <= 200000 ~ "entre 50.000-200.000", | |
ELEITORADO > 200000 ~ "Mais que 200.000")) | |
################################################################################################### | |
##### CANDIDATOS | |
### 2012 | |
# Falta o prefeito eleito em 2012 em Bom Jesus de Goias (SIGLA_UE == 92690) | |
# Tem todos os vereadores | |
candidatos2012 <- candidate_local(2012) %>% | |
filter(DESCRICAO_ELEICAO == "ELEIÇÃO MUNICIPAL 2012") %>% | |
select(SIGLA_UF, SIGLA_UE, CODIGO_CARGO, CPF_CANDIDATO, SEQUENCIAL_CANDIDATO, SIGLA_PARTIDO, | |
COMPOSICAO_LEGENDA, NOME_COLIGACAO, CODIGO_OCUPACAO, DESCRICAO_SEXO, DESCRICAO_GRAU_INSTRUCAO, | |
DESC_SIT_TOT_TURNO, DATA_NASCIMENTO) %>% | |
mutate(DESC_SIT_TOT_TURNO = ifelse(DESC_SIT_TOT_TURNO == "ELEITO POR MÉDIA", "ELEITO", DESC_SIT_TOT_TURNO), | |
DESC_SIT_TOT_TURNO = ifelse(DESC_SIT_TOT_TURNO == "ELEITO POR QP", "ELEITO", DESC_SIT_TOT_TURNO)) %>% | |
mutate(DATA_NASCIMENTO = str_replace_all(DATA_NASCIMENTO, "/", ""), | |
DATA_NASCIMENTO = dmy(DATA_NASCIMENTO), | |
IDADE = interval(DATA_NASCIMENTO, dmy(07102012))/years(1), | |
IDADE = ifelse(IDADE > 110, NA, IDADE)) %>% | |
mutate(IDADE_CATEGORIA = case_when(IDADE >= 17 & IDADE < 30 ~ "Até 29", | |
IDADE >= 30 & IDADE < 40 ~ "30-39", | |
IDADE >= 40 & IDADE < 50 ~ "40-49", | |
IDADE >= 50 & IDADE < 60 ~ "50-59", | |
IDADE >= 60 ~ "60+")) | |
candidatos2012 <- candidatos2012 %>% | |
left_join(eleitorado2012) | |
### 2016 | |
candidatos2016 <- candidate_local(2016) %>% | |
filter(DESCRICAO_ELEICAO == "Eleições Municipais 2016") %>% | |
select(SIGLA_UF, SIGLA_UE, CODIGO_CARGO, CPF_CANDIDATO, SEQUENCIAL_CANDIDATO, SIGLA_PARTIDO, | |
COMPOSICAO_LEGENDA, NOME_COLIGACAO, CODIGO_OCUPACAO, DESCRICAO_SEXO, DESCRICAO_GRAU_INSTRUCAO, | |
DESC_SIT_TOT_TURNO, DATA_NASCIMENTO) %>% | |
mutate(DESC_SIT_TOT_TURNO = ifelse(DESC_SIT_TOT_TURNO == "ELEITO POR MÉDIA", "ELEITO", DESC_SIT_TOT_TURNO), | |
DESC_SIT_TOT_TURNO = ifelse(DESC_SIT_TOT_TURNO == "ELEITO POR QP", "ELEITO", DESC_SIT_TOT_TURNO)) %>% | |
mutate(DATA_NASCIMENTO = str_replace_all(DATA_NASCIMENTO, "/", ""), | |
DATA_NASCIMENTO = dmy(DATA_NASCIMENTO), | |
IDADE = interval(DATA_NASCIMENTO, dmy(02102016))/years(1), | |
IDADE = ifelse(IDADE > 110, NA, IDADE)) %>% | |
mutate(IDADE_CATEGORIA = case_when(IDADE >= 17 & IDADE < 30 ~ "Até 29", | |
IDADE >= 30 & IDADE < 40 ~ "30-39", | |
IDADE >= 40 & IDADE < 50 ~ "40-49", | |
IDADE >= 50 & IDADE < 60 ~ "50-59", | |
IDADE >= 60 ~ "60+")) | |
candidatos2016 <- candidatos2016 %>% | |
left_join(eleitorado2016) | |
### 2020 | |
#Abre os dados de candidatos | |
candidatos2020 <- read.csv2("consulta_cand_2020_BRASIL_27112020.csv", | |
stringsAsFactors = F, fileEncoding = "latin1") %>% | |
mutate(SG_UE = str_pad(SG_UE, 5, side = "left", pad = "0")) %>% | |
# Uniformiza nomes de variaveis | |
rename(DATA_GERACAO = DT_GERACAO, HORA_GERACAO = HH_GERACAO, NUM_TURNO = NR_TURNO, DESCRICAO_ELEICAO = DS_ELEICAO, | |
DESCRICAO_ELEICAO = DS_ELEICAO, SIGLA_UF = SG_UF, SIGLA_UE = SG_UE, DESCRICAO_UE = NM_UE, | |
CODIGO_CARGO = CD_CARGO, DESCRICAO_CARGO = DS_CARGO, SEQUENCIAL_CANDIDATO = SQ_CANDIDATO, | |
CPF_CANDIDATO = NR_CPF_CANDIDATO, COD_SITUACAO_CANDIDATURA = CD_SITUACAO_CANDIDATURA, | |
DESC_SITUACAO_CANDIDATURA = DS_SITUACAO_CANDIDATURA, SIGLA_PARTIDO = SG_PARTIDO, | |
COMPOSICAO_LEGENDA = DS_COMPOSICAO_COLIGACAO, DATA_NASCIMENTO = DT_NASCIMENTO, | |
IDADE_DATA_POSSE = NR_IDADE_DATA_POSSE, NUM_TITULO_ELEITORAL = NR_TITULO_ELEITORAL_CANDIDATO, | |
DESCRICAO_SEXO = DS_GENERO, DESCRICAO_GRAU_INSTRUCAO = DS_GRAU_INSTRUCAO, | |
DESCRICAO_ESTADO_CIVIL = DS_ESTADO_CIVIL, DESCRICAO_COR_RACA = DS_COR_RACA, | |
CODIGO_OCUPACAO = CD_OCUPACAO, DESCRICAO_OCUPACAO = DS_OCUPACAO, DESC_SIT_TOT_TURNO = DS_SIT_TOT_TURNO) %>% | |
select(SIGLA_UF, SIGLA_UE, CODIGO_CARGO, CPF_CANDIDATO, SEQUENCIAL_CANDIDATO, DATA_NASCIMENTO, DS_DETALHE_SITUACAO_CAND, | |
DESCRICAO_COR_RACA, SIGLA_PARTIDO, DESCRICAO_SEXO, DESCRICAO_GRAU_INSTRUCAO, DESC_SIT_TOT_TURNO) %>% | |
mutate(DESC_SIT_TOT_TURNO = ifelse(DESC_SIT_TOT_TURNO == "ELEITO POR MÉDIA", "ELEITO", DESC_SIT_TOT_TURNO), | |
DESC_SIT_TOT_TURNO = ifelse(DESC_SIT_TOT_TURNO == "ELEITO POR QP", "ELEITO", DESC_SIT_TOT_TURNO)) %>% | |
mutate(DATA_NASCIMENTO = str_replace_all(DATA_NASCIMENTO, "/", ""), | |
DATA_NASCIMENTO = dmy(DATA_NASCIMENTO), | |
IDADE = interval(DATA_NASCIMENTO, dmy(15112020))/years(1), | |
IDADE = ifelse(IDADE > 110, NA, IDADE)) %>% | |
mutate(CPF_CANDIDATO = as.character(CPF_CANDIDATO), | |
CODIGO_CARGO = as.character(CODIGO_CARGO), | |
CODIGO_OCUPACAO = as.character(CODIGO_OCUPACAO), | |
SEQUENCIAL_CANDIDATO = as.character(SEQUENCIAL_CANDIDATO)) %>% | |
mutate(IDADE_CATEGORIA = case_when(IDADE >= 17 & IDADE < 30 ~ "Até 29", | |
IDADE >= 30 & IDADE < 40 ~ "30-39", | |
IDADE >= 40 & IDADE < 50 ~ "40-49", | |
IDADE >= 50 & IDADE < 60 ~ "50-59", | |
IDADE >= 60 ~ "60+")) | |
# Une os bancos de candidatos, eleitorado e apuracao | |
candidatos2020 <- candidatos2020 %>% | |
left_join(eleitorado2020) | |
################################################################################################### | |
# Identifica as capitais | |
capitais <- select(candidatos2020, SIGLA_UF, SIGLA_UE) %>% | |
mutate(CAPITAL = ifelse(SIGLA_UE %in% c("00035", "01392", "02550", "04278", "06050", "73440", | |
"12190", "13897", "16250", "17612", "19399", "20516", "25313", "27855", "31054", "38490", | |
"41238", "57053", "60011", "71072", | |
"90514", "90670", "93734", | |
"75353", "81051", "88013"), T, F)) %>% | |
select(SIGLA_UE, CAPITAL) %>% | |
distinct() | |
candidatos2012 <- left_join(candidatos2012, capitais) | |
candidatos2016 <- left_join(candidatos2016, capitais) | |
candidatos2020 <- left_join(candidatos2020, capitais) | |
################################################################################################### | |
##### RESULTADOS | |
vereadores_apuracao <- eleicoesmun2020::download_uf(estado = "todos", cargo = "vereador", verbose = TRUE) | |
prefeitos_apuracao <- eleicoesmun2020::download_uf(estado = "todos", cargo = "prefeito", verbose = TRUE) | |
apuracao2020 <- bind_rows(prefeitos_apuracao, vereadores_apuracao) %>% | |
select(uf, cargo, raiz_cdabr, cand_sqcand, cand_n, cand_cc, cand_e, cand_st, cand_dvt, cand_vap) %>% | |
rename(SIGLA_UF = uf, DESCRICAO_CARGO = cargo, SIGLA_UE = raiz_cdabr, SEQUENCIAL_CANDIDATO = cand_sqcand, | |
NUMERO_CANDIDATO = cand_n, ELEITO = cand_e, RESULTADO = cand_st, | |
DESC_SITUACAO_CANDIDATURA = cand_dvt, VOTOS = cand_vap) %>% | |
mutate(VOTOS = as.numeric(VOTOS)) | |
candidatos2020 <- left_join(candidatos2020, apuracao2020) | |
################################################################################################### | |
##### BANCOS DE ANALISE | |
# Funcao para filtrar vereadores eleitos | |
filtrar_vereadores_eleitos <- function(banco, partido){ | |
banco <- banco %>% | |
filter(SIGLA_PARTIDO == partido, | |
DESC_SIT_TOT_TURNO == "ELEITO", | |
CODIGO_CARGO == 13) | |
} | |
# Funcao para filtrar candidaturas deferidas | |
filtrar_vereadores_candidaturas <- function(banco, partido){ | |
banco <- banco %>% | |
filter(DS_DETALHE_SITUACAO_CAND != "RENÚNCIA" | DS_DETALHE_SITUACAO_CAND != "CANCELADO" | | |
DS_DETALHE_SITUACAO_CAND != "CASSADO" | DS_DETALHE_SITUACAO_CAND != "FALECIDO" | | |
DS_DETALHE_SITUACAO_CAND != "INDEFERIDO" | DS_DETALHE_SITUACAO_CAND != "PEDIDO NÃO CONHECIDO", | |
CODIGO_CARGO == 13, | |
SIGLA_PARTIDO == partido) | |
} | |
# ELEITOS PELO PT (2012-2020) | |
eleitos_PT <- list() | |
eleitos_PT[["2012"]] <- filtrar_vereadores_eleitos(candidatos2012, "PT") | |
eleitos_PT[["2016"]] <- filtrar_vereadores_eleitos(candidatos2016, "PT") | |
eleitos_PT[["2020"]] <- filtrar_vereadores_eleitos(candidatos2020, "PT") | |
# ELEITOS | |
eleitos_2020 <- list() | |
partidos <- sort(unique(candidatos2020$SIGLA_PARTIDO)) | |
for(partido in partidos){ | |
eleitos_2020[[partido]] <- filtrar_vereadores_eleitos(candidatos2020, partido) | |
print(partido) | |
} | |
# CANDIDATOS | |
candidatos_2020 <- list() | |
for(partido in partidos){ | |
candidatos_2020[[partido]] <- filtrar_vereadores_candidaturas(candidatos2020, partido) | |
print(partido) | |
} | |
################################################################################################### | |
### TOTAL DE ELEITOS | |
candidatos2020 %>% | |
filter(CODIGO_CARGO == 13, | |
DESC_SIT_TOT_TURNO == "ELEITO") %>% | |
summarise(numero = n()) | |
################################################################################################### | |
##### IDADE | |
# Funcao para gerar tabela com o percentual de candidatos em cada faixa etaria | |
tabela_idade <- function(banco, variavel){ | |
banco <- banco %>% | |
group_by(IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/sum(numero)))) %>% | |
select(-numero) | |
names(banco) <- c("IDADE_CATEGORIA", variavel) | |
return(banco) | |
} | |
idade_partido <- list() | |
idade_2020 <- tibble(IDADE_CATEGORIA = c("Até 29", "30-39", "40-49", "50-59", "60+")) | |
for(partido in partidos){ | |
idade_partido[[partido]] <- tabela_idade(eleitos_2020[[partido]], partido) | |
idade_2020 <- left_join(idade_2020, idade_partido[[partido]]) | |
print(partido) | |
} | |
### PROPORCAO DE ELEITOS JOVENS | |
idade_geral_2020 <- candidatos2020 %>% | |
filter(CODIGO_CARGO == 13, | |
DESC_SIT_TOT_TURNO == "ELEITO") %>% | |
group_by(IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/sum(numero)))) %>% | |
select(-numero) %>% | |
rename(`2020` = percentual) | |
idade_geral_2016 <- candidatos2016 %>% | |
filter(CODIGO_CARGO == 13, | |
DESC_SIT_TOT_TURNO == "ELEITO") %>% | |
group_by(IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/sum(numero)))) %>% | |
select(-numero) %>% | |
rename(`2016` = percentual) | |
idade_geral_2012 <- candidatos2012 %>% | |
filter(CODIGO_CARGO == 13, | |
DESC_SIT_TOT_TURNO == "ELEITO") %>% | |
group_by(IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/sum(numero)))) %>% | |
select(-numero) %>% | |
rename(`2012` = percentual) | |
idade_geral <- left_join(idade_geral_2012, idade_geral_2016) %>% | |
left_join(idade_geral_2020) %>% | |
filter(!is.na(IDADE_CATEGORIA)) | |
################################################################################################### | |
### PERCENTUAL DE JOVENS NOVO, PSOL, REDE E PSL | |
idade_2020 %>% | |
pivot_longer(cols = 2:34, names_to = "partido") %>% | |
filter(IDADE_CATEGORIA == "Até 29") %>% | |
filter(partido %in% c("NOVO", "REDE", "PSOL", "PSL")) %>% | |
select(-IDADE_CATEGORIA) %>% | |
arrange(desc(value)) | |
# MEDIA DOS DEMAIS | |
idade_2020 %>% | |
pivot_longer(cols = 2:34, names_to = "partido") %>% | |
filter(IDADE_CATEGORIA == "Até 29") %>% | |
filter(!partido %in% c("NOVO", "REDE", "PSOL", "PSL")) %>% | |
summarise(value = mean(value, na.rm = T)) | |
################################################################################################### | |
## TOTAL DE ELEITOS DE NOVO, PSOL E REDE - E PERCENTUAL EM RELACAO AO TOTAL DE CANDIDATURAS | |
candidatos2020 %>% | |
filter(CODIGO_CARGO == 13, | |
DESC_SIT_TOT_TURNO == "ELEITO") %>% | |
filter(IDADE_CATEGORIA == "Até 29") %>% | |
group_by(SIGLA_PARTIDO) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
filter(SIGLA_PARTIDO %in% c("NOVO", "REDE", "PSOL")) | |
candidatos2020 %>% | |
filter(CODIGO_CARGO == 13, | |
DESC_SIT_TOT_TURNO == "ELEITO") %>% | |
group_by(SIGLA_PARTIDO) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/sum(numero)))) %>% | |
filter(SIGLA_PARTIDO %in% c("NOVO", "REDE", "PSOL")) | |
################################################################################################### | |
## VOTOS NOMINAIS EM MUNICIPIOS COM 200 MIL HABITANTES OU MAIS | |
### VOTACAO DE NOVO, REDE E PSOL EM CADA FAIXA DE ELEITORADO | |
candidatos2020 %>% | |
filter(CODIGO_CARGO == 13) %>% | |
group_by(SIGLA_PARTIDO, FAIXA_ELEITORADO) %>% | |
summarise(VOTACAO = sum(VOTOS, na.rm = T)) %>% | |
ungroup() %>% | |
group_by(SIGLA_PARTIDO) %>% | |
mutate(percentual = arredondar2(100*(VOTACAO/sum(VOTACAO)))) %>% | |
ungroup() %>% | |
filter(SIGLA_PARTIDO %in% c("NOVO", "REDE", "PSOL")) | |
eleitorado2020 %>% | |
group_by(FAIXA_ELEITORADO) %>% | |
summarise(ELEITORES = sum(ELEITORADO, na.rm = T)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(ELEITORES/sum(ELEITORES)))) | |
################################################################################################### | |
### SEXO E RACA DOS VEREADORES JOVENS DE NOVO, PSOL E REDE | |
eleitos_2020[["PSOL"]] %>% | |
group_by(DESCRICAO_SEXO, DESCRICAO_COR_RACA, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(IDADE_CATEGORIA) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
filter(IDADE_CATEGORIA == "Até 29") | |
eleitos_2020[["NOVO"]] %>% | |
group_by(DESCRICAO_SEXO, DESCRICAO_COR_RACA, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(IDADE_CATEGORIA) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
filter(IDADE_CATEGORIA == "Até 29") | |
eleitos_2020[["REDE"]] %>% | |
group_by(DESCRICAO_SEXO, DESCRICAO_COR_RACA, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(IDADE_CATEGORIA) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
filter(IDADE_CATEGORIA == "Até 29") | |
################################################################################################### | |
### FAIXA ETARIA DOS ELEITOS PELO PT (2012-2020) | |
idade_pt2012 <- tabela_idade(eleitos_PT[["2012"]], "2012") | |
idade_pt2016 <- tabela_idade(eleitos_PT[["2016"]], "2016") | |
idade_pt2020 <- tabela_idade(eleitos_PT[["2020"]], "2020") | |
idade_pt <- left_join(idade_pt2012, idade_pt2016) %>% | |
left_join(idade_pt2020) | |
################################################################################################### | |
##### IDADE E ELEITORADO | |
# Funcao para gerar tabela de faixa de idade e eleitorado | |
tabela_idade_eleitorado <- function(banco, variavel){ | |
banco <- banco %>% | |
group_by(FAIXA_ELEITORADO, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(FAIXA_ELEITORADO) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
select(-c(numero, total_faixa)) | |
names(banco) <- c("FAIXA_ELEITORADO", "IDADE_CATEGORIA", variavel) | |
return(banco) | |
} | |
### PT: FAIXA ETARIA DOS ELEITOS EM CIDADES COM MAIS DE 200 MIL ELEITORES | |
idade_pt2012 <- tabela_idade_eleitorado(eleitos_PT[["2012"]], "2012") | |
idade_pt2016 <- tabela_idade_eleitorado(eleitos_PT[["2016"]], "2016") | |
idade_pt2020 <- tabela_idade_eleitorado(eleitos_PT[["2020"]], "2020") | |
idade_eleitorado_pt <- left_join(idade_pt2012, idade_pt2016) %>% | |
left_join(idade_pt2020) %>% | |
filter(FAIXA_ELEITORADO == "Mais que 200.000") | |
################################################################################################### | |
### IDADE E CAPITAIS | |
# Funcao | |
tabela_idade_capitais <- function(banco, variavel){ | |
banco <- banco %>% | |
group_by(CAPITAL, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(CAPITAL) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
select(-c(numero, total_faixa)) | |
names(banco) <- c("CAPITAL", "IDADE_CATEGORIA", variavel) | |
return(banco) | |
} | |
# PT: FAIXA ETARIA DE VEREADORES CAPITAIS | |
idade_capitais_pt2012 <- tabela_idade_capitais(eleitos_PT[["2012"]], "2012") | |
idade_capitais_pt2016 <- tabela_idade_capitais(eleitos_PT[["2016"]], "2016") | |
idade_capitais_pt2020 <- tabela_idade_capitais(eleitos_PT[["2020"]], "2020") | |
idade_capitais_pt <- left_join(idade_capitais_pt2012, idade_capitais_pt2016) %>% | |
left_join(idade_capitais_pt2020) %>% | |
arrange(IDADE_CATEGORIA) %>% | |
filter(IDADE_CATEGORIA == "Até 29") | |
################################################################################################### | |
# PT: PERCENTUAL DE MULHERES ELEITAS ATÉ 29 ANOS | |
eleitos_2020[["PT"]] %>% | |
group_by(IDADE_CATEGORIA, DESCRICAO_SEXO) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(IDADE_CATEGORIA) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) | |
# PT: MULHERES JOVENS NOS MUNICIPIOS COM MAIS DE 200 MIL ELEITORES | |
eleitos_2020[["PT"]] %>% | |
group_by(FAIXA_ELEITORADO, DESCRICAO_SEXO, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(FAIXA_ELEITORADO, IDADE_CATEGORIA) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
filter(IDADE_CATEGORIA == "Até 29", | |
FAIXA_ELEITORADO == "Mais que 200.000") | |
# PT: SEXI E RACA EM MUNICIPIOS COM MAIS DE 200 MIL ELEITORES | |
eleitos_2020[["PT"]] %>% | |
group_by(FAIXA_ELEITORADO, DESCRICAO_SEXO, DESCRICAO_COR_RACA, IDADE_CATEGORIA) %>% | |
summarise(numero = n()) %>% | |
ungroup() %>% | |
group_by(FAIXA_ELEITORADO, IDADE_CATEGORIA) %>% | |
mutate(total_faixa = sum(numero)) %>% | |
ungroup() %>% | |
mutate(percentual = arredondar2(100*(numero/total_faixa))) %>% | |
filter(IDADE_CATEGORIA == "Até 29", | |
FAIXA_ELEITORADO == "Mais que 200.000") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment