Código para replicação de análise sobre vereadores jovens eleitos em 2020
### 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