Closed nataliabueno closed 7 years ago
Agrupamos por NUM_TURNO, NUMERO_CANDIDATO, CODIGO_CARGO, SIGLA_UE. Em teoria, não deveria ter mais de um candidato nesse grupo. Se tiver, é erro.
cand_2016 <- cand_2000_2016[[5]]
problems <- cand_2016 %>% group_by(NUM_TURNO, NUMERO_CANDIDATO, CODIGO_CARGO, SIGLA_UE,
DESCRICAO_ELEICAO) %>%
summarise(total = n()) %>% filter(total > 1)
Pegamos os candidatos que estavam repetidos segundo esse agrupamento.
casos <- cand_2016 %>% right_join(problems, by = c("NUM_TURNO",
"NUMERO_CANDIDATO", "CODIGO_CARGO", "SIGLA_UE",
"DESCRICAO_ELEICAO"))
Algumas vezes, o havia mais de uma repetição (ou seja, múltiplos candidatos repetidos). Fizemos a lista única de candidatos repetidos.
repeated_casos <- casos[duplicated(casos),] #save
repeated_casos <- repeated_casos %>% mutate(key = paste0(SIGLA_UE, NUM_TURNO, NOME_URNA_CANDIDATO,
NUMERO_CANDIDATO, DESCRICAO_ELEICAO,
NUM_TITULO_ELEITORAL_CANDIDATO, CODIGO_CARGO)) #save
Dentro dessa lista de candidatos repetidos, fizemos a seleção da situação de candidaturas que não nos interessa manter.
casos_notvalid <- casos %>% filter(!(COD_SITUACAO_CANDIDATURA == 2 |
COD_SITUACAO_CANDIDATURA == 4 |
COD_SITUACAO_CANDIDATURA == 8 |
COD_SITUACAO_CANDIDATURA == 16 |
COD_SITUACAO_CANDIDATURA == 17 |
COD_SITUACAO_CANDIDATURA == 18 |
COD_SITUACAO_CANDIDATURA == 19))
Criamos uma chave única para identificar esses candidatos usando SIGLA_UE, NUM_TURNO, NOME_URNA_CANDIDATO, NUMERO_CANDIDATO, DESCRICAO_ELEICAO, NUM_TITULO_ELEITORAL_CANDIDATO, CODIGO_CARGO
casos_notvalid <- casos_notvalid %>% mutate(key = paste0(SIGLA_UE, NUM_TURNO, NOME_URNA_CANDIDATO,
NUMERO_CANDIDATO, DESCRICAO_ELEICAO,
NUM_TITULO_ELEITORAL_CANDIDATO, CODIGO_CARGO)) #save
exclude <- c(repeated_casos$key, casos_notvalid$key)
cand_2016v2 <- cand_2016 %>% filter(!(key %in% exclude))
cand_2016v2 <- cand_2016v2[,-ncol(cand_2016v2)]
save(cand_2016v2, file = paste0(dir, "cepesp_data/cand_2016v2.Rda"))
write.csv(cand_2016v2, file = paste0(dir, "cepesp_data/cand_2016v2.csv"))
case_key <- read_excel(paste0(dir, "cepesp_data/wrong_ballot1998_excl_Key.xlsx"))
exclude <- c(repeated_casos$key, case_key$key, casos_notvalid$key)
Getting Data
Candidate data for 1998
Agrupando para vericar problemas
Pegando os casos problemáticos
Ficando só com os casos de situação de candidatura que queremos
Lista de candidatos a excluir
Testes para ver se está tudo ok.
Mesmo procedimento para 2000
Note que precisamos fazer por ano porque os códigos de candidatura variam por ano
O mesmo procedimento para 2002
Mesmo procedimento para 2004
Mesmo procedimento para 2006
Mesmo procedimento para 2008
Mesmo procedimento para 2010
Mesmo procedimento para 2012
Mesmo procedimento para 2014
Mesmo procedimento para 2016
Estudos de caso para ver se casos problemáticos foram solutcionados