Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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