From 7d69cedde675c8af56c054e4bffe3456807bc697 Mon Sep 17 00:00:00 2001 From: Ricardo Dahis Date: Tue, 26 Nov 2024 17:55:04 +1100 Subject: [PATCH] update code for 2024 elections --- bases/br_tse_eleicoes/code/build.do | 15 +- bases/br_tse_eleicoes/code/sub/agregacao.do | 45 ++- bases/br_tse_eleicoes/code/sub/candidatos.do | 117 +++++- .../code/sub/cria_id_candidato.do | 163 -------- .../sub/detalhes_votacao_municipio_zona.do | 3 +- .../code/sub/detalhes_votacao_secao.do | 3 +- .../code/sub/normalizacao_particao.do | 253 +++++++------ .../code/sub/old/cria_id_candidato.do | 358 ++++++++++++++++++ .../code/sub/{ => old}/filiacao_partidaria.do | 0 bases/br_tse_eleicoes/code/sub/partidos.do | 3 +- .../sub/perfil_eleitorado_local_votacao.do | 4 +- .../sub/perfil_eleitorado_municipio_zona.do | 58 ++- .../code/sub/perfil_eleitorado_secao.do | 108 ++++-- .../code/sub/prestacao_contas.do | 134 ++----- .../code/sub/resultados_municipio_zona.do | 31 +- .../code/sub/resultados_secao.do | 11 +- bases/br_tse_eleicoes/code/sub/vagas.do | 3 +- 17 files changed, 820 insertions(+), 489 deletions(-) delete mode 100644 bases/br_tse_eleicoes/code/sub/cria_id_candidato.do create mode 100644 bases/br_tse_eleicoes/code/sub/old/cria_id_candidato.do rename bases/br_tse_eleicoes/code/sub/{ => old}/filiacao_partidaria.do (100%) diff --git a/bases/br_tse_eleicoes/code/build.do b/bases/br_tse_eleicoes/code/build.do index 73b2a906c..4052f9fa8 100644 --- a/bases/br_tse_eleicoes/code/build.do +++ b/bases/br_tse_eleicoes/code/build.do @@ -10,13 +10,13 @@ set varabbrev off cd "~/Downloads/dados_TSE" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/clean_string.do" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/limpa_tipo_eleicao.do" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/limpa_instrucao.do" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/limpa_estado_civil.do" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/limpa_resultado.do" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/limpa_partido.do" -do "~/Dropbox/BD/mais/bases/br_tse_eleicoes/code/fnc/limpa_candidato.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/clean_string.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/limpa_tipo_eleicao.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/limpa_instrucao.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/limpa_estado_civil.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/limpa_resultado.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/limpa_partido.do" +do "~/Dropbox/BD/sdk/bases/br_tse_eleicoes/code/fnc/limpa_candidato.do" //----------------------------------------------------------------------------// // build @@ -34,7 +34,6 @@ do "code/sub/resultados_municipio_zona.do" do "code/sub/resultados_secao.do" do "code/sub/prestacao_contas.do" -do "code/sub/cria_id_candidato.do" do "code/sub/normalizacao_particao.do" do "code/sub/agregacao.do" diff --git a/bases/br_tse_eleicoes/code/sub/agregacao.do b/bases/br_tse_eleicoes/code/sub/agregacao.do index db5222a57..342bf71ab 100644 --- a/bases/br_tse_eleicoes/code/sub/agregacao.do +++ b/bases/br_tse_eleicoes/code/sub/agregacao.do @@ -13,7 +13,7 @@ !mkdir "output/resultados_candidato_municipio" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/resultados_candidato_municipio/ano=`ano'" @@ -25,9 +25,10 @@ foreach ano of numlist 1994(2)2022 { !mkdir "output/resultados_candidato_municipio/ano=`ano'/sigla_uf=`sigla_uf'" import delimited "output/resultados_candidato_municipio_zona/ano=`ano'/sigla_uf=`sigla_uf'/resultados_candidato_municipio_zona.csv", /// - clear varn(1) encoding("utf-8") case(preserve) + clear varn(1) encoding("utf-8") case(preserve) stringcols(_all) - collapse (sum) votos, by(turno id_eleicao tipo_eleicao data_eleicao id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd resultado) + destring votos, replace + collapse (sum) votos, by(turno id_eleicao tipo_eleicao data_eleicao id_municipio id_municipio_tse cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato resultado) export delimited "output/resultados_candidato_municipio/ano=`ano'/sigla_uf=`sigla_uf'/resultados_candidato_municipio.csv", replace @@ -41,7 +42,7 @@ foreach ano of numlist 1994(2)2022 { !mkdir "output/resultados_partido_municipio" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/resultados_partido_municipio/ano=`ano'" @@ -68,22 +69,22 @@ foreach ano of numlist 1994(2)2022 { use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 0 -keep id_candidato_bd ano tipo_eleicao sigla_uf id_municipio_tse cargo numero numero_partido sigla_partido -tostring numero numero_partido id_candidato_bd, replace +keep ano tipo_eleicao sigla_uf id_municipio_tse cargo titulo_eleitoral numero numero_partido sigla_partido +tostring numero numero_partido, replace tempfile candidatos_mod0 save `candidatos_mod0' use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 2 & cargo != "presidente" -keep id_candidato_bd ano tipo_eleicao sigla_uf cargo numero numero_partido sigla_partido -tostring numero numero_partido id_candidato_bd, replace +keep ano tipo_eleicao sigla_uf cargo titulo_eleitoral numero numero_partido sigla_partido +tostring numero numero_partido, replace tempfile candidatos_mod2_estadual save `candidatos_mod2_estadual' use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 2 & cargo == "presidente" -keep id_candidato_bd ano tipo_eleicao cargo numero numero_partido sigla_partido -tostring numero numero_partido id_candidato_bd, replace +keep ano tipo_eleicao cargo titulo_eleitoral numero numero_partido sigla_partido +tostring numero numero_partido, replace tempfile candidatos_mod2_presid save `candidatos_mod2_presid' @@ -102,12 +103,12 @@ foreach ano of numlist 1945 1947 1955(5)1965 1950(4)1990 1989 { cap gen id_eleicao = "" cap gen data_eleicao = "" cap gen numero_partido = "" + cap gen titulo_eleitoral_candidato = "" cap gen sequencial_candidato = "" cap gen numero_candidato = "" - cap gen id_candidato_bd = "" - collapse (sum) votos, by(turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd nome_candidato resultado) - order turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd nome_candidato resultado votos + collapse (sum) votos, by(turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato nome_candidato resultado) + order turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato nome_candidato resultado votos duplicates tag turno tipo_eleicao sigla_uf id_municipio_tse cargo sequencial_candidato numero_candidato nome_candidato, gen(dup) drop if dup > 0 // TODO: fazer limpeza mais cuidadosa, deletando linhas específicas @@ -117,16 +118,16 @@ foreach ano of numlist 1945 1947 1955(5)1965 1950(4)1990 1989 { } -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/resultados_candidato/ano=`ano'" use "output/resultados_candidato_municipio_zona_`ano'.dta", clear - cap ren sequencial sequencial_candidato - cap ren numero numero_candidato - cap ren nome nome_candidato - cap ren nome_urna nome_urna_candidato + cap ren sequencial sequencial_candidato + cap ren numero numero_candidato + cap ren nome nome_candidato + cap ren nome_urna nome_urna_candidato ren numero_candidato numero @@ -170,14 +171,15 @@ foreach ano of numlist 1994(2)2022 { } * + ren titulo_eleitoral titulo_eleitoral_candidato ren numero numero_candidato replace sigla_uf = "" if cargo == "presidente" replace id_municipio = . if mod(ano, 4) == 2 replace id_municipio_tse = . if mod(ano, 4) == 2 - collapse (sum) votos, by(turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd nome_candidato resultado) - order turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd nome_candidato resultado votos + collapse (sum) votos, by(turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato nome_candidato resultado) + order turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato nome_candidato resultado votos export delimited "output/resultados_candidato/ano=`ano'/resultados_candidato.csv", replace @@ -190,7 +192,7 @@ foreach ano of numlist 1994(2)2022 { !mkdir "output/detalhes_votacao_municipio" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 2024 { // 1994(2)2024 { !mkdir "output/detalhes_votacao_municipio/ano=`ano'" @@ -216,3 +218,4 @@ foreach ano of numlist 1994(2)2022 { } } * + diff --git a/bases/br_tse_eleicoes/code/sub/candidatos.do b/bases/br_tse_eleicoes/code/sub/candidatos.do index 0ceaa2dcb..75d64a2bf 100644 --- a/bases/br_tse_eleicoes/code/sub/candidatos.do +++ b/bases/br_tse_eleicoes/code/sub/candidatos.do @@ -22,6 +22,7 @@ local ufs_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO local ufs_2018 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -32,7 +33,7 @@ keep id_municipio id_municipio_tse tempfile municipio save `municipio' -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { foreach uf in `ufs_`ano'' { @@ -79,7 +80,7 @@ foreach ano of numlist 1994(2)2022 { ren v54 resultado } - else if `ano' == 2016 | `ano' >= 2020 { + else if `ano' == 2016 | (`ano' >= 2020 & `ano' <= 2022) { drop in 1 @@ -114,6 +115,63 @@ foreach ano of numlist 1994(2)2022 { ren v55 ocupacao ren v58 resultado + } + else if `ano' == 2024 { + + drop in 1 + + keep v3 v6 v7 v8 v9 v11 v12 v15 v16 v17 v18 v19 v21 v22 v26 v27 v36 v37 v38 v40 v42 v44 v46 v48 v50 + + ren v3 ano + ren v6 turno + ren v7 id_eleicao + ren v8 tipo_eleicao + ren v9 data_eleicao + ren v11 sigla_uf + ren v12 id_municipio_tse + ren v15 cargo + ren v16 sequencial + ren v17 numero + ren v18 nome + ren v19 nome_urna + ren v21 cpf + ren v22 email + ren v26 numero_partido + ren v27 sigla_partido + ren v36 sigla_uf_nascimento + ren v37 data_nascimento + ren v38 titulo_eleitoral + ren v40 genero + ren v42 instrucao + ren v44 estado_civil + ren v46 raca + ren v48 ocupacao + ren v50 resultado + + tempfile basico + save `basico' + + cap import delimited "input/consulta_cand/consulta_cand_complementar_`ano'/consulta_cand_complementar_`ano'_`uf'.csv", /// + delim(";") varn(nonames) stripquotes(yes) bindquotes(nobind) stringcols(_all) clear + + drop in 1 + + keep v4 v5 v9 v11 v28 + + ren v4 id_eleicao + ren v5 sequencial + ren v9 nacionalidade + ren v11 municipio_nascimento + ren v28 situacao + + tempfile complementar + save `complementar' + + use `basico' + + merge 1:1 id_eleicao sequencial using `complementar', nogenerate + + } //------------------// @@ -128,11 +186,22 @@ foreach ano of numlist 1994(2)2022 { order id_municipio, b(id_municipio_tse) foreach k of varlist _all { - cap replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "#NE#", "#NE", "##VERIFICAR BASE 1994##", "NÃO DIVULGÁVEL", "-1") + cap replace `k' = "" if /// + `k' == "#NULO#" | /// + `k' == "#NULO" | /// + `k' == "#NE#" | /// + `k' == "#NE" | /// + `k' == "#NI#" | /// + `k' == "##VERIFICAR BASE 1994##" | /// + `k' == "-1" | /// + `k' == "-4" | /// + `k' == "NÃO DIVULGÁVEL" | /// + `k' == "Não divulgável" | /// + `k' == "Não Divulgável" } * - foreach k in tipo_eleicao cargo situacao nacionalidade genero instrucao estado_civil raca ocupacao resultado { + foreach k in tipo_eleicao cargo nacionalidade genero instrucao estado_civil raca ocupacao situacao resultado { cap clean_string `k' } foreach k in nome nome_urna municipio_nascimento { @@ -155,18 +224,44 @@ foreach ano of numlist 1994(2)2022 { replace cpf = "00000" + cpf if length(cpf) == 6 replace cpf = "000000" + cpf if length(cpf) == 5 + replace titulo_eleitoral = "" if titulo_eleitoral == "000000000000" | titulo_eleitoral == "0" + + replace titulo_eleitoral = "0" + titulo_eleitoral if length(titulo_eleitoral) == 11 + replace titulo_eleitoral = "00" + titulo_eleitoral if length(titulo_eleitoral) == 10 + replace titulo_eleitoral = "000" + titulo_eleitoral if length(titulo_eleitoral) == 9 + replace titulo_eleitoral = "0000" + titulo_eleitoral if length(titulo_eleitoral) == 8 + replace titulo_eleitoral = "00000" + titulo_eleitoral if length(titulo_eleitoral) == 7 + replace titulo_eleitoral = "000000" + titulo_eleitoral if length(titulo_eleitoral) == 6 + + replace titulo_eleitoral = "00000" + substr(titulo_eleitoral, 1, 5) + substr(titulo_eleitoral, 11, 2) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 6, 5) == " " + replace titulo_eleitoral = "0000" + substr(titulo_eleitoral, 1, 6) + substr(titulo_eleitoral, 11, 2) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 7, 4) == " " + replace titulo_eleitoral = "000" + substr(titulo_eleitoral, 1, 7) + substr(titulo_eleitoral, 11, 2) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 8, 3) == " " + replace titulo_eleitoral = "00" + substr(titulo_eleitoral, 1, 8) + substr(titulo_eleitoral, 11, 2) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 9, 2) == " " + replace titulo_eleitoral = "0" + substr(titulo_eleitoral, 1, 9) + substr(titulo_eleitoral, 11, 2) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 10, 1) == " " + + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 1) + "0" + substr(titulo_eleitoral, 3, 10) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 2, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 2) + "0" + substr(titulo_eleitoral, 4, 9) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 3, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 3) + "0" + substr(titulo_eleitoral, 5, 8) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 4, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 4) + "0" + substr(titulo_eleitoral, 6, 7) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 5, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 5) + "0" + substr(titulo_eleitoral, 7, 6) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 6, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 6) + "0" + substr(titulo_eleitoral, 8, 5) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 7, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 7) + "0" + substr(titulo_eleitoral, 9, 4) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 8, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 8) + "0" + substr(titulo_eleitoral, 10, 3) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 9, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 9) + "0" + substr(titulo_eleitoral, 11, 2) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 10, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 10) + "0" + substr(titulo_eleitoral, 12, 1) if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 11, 1) == " " + replace titulo_eleitoral = substr(titulo_eleitoral, 1, 11) + "0" if length(titulo_eleitoral) == 12 & substr(titulo_eleitoral, 12, 1) == " " + replace cargo = "vice-presidente" if cargo == "vice presidente" replace cargo = "vice-prefeito" if cargo == "vice prefeito" - replace genero = "" if genero == "nao divulgavel" - replace genero = "" if genero == "nao informado" + replace genero = "" if genero == "nao divulgavel" | genero == "nao informado" replace nacionalidade = "brasileira" if nacionalidade == "brasileira nata" - replace nacionalidade = "" if nacionalidade == "nao divulgavel" - replace nacionalidade = "" if nacionalidade == "nao informado" + replace nacionalidade = "" if nacionalidade == "nao divulgavel" | nacionalidade == "nao informado" | nacionalidade == "nao informada" + + replace sigla_uf_nascimento = "" if sigla_uf_nascimento == " " - cap replace raca = "" if raca == "sem informacao" - cap replace raca = "" if raca == "nao divulgavel" + cap replace raca = "" if raca == "sem informacao" | raca == "nao divulgavel" | raca == "nao informado" | raca == "nao informada" replace resultado = "" if inlist(resultado, "-1", "1", "4") @@ -177,7 +272,7 @@ foreach ano of numlist 1994(2)2022 { //------------------// foreach k in eleicao nascimento { - replace data_`k' = substr(data_`k', 7, 4) + "-" + substr(data_`k', 4, 2) + "-" + substr(data_`k', 1, 2) + replace data_`k' = substr(data_`k', 7, 4) + "-" + substr(data_`k', 4, 2) + "-" + substr(data_`k', 1, 2) if length(data_`k') > 0 replace data_`k' = "" if real(substr(data_`k', 1, 4)) < 1900 } diff --git a/bases/br_tse_eleicoes/code/sub/cria_id_candidato.do b/bases/br_tse_eleicoes/code/sub/cria_id_candidato.do deleted file mode 100644 index 84e7019bd..000000000 --- a/bases/br_tse_eleicoes/code/sub/cria_id_candidato.do +++ /dev/null @@ -1,163 +0,0 @@ - -//----------------------------------------------------------------------------// -// build: id_candidato -//----------------------------------------------------------------------------// - -use "output/candidatos_1998.dta", clear -foreach ano of numlist 2000(2)2022 { - append using "output/candidatos_`ano'.dta" -} -* - -//------------------------------// -// limpa entradas erradas -//------------------------------// - -drop if cpf == "" | cpf == "#NULO#" | cpf == "000000000-4" | cpf == "0" | cpf == "-4" | cpf == "00000000000" | cpf == "NR_CPF_CANDIDATO" -drop if titulo_eleitoral == "000000000000" | titulo_eleitoral == "#NI#" - -//------------------------------// -// rodada 1 -// usa cpf and titulo_eleitoral -// mantém só linhas identificadas unicamente -//------------------------------// - -keep nome cpf titulo_eleitoral -duplicates drop - -egen id_candidato_bd = group(cpf titulo_eleitoral), missing -la var id_candidato_bd "ID Candidato(a) - Base dos Dados" - -bys cpf: egen aux_id_number_cpf = max(id_candidato_bd) -replace id_candidato_bd = aux_id_number_cpf - -bys titulo_eleitoral: egen aux_id_number_TE = max(id_candidato_bd) -replace id_candidato_bd = aux_id_number_TE - -tostring id_candidato_bd, replace -gen id_candidato_bd_str = "1 " + id_candidato_bd -destring id_candidato_bd, replace - -egen aux_cpf = tag(id_candidato_bd cpf) -bys id_candidato_bd: egen N_cpf = sum(aux_cpf) - -egen aux_TE = tag(id_candidato_bd titulo_eleitoral) -bys id_candidato_bd: egen N_TE = sum(aux_TE) - -drop aux* - -preserve - keep if N_cpf > 1 | N_TE > 1 - save "tmp/para_2a_rodada.dta", replace -restore - -keep if N_cpf == 1 & N_TE == 1 - -order id_candidato_bd_str cpf titulo_eleitoral nome -keep id_candidato_bd_str cpf titulo_eleitoral nome - -save "tmp/1a_rodada.dta", replace - -//------------------------------// -// rodada 2 -// separar por nomes -//------------------------------// - -use "tmp/para_2a_rodada.dta", clear - -gen nome_limpo = nome -clean_string nome_limpo - -gen aux_primeira = word(nome_limpo, 1) -gen aux_ultima = word(nome_limpo, -1) - -// consertando strings erradas identificadas no olho -replace aux_primeira = "elves" if aux_primeira == "elvis" & aux_ultima == "leite" -replace aux_primeira = "lourival" if aux_primeira == "luciano" & aux_ultima == "dombroski" -replace aux_primeira = "vanderley" if aux_primeira == "vanderlley" & aux_ultima == "passos" -replace aux_primeira = "manoel" if aux_primeira == "manuel" & aux_ultima == "santos" -replace aux_primeira = "daizymar" if aux_primeira == "deizymar" & aux_ultima == "messini" -replace aux_primeira = "moacir" if aux_primeira == "moacy" & aux_ultima == "evangelista" - -replace aux_ultima = "pontim" if aux_primeira == "antonio" & aux_ultima == "pontin" -replace aux_ultima = "messine" if aux_primeira == "daizymar" & aux_ultima == "messini" -replace aux_ultima = "ortigosa" if aux_primeira == "ideraldo" & aux_ultima == "ortigossa" -replace aux_ultima = "rezende" if aux_primeira == "cecilio" & aux_ultima == "resende" -replace aux_ultima = "souza" if aux_primeira == "antonio" & aux_ultima == "sousa" -replace aux_ultima = "paula" if aux_primeira == "nuncia" & aux_ultima == "souza" -replace aux_ultima = "silva" if aux_primeira == "custodia" & aux_ultima == "sessim" -replace aux_ultima = "soares" if aux_primeira == "rosangela" & aux_ultima == "dantas" - -egen aux_nomes = tag(id_candidato_bd_str aux_primeira aux_ultima) -bys id_candidato_bd_str: egen N_nomes = sum(aux_nomes) -drop aux_nomes - -preserve - keep if N_nomes > 1 - save "tmp/para_3a_rodada.dta", replace -restore - -keep if N_nomes == 1 // excluindo candidatos nao-identificados unicamente - -egen aux_id = group(id_candidato_bd_str aux_primeira aux_ultima) -tostring aux_id, replace -replace id_candidato_bd_str = "2 " + aux_id -drop aux_id - -keep id_candidato_bd_str cpf titulo_eleitoral nome - -save "tmp/2a_rodada.dta", replace - -/* -COMENTADO POIS AINDA GERA CASOS ERRADOS COM MESMAS INICIAIS MAS NOMES MUITO DIFERENTES -ESCOLHENDO SER MAIS CONSERVADOR PARA (TENTAR) GARANTIR UNICIDADE VERDADEIRA NOS IDs - -//------------------------------// -// rodada 3 -// mesmas iniciais -//------------------------------// - -use "tmp/para_3a_rodada.dta", clear - -gen aux_inicial_primeira = substr(aux_primeira, 1, 1) -gen aux_inicial_ultima = substr(aux_ultima, 1, 1) - -egen aux_tag_inicial_primeira = tag(id_candidato_bd aux_inicial_primeira) -egen aux_tag_inicial_ultima = tag(id_candidato_bd aux_inicial_ultima) - -bys id_candidato_bd_str: egen N_iniciais_primeira = sum(aux_tag_inicial_primeira) -bys id_candidato_bd_str: egen N_iniciais_ultima = sum(aux_tag_inicial_ultima) - -preserve - keep if N_iniciais_primeira > 1 | N_iniciais_ultima > 1 - save "tmp/para_4a_rodada.dta", replace -restore - -keep if N_iniciais_primeira == 1 & N_iniciais_ultima == 1 - -keep id_candidato_bd_str cpf titulo_eleitoral nome - -save "tmp/3a_rodada.dta", replace -*/ - - -//------------------------------// -// append -//------------------------------// - -use "tmp/1a_rodada.dta", clear -append using "tmp/2a_rodada.dta" - -egen id_candidato_bd = group(id_candidato_bd_str) -la var id_candidato_bd "ID Candidato - Base dos Dados" - -sort id_candidato_bd -order id_candidato_bd cpf titulo_eleitoral nome -keep id_candidato_bd cpf titulo_eleitoral nome - -compress - -save "output/id_candidato_bd.dta", replace - - - diff --git a/bases/br_tse_eleicoes/code/sub/detalhes_votacao_municipio_zona.do b/bases/br_tse_eleicoes/code/sub/detalhes_votacao_municipio_zona.do index bafd6ea2c..692c1c98e 100644 --- a/bases/br_tse_eleicoes/code/sub/detalhes_votacao_municipio_zona.do +++ b/bases/br_tse_eleicoes/code/sub/detalhes_votacao_municipio_zona.do @@ -22,6 +22,7 @@ local estados_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR local estados_2018 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local estados_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local estados_2022 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local estados_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -32,7 +33,7 @@ keep id_municipio id_municipio_tse tempfile municipio save `municipio' -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { foreach estado in `estados_`ano'' { diff --git a/bases/br_tse_eleicoes/code/sub/detalhes_votacao_secao.do b/bases/br_tse_eleicoes/code/sub/detalhes_votacao_secao.do index f8cf3952a..83c619f6b 100644 --- a/bases/br_tse_eleicoes/code/sub/detalhes_votacao_secao.do +++ b/bases/br_tse_eleicoes/code/sub/detalhes_votacao_secao.do @@ -22,6 +22,7 @@ local ufs_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ R local ufs_2018 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -32,7 +33,7 @@ keep id_municipio id_municipio_tse tempfile municipio save `municipio' -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { foreach uf in `ufs_`ano'' { diff --git a/bases/br_tse_eleicoes/code/sub/normalizacao_particao.do b/bases/br_tse_eleicoes/code/sub/normalizacao_particao.do index ca88ffb02..abdb78b86 100644 --- a/bases/br_tse_eleicoes/code/sub/normalizacao_particao.do +++ b/bases/br_tse_eleicoes/code/sub/normalizacao_particao.do @@ -12,7 +12,7 @@ //----------------------// use "output/candidatos_1994.dta", clear -foreach ano of numlist 1996(2)2022 { +foreach ano of numlist 1996(2)2024 { append using "output/candidatos_`ano'.dta" } * @@ -26,10 +26,42 @@ duplicates drop */ drop if turno == 2 drop turno resultado -merge m:1 cpf titulo_eleitoral nome using "output/id_candidato_bd.dta" +preserve // combinações únicas de CPF-título eleitoral + + keep cpf titulo_eleitoral + + drop if cpf == "" | titulo_eleitoral == "" + duplicates drop + + foreach k in cpf titulo_eleitoral { + duplicates tag `k', gen(dup) + drop if dup > 0 & `k' != "" + drop dup + } + + save "tmp/cpf_titulo_eleitoral.dta", replace + +restore + + + + + +/* +merge m:1 cpf titulo_eleitoral nome using "output/id_candidato_bd_v1.dta" drop if _merge == 2 & ano >= 1998 drop _merge +ren cpf cpf_v1 + +merge m:1 titulo_eleitoral nome using "output/id_candidato_bd_v2.dta" +drop if _merge == 2 & ano >= 1998 +drop _merge +*/ + +drop cpf +merge m:1 titulo_eleitoral using "tmp/cpf_titulo_eleitoral.dta", keep(1 3) nogenerate + gen aux_id = _n // id auxiliar para merge tempfile candidatos @@ -39,9 +71,9 @@ save `candidatos' // 2. limpando duplicadas //----------------------// -keep if id_candidato_bd != . +keep if titulo_eleitoral != "" -local vars ano tipo_eleicao sigla_uf id_municipio_tse numero cargo id_candidato_bd +local vars ano tipo_eleicao sigla_uf id_municipio_tse numero cargo titulo_eleitoral duplicates tag `vars', gen(dup) duplicates drop `vars' if dup > 0, force drop dup @@ -56,7 +88,7 @@ duplicates tag `vars', gen(dup) drop if dup > 0 drop dup -local vars id_candidato_bd ano tipo_eleicao +local vars titulo_eleitoral ano tipo_eleicao duplicates drop `vars', force save "output/norm_candidatos.dta", replace @@ -74,53 +106,53 @@ drop _merge aux_id //drop coligacao composicao -egen aux = tag(ano tipo_eleicao id_candidato_bd cargo) -bys ano tipo_eleicao id_candidato_bd: egen N_cargo = sum(aux) +egen aux = tag(ano tipo_eleicao titulo_eleitoral cargo) +bys ano tipo_eleicao titulo_eleitoral: egen N_cargo = sum(aux) drop aux -egen aux = tag(ano tipo_eleicao id_candidato_bd numero) -bys ano tipo_eleicao id_candidato_bd: egen N_numero = sum(aux) +egen aux = tag(ano tipo_eleicao titulo_eleitoral numero) +bys ano tipo_eleicao titulo_eleitoral: egen N_numero = sum(aux) drop aux -bys ano tipo_eleicao id_candidato_bd: egen N_deferido = sum(situacao == "deferido") +bys ano tipo_eleicao titulo_eleitoral: egen N_deferido = sum(situacao == "deferido") -duplicates tag ano tipo_eleicao id_candidato_bd if id_candidato_bd != ., gen(dup) +duplicates tag ano tipo_eleicao titulo_eleitoral if titulo_eleitoral != "", gen(dup) -foreach k in nome cpf titulo_eleitoral { - egen aux = tag(ano tipo_eleicao id_candidato_bd `k') - bys ano tipo_eleicao id_candidato_bd: egen N_`k' = sum(aux) +foreach k in nome cpf { + egen aux = tag(ano tipo_eleicao titulo_eleitoral `k') + bys ano tipo_eleicao titulo_eleitoral: egen N_`k' = sum(aux) drop aux } // deletando linhas, seguindo critérios em ordem crescente de detalhamento // consequencia: perder informação sobre motivo exato do não-deferimento e sobre qual cargo/número exato a pessoa concorreu -duplicates drop ano tipo_eleicao id_candidato_bd if dup != . & dup > 0 & N_deferido == 0, force +duplicates drop ano tipo_eleicao titulo_eleitoral if dup != . & dup > 0 & N_deferido == 0, force // consequencia: perde casos onde não-deferimento é potencialmente interessante de se observar drop if dup != . & dup > 0 & N_deferido == 1 & situacao != "deferido" // consequencia: não consertar casos onde `nome_urna` claramente está trocado/errado -duplicates drop ano tipo_eleicao id_candidato_bd if dup != . & dup > 0 & N_deferido > 1 & N_numero == 1 & N_cargo == 1, force +duplicates drop ano tipo_eleicao titulo_eleitoral if dup != . & dup > 0 & N_deferido > 1 & N_numero == 1 & N_cargo == 1, force // consequencia: perder alguma informação sobre exatamente qual foi a candidatura "observada" -duplicates drop ano tipo_eleicao id_candidato_bd if dup != . & dup > 0 & N_deferido > 1 & N_numero > 1 & N_cargo == 1 & N_nome == 1, force +duplicates drop ano tipo_eleicao titulo_eleitoral if dup != . & dup > 0 & N_deferido > 1 & N_numero > 1 & N_cargo == 1 & N_nome == 1, force // consequencia: perder alguma informação sobre exatamente qual foi a candidatura "observada" -duplicates drop ano tipo_eleicao id_candidato_bd if dup != . & dup > 0 & N_deferido > 1 & N_numero > 1 & N_cargo > 1 & N_nome == 1, force +duplicates drop ano tipo_eleicao titulo_eleitoral if dup != . & dup > 0 & N_deferido > 1 & N_numero > 1 & N_cargo > 1 & N_nome == 1, force drop N_* dup // últimos passos! // não há mais o que fazer senão checar manualmente o que está sobrando de erros -duplicates tag ano tipo_eleicao id_candidato_bd if id_candidato_bd != ., gen(dup) -duplicates drop ano tipo_eleicao id_candidato_bd if dup != . & dup > 0, force +duplicates tag ano tipo_eleicao titulo_eleitoral if titulo_eleitoral != "", gen(dup) +duplicates drop ano tipo_eleicao titulo_eleitoral if dup != . & dup > 0, force drop dup -duplicates drop ano sigla_uf id_municipio_tse sequencial numero cpf, force // algumas dezenas de observações. preferimos não tomar decisões sobre a bagunça do TSE. +duplicates drop ano sigla_uf id_municipio_tse sequencial numero titulo_eleitoral, force // algumas dezenas de observações. preferimos não tomar decisões sobre a bagunça do TSE. order ano id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse /// - id_candidato_bd cpf titulo_eleitoral sequencial numero nome nome_urna numero_partido sigla_partido cargo + titulo_eleitoral cpf sequencial numero nome nome_urna numero_partido sigla_partido cargo compress @@ -138,9 +170,8 @@ use `candidatos' levelsof ano, l(anos) foreach ano in `anos' { - !mkdir "output/candidatos/ano=`ano'" + !mkdir "output/candidatos/ano=`ano'" // particiona só por ano para poder deixar sigla_uf='' para cargo == 'presidente' / 'vice-presidente' - // particiona só por ano para poder deixar sigla_uf='' para cargo == 'presidente' / 'vice-presidente' use `candidatos' if ano == `ano', clear drop ano export delimited "output/candidatos/ano=`ano'/candidatos.csv", replace @@ -153,7 +184,7 @@ foreach ano in `anos' { //-------------------------------------------------// use "output/partidos_1990.dta", clear -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { append using "output/partidos_`ano'.dta" } * @@ -175,7 +206,7 @@ save "output/norm_partidos.dta", replace !mkdir "output/partidos" use "output/partidos_1990.dta", clear -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { append using "output/partidos_`ano'.dta" } * @@ -189,7 +220,7 @@ compress tempfile partidos save `partidos' -foreach ano of numlist 1990 1994(2)2022 { +foreach ano of numlist 1990 1994(2)2024 { !mkdir "output/partidos/ano=`ano'" @@ -206,33 +237,33 @@ foreach ano of numlist 1990 1994(2)2022 { use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 0 -keep id_candidato_bd ano tipo_eleicao sigla_uf id_municipio_tse cargo numero -tostring numero id_candidato_bd, replace +keep titulo_eleitoral ano tipo_eleicao sigla_uf id_municipio_tse cargo numero +tostring numero, replace tempfile candidatos_mod0 save `candidatos_mod0' use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 2 & cargo != "presidente" -keep id_candidato_bd ano tipo_eleicao sigla_uf cargo numero -tostring numero id_candidato_bd, replace +keep titulo_eleitoral ano tipo_eleicao sigla_uf cargo numero +tostring numero, replace tempfile candidatos_mod2_estadual save `candidatos_mod2_estadual' use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 2 & cargo == "presidente" -keep id_candidato_bd ano tipo_eleicao cargo numero -tostring numero id_candidato_bd, replace +keep titulo_eleitoral ano tipo_eleicao cargo numero +tostring numero, replace tempfile candidatos_mod2_presid save `candidatos_mod2_presid' !mkdir "output/resultados_candidato_municipio_zona" !mkdir "output/resultados_partido_municipio_zona" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { - //---------------------// + //--------------------------// // candidato-municipio-zona - //---------------------// + //--------------------------// use "output/resultados_candidato_municipio_zona_`ano'.dta", clear @@ -240,9 +271,7 @@ foreach ano of numlist 1994(2)2022 { if mod(`ano', 4) == 0 { - merge m:1 ano tipo_eleicao sigla_uf id_municipio_tse cargo numero using `candidatos_mod0' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf id_municipio_tse cargo numero using `candidatos_mod0', keep(1 3) nogenerate } else { @@ -251,9 +280,7 @@ foreach ano of numlist 1994(2)2022 { keep if cargo != "presidente" - merge m:1 ano tipo_eleicao sigla_uf cargo numero using `candidatos_mod2_estadual' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf cargo numero using `candidatos_mod2_estadual', keep(1 3) nogenerate tempfile resultados_mod2_estadual save `resultados_mod2_estadual' @@ -263,9 +290,7 @@ foreach ano of numlist 1994(2)2022 { keep if cargo == "presidente" - merge m:1 ano tipo_eleicao cargo numero using `candidatos_mod2_presid' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao cargo numero using `candidatos_mod2_presid', keep(1 3) nogenerate tempfile resultados_mod2_presid save `resultados_mod2_presid' @@ -278,12 +303,13 @@ foreach ano of numlist 1994(2)2022 { } * - ren numero numero_candidato + ren numero numero_candidato + ren titulo_eleitoral titulo_eleitoral_candidato drop nome_candidato nome_urna_candidato order ano turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse /// - zona cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd /// + zona cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato /// resultado votos tempfile resultados_candidato_munzona @@ -353,22 +379,22 @@ foreach ano of numlist 1994(2)2022 { use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 0 -keep id_candidato_bd ano tipo_eleicao sigla_uf id_municipio_tse cargo sequencial numero numero_partido sigla_partido -tostring numero numero_partido id_candidato_bd, replace +keep ano tipo_eleicao sigla_uf id_municipio_tse cargo titulo_eleitoral sequencial numero numero_partido sigla_partido +tostring numero numero_partido, replace tempfile candidatos_mod0 save `candidatos_mod0' use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 2 & cargo != "presidente" -keep id_candidato_bd ano tipo_eleicao sigla_uf cargo sequencial numero numero_partido sigla_partido -tostring numero numero_partido id_candidato_bd, replace +keep ano tipo_eleicao sigla_uf cargo titulo_eleitoral sequencial numero numero_partido sigla_partido +tostring numero numero_partido, replace tempfile candidatos_mod2_estadual save `candidatos_mod2_estadual' use "output/norm_candidatos.dta", clear keep if mod(ano, 4) == 2 & cargo == "presidente" -keep id_candidato_bd ano tipo_eleicao cargo sequencial numero numero_partido sigla_partido -tostring numero numero_partido id_candidato_bd, replace +keep ano tipo_eleicao cargo titulo_eleitoral sequencial numero numero_partido sigla_partido +tostring numero numero_partido, replace tempfile candidatos_mod2_presid save `candidatos_mod2_presid' @@ -382,7 +408,7 @@ save `partidos' local ufs AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO VT ZZ -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/resultados_candidato_secao/ano=`ano'" @@ -430,11 +456,12 @@ foreach ano of numlist 1994(2)2022 { } * - ren sequencial sequencial_candidato - ren numero numero_candidato + ren titulo_eleitoral titulo_eleitoral_candidato + ren sequencial sequencial_candidato + ren numero numero_candidato local vars ano turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse zona secao /// - cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd /// + cargo numero_partido sigla_partido titulo_eleitoral_candidato sequencial_candidato numero_candidato /// votos order `vars' @@ -490,7 +517,7 @@ foreach ano of numlist 1994(2)2022 { !mkdir "output/perfil_eleitorado_municipio_zona" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/perfil_eleitorado_municipio_zona/ano=`ano'" @@ -524,8 +551,9 @@ local estados_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN R local estados_2018 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO ZZ local estados_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local estados_2022 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO ZZ +local estados_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -foreach ano of numlist 2008(2)2022 { +foreach ano of numlist 2008(2)2024 { !mkdir "output/perfil_eleitorado_secao/ano=`ano'" @@ -547,7 +575,7 @@ foreach ano of numlist 2008(2)2022 { !mkdir "output/perfil_eleitorado_local_votacao" -foreach ano of numlist 2010(2)2022 { +foreach ano of numlist 2010(2)2024 { !mkdir "output/perfil_eleitorado_local_votacao/ano=`ano'" @@ -575,7 +603,7 @@ foreach ano of numlist 2010(2)2022 { !mkdir "output/detalhes_votacao_municipio_zona" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/detalhes_votacao_municipio_zona/ano=`ano'" @@ -602,7 +630,7 @@ foreach ano of numlist 1994(2)2022 { !mkdir "output/detalhes_votacao_secao" -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { !mkdir "output/detalhes_votacao_secao/ano=`ano'" @@ -628,7 +656,7 @@ foreach ano of numlist 1994(2)2022 { //-------------------------------------------------// use "output/vagas_1994.dta", clear -foreach ano of numlist 1996(2)2022 { +foreach ano of numlist 1996(2)2024 { append using "output/vagas_`ano'.dta" } save "output/norm_vagas.dta", replace @@ -665,22 +693,19 @@ foreach ano in `anos' { //-------------------------------------------------// //--------------------// -// merge com id_candidato +// merge com identificador // particiona //--------------------// use "output/norm_candidatos.dta", clear - keep if ano >= 2006 - -keep id_candidato_bd ano tipo_eleicao sigla_uf sequencial - +keep ano tipo_eleicao sigla_uf titulo_eleitoral sequencial tempfile candidatos save `candidatos' !mkdir "output/bens_candidato" -foreach ano of numlist 2006(2)2022 { +foreach ano of numlist 2006(2)2024 { !mkdir "output/bens_candidato/ano=`ano'" @@ -688,13 +713,12 @@ foreach ano of numlist 2006(2)2022 { ren sequencial_candidato sequencial - merge m:1 ano tipo_eleicao sigla_uf sequencial using `candidatos' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf sequencial using `candidatos', keep(1 3) nogenerate - ren sequencial sequencial_candidato + ren titulo_eleitoral titulo_eleitoral_candidato + ren sequencial sequencial_candidato - order ano id_eleicao tipo_eleicao data_eleicao sigla_uf sequencial_candidato id_candidato_bd id_tipo_item tipo_item descricao_item valor_item + order ano id_eleicao tipo_eleicao data_eleicao sigla_uf titulo_eleitoral_candidato sequencial_candidato tipo_item descricao_item valor_item drop ano export delimited "output/bens_candidato/ano=`ano'/bens_candidato.csv", replace @@ -710,7 +734,7 @@ foreach ano of numlist 2006(2)2022 { // unifica header //--------------------// -foreach ano of numlist 2002(2)2022 { +foreach ano of numlist 2002(2)2024 { use "output/receitas_candidato_`ano'.dta", clear @@ -723,7 +747,7 @@ foreach ano of numlist 2002(2)2022 { * use `c2002', clear -foreach ano of numlist 2004(2)2022 { +foreach ano of numlist 2004(2)2024 { append using `c`ano'' } * @@ -732,37 +756,31 @@ tempfile vazio save `vazio' //--------------------// -// merge com id_candidato +// merge com identificador // particiona //--------------------// use "output/norm_candidatos.dta", clear - keep if mod(ano, 4) == 0 -keep id_candidato_bd ano tipo_eleicao sigla_uf id_municipio_tse cargo numero - +keep ano tipo_eleicao sigla_uf id_municipio_tse cargo titulo_eleitoral numero tempfile candidatos_mod0 save `candidatos_mod0' use "output/norm_candidatos.dta", clear - keep if mod(ano, 4) == 2 & cargo != "presidente" -keep id_candidato_bd ano tipo_eleicao sigla_uf cargo numero - +keep ano tipo_eleicao sigla_uf cargo titulo_eleitoral numero tempfile candidatos_mod2_estadual save `candidatos_mod2_estadual' use "output/norm_candidatos.dta", clear - keep if mod(ano, 4) == 2 & cargo == "presidente" -keep id_candidato_bd ano tipo_eleicao cargo numero - +keep ano tipo_eleicao cargo titulo_eleitoral numero tempfile candidatos_mod2_presid save `candidatos_mod2_presid' !mkdir "output/receitas_candidato" -foreach ano of numlist 2002(2)2022 { +foreach ano of numlist 2002(2)2024 { !mkdir "output/receitas_candidato/ano=`ano'" @@ -777,9 +795,7 @@ foreach ano of numlist 2002(2)2022 { if mod(`ano', 4) == 0 { - merge m:1 ano tipo_eleicao sigla_uf id_municipio_tse cargo numero using `candidatos_mod0' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf id_municipio_tse cargo numero using `candidatos_mod0', keep(1 3) nogenerate } else { @@ -788,9 +804,7 @@ foreach ano of numlist 2002(2)2022 { keep if cargo != "presidente" - merge m:1 ano tipo_eleicao sigla_uf cargo numero using `candidatos_mod2_estadual' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf cargo numero using `candidatos_mod2_estadual', keep(1 3) nogenerate tempfile resultados_mod2_estadual save `resultados_mod2_estadual' @@ -800,9 +814,7 @@ foreach ano of numlist 2002(2)2022 { keep if cargo == "presidente" - merge m:1 ano tipo_eleicao cargo numero using `candidatos_mod2_presid' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao cargo numero using `candidatos_mod2_presid', keep(1 3) nogenerate tempfile resultados_mod2_presid save `resultados_mod2_presid' @@ -815,12 +827,13 @@ foreach ano of numlist 2002(2)2022 { } * - ren numero numero_candidato + ren titulo_eleitoral titulo_eleitoral_candidato + ren numero numero_candidato order ano turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse /// - sequencial_candidato numero_candidato cpf_candidato cnpj_candidato titulo_eleitor_candidato id_candidato_bd nome_candidato cpf_vice_suplente numero_partido nome_partido sigla_partido cargo /// + titulo_eleitoral_candidato sequencial_candidato numero_candidato cnpj_candidato numero_partido sigla_partido cargo /// sequencial_receita data_receita fonte_receita origem_receita natureza_receita especie_receita situacao_receita descricao_receita valor_receita /// - sequencial_candidato_doador cpf_cnpj_doador sigla_uf_doador id_municipio_tse_doador nome_doador nome_doador_rf cargo_candidato_doador numero_partido_doador sigla_partido_doador nome_partido_doador esfera_partidaria_doador numero_candidato_doador cnae_2_doador descricao_cnae_2_doador /// + sequencial_candidato_doador cpf_cnpj_doador sigla_uf_doador id_municipio_tse_doador nome_doador nome_doador_rf cargo_candidato_doador numero_partido_doador sigla_partido_doador esfera_partidaria_doador numero_candidato_doador cnae_2_doador descricao_cnae_2_doador /// cpf_cnpj_doador_orig nome_doador_orig nome_doador_orig_rf tipo_doador_orig descricao_cnae_2_doador_orig /// nome_administrador cpf_administrador numero_recibo_eleitoral numero_documento numero_recibo_doacao numero_documento_doacao tipo_prestacao_contas data_prestacao_contas sequencial_prestador_contas cnpj_prestador_contas entrega_conjunto @@ -843,7 +856,7 @@ foreach ano of numlist 2002(2)2022 { // unifica header //--------------------// -foreach ano of numlist 2002(2)2022 { +foreach ano of numlist 2002(2)2024 { use "output/despesas_candidato_`ano'.dta", clear @@ -856,7 +869,7 @@ foreach ano of numlist 2002(2)2022 { * use `c2002', clear -foreach ano of numlist 2004(2)2022 { +foreach ano of numlist 2004(2)2024 { append using `c`ano'' } * @@ -865,37 +878,31 @@ tempfile vazio save `vazio' //--------------------// -// merge com id_candidato +// merge com identificador // particiona //--------------------// use "output/norm_candidatos.dta", clear - keep if mod(ano, 4) == 0 -keep id_candidato_bd ano tipo_eleicao sigla_uf id_municipio_tse cargo numero - +keep ano tipo_eleicao sigla_uf id_municipio_tse cargo titulo_eleitoral numero tempfile candidatos_mod0 save `candidatos_mod0' use "output/norm_candidatos.dta", clear - keep if mod(ano, 4) == 2 & cargo != "presidente" -keep id_candidato_bd ano tipo_eleicao sigla_uf cargo numero - +keep ano tipo_eleicao sigla_uf cargo titulo_eleitoral numero tempfile candidatos_mod2_estadual save `candidatos_mod2_estadual' use "output/norm_candidatos.dta", clear - keep if mod(ano, 4) == 2 & cargo == "presidente" -keep id_candidato_bd ano tipo_eleicao cargo numero - +keep ano tipo_eleicao cargo titulo_eleitoral numero tempfile candidatos_mod2_presid save `candidatos_mod2_presid' !mkdir "output/despesas_candidato" -foreach ano of numlist 2002(2)2022 { +foreach ano of numlist 2002(2)2024 { !mkdir "output/despesas_candidato/ano=`ano'" @@ -911,9 +918,7 @@ foreach ano of numlist 2002(2)2022 { if mod(`ano', 4) == 0 { - merge m:1 ano tipo_eleicao sigla_uf id_municipio_tse cargo numero using `candidatos_mod0' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf id_municipio_tse cargo numero using `candidatos_mod0', keep(1 3) nogenerate } else { @@ -922,9 +927,7 @@ foreach ano of numlist 2002(2)2022 { keep if cargo != "presidente" - merge m:1 ano tipo_eleicao sigla_uf cargo numero using `candidatos_mod2_estadual' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao sigla_uf cargo numero using `candidatos_mod2_estadual', keep(1 3) nogenerate tempfile resultados_mod2_estadual save `resultados_mod2_estadual' @@ -934,9 +937,7 @@ foreach ano of numlist 2002(2)2022 { keep if cargo == "presidente" - merge m:1 ano tipo_eleicao cargo numero using `candidatos_mod2_presid' - drop if _merge == 2 - drop _merge + merge m:1 ano tipo_eleicao cargo numero using `candidatos_mod2_presid', keep(1 3) nogenerate tempfile resultados_mod2_presid save `resultados_mod2_presid' @@ -949,10 +950,11 @@ foreach ano of numlist 2002(2)2022 { } * - ren numero numero_candidato + ren titulo_eleitoral titulo_eleitoral_candidato + ren numero numero_candidato order ano turno id_eleicao tipo_eleicao data_eleicao sigla_uf id_municipio id_municipio_tse /// - sequencial_candidato numero_candidato cpf_candidato id_candidato_bd nome_candidato cpf_vice_suplente numero_partido sigla_partido nome_partido cargo /// + titulo_eleitoral_candidato sequencial_candidato numero_candidato numero_partido sigla_partido cargo /// sequencial_despesa data_despesa tipo_despesa descricao_despesa origem_despesa valor_despesa /// tipo_prestacao_contas data_prestacao_contas sequencial_prestador_contas cnpj_prestador_contas cnpj_candidato /// tipo_documento numero_documento /// @@ -960,7 +962,7 @@ foreach ano of numlist 2002(2)2022 { cpf_cnpj_fornecedor nome_fornecedor nome_fornecedor_rf cnae_2_fornecedor descricao_cnae_2_fornecedor /// tipo_fornecedor esfera_partidaria_fornecedor sigla_uf_fornecedor /// id_municipio_tse_fornecedor sequencial_candidato_fornecedor numero_candidato_fornecedor /// - numero_partido_fornecedor sigla_partido_fornecedor nome_partido_fornecedor cargo_fornecedor + numero_partido_fornecedor sigla_partido_fornecedor cargo_fornecedor drop ano export delimited "output/despesas_candidato/ano=`ano'/despesas_candidato.csv", replace @@ -968,6 +970,7 @@ foreach ano of numlist 2002(2)2022 { } * +/* //-------------------------------------------------// // filiacao partidaria //-------------------------------------------------// @@ -997,4 +1000,4 @@ foreach uf in `ufs' { } } -* +*/ diff --git a/bases/br_tse_eleicoes/code/sub/old/cria_id_candidato.do b/bases/br_tse_eleicoes/code/sub/old/cria_id_candidato.do new file mode 100644 index 000000000..a73694193 --- /dev/null +++ b/bases/br_tse_eleicoes/code/sub/old/cria_id_candidato.do @@ -0,0 +1,358 @@ + +//----------------------------------------------------------------------------// +// build: id_candidato +//----------------------------------------------------------------------------// + +use "output/candidatos_1998.dta", clear +foreach ano of numlist 2000(2)2022 { + append using "output/candidatos_`ano'.dta" +} +* + +//------------------------------// +// limpa entradas erradas +//------------------------------// + +drop if cpf == "" | cpf == "#NULO#" | cpf == "000000000-4" | cpf == "0" | cpf == "-4" | cpf == "00000000000" | cpf == "NR_CPF_CANDIDATO" +drop if titulo_eleitoral == "000000000000" | titulo_eleitoral == "#NI#" + +//------------------------------// +// rodada 1 +// usa cpf and titulo_eleitoral +// mantém só linhas identificadas unicamente +//------------------------------// + +keep nome cpf titulo_eleitoral +duplicates drop + +egen id_candidato_bd = group(cpf titulo_eleitoral), missing +la var id_candidato_bd "ID Candidato(a) - Base dos Dados" + +bys cpf: egen aux_id_number_cpf = max(id_candidato_bd) +replace id_candidato_bd = aux_id_number_cpf + +bys titulo_eleitoral: egen aux_id_number_TE = max(id_candidato_bd) +replace id_candidato_bd = aux_id_number_TE + +tostring id_candidato_bd, replace +gen id_candidato_bd_str = "1 " + id_candidato_bd +destring id_candidato_bd, replace + +egen aux_cpf = tag(id_candidato_bd cpf) +bys id_candidato_bd: egen N_cpf = sum(aux_cpf) + +egen aux_TE = tag(id_candidato_bd titulo_eleitoral) +bys id_candidato_bd: egen N_TE = sum(aux_TE) + +drop aux* + +preserve + keep if N_cpf > 1 | N_TE > 1 + save "tmp/para_2a_rodada.dta", replace +restore + +keep if N_cpf == 1 & N_TE == 1 + +order id_candidato_bd_str cpf titulo_eleitoral nome +keep id_candidato_bd_str cpf titulo_eleitoral nome + +save "tmp/1a_rodada.dta", replace + +//------------------------------// +// rodada 2 +// separar por nomes +//------------------------------// + +use "tmp/para_2a_rodada.dta", clear + +gen nome_limpo = nome +clean_string nome_limpo + +gen aux_primeira = word(nome_limpo, 1) +gen aux_ultima = word(nome_limpo, -1) + +// consertando strings erradas identificadas no olho +replace aux_primeira = "elves" if aux_primeira == "elvis" & aux_ultima == "leite" +replace aux_primeira = "lourival" if aux_primeira == "luciano" & aux_ultima == "dombroski" +replace aux_primeira = "vanderley" if aux_primeira == "vanderlley" & aux_ultima == "passos" +replace aux_primeira = "manoel" if aux_primeira == "manuel" & aux_ultima == "santos" +replace aux_primeira = "daizymar" if aux_primeira == "deizymar" & aux_ultima == "messini" +replace aux_primeira = "moacir" if aux_primeira == "moacy" & aux_ultima == "evangelista" + +replace aux_ultima = "pontim" if aux_primeira == "antonio" & aux_ultima == "pontin" +replace aux_ultima = "messine" if aux_primeira == "daizymar" & aux_ultima == "messini" +replace aux_ultima = "ortigosa" if aux_primeira == "ideraldo" & aux_ultima == "ortigossa" +replace aux_ultima = "rezende" if aux_primeira == "cecilio" & aux_ultima == "resende" +replace aux_ultima = "souza" if aux_primeira == "antonio" & aux_ultima == "sousa" +replace aux_ultima = "paula" if aux_primeira == "nuncia" & aux_ultima == "souza" +replace aux_ultima = "silva" if aux_primeira == "custodia" & aux_ultima == "sessim" +replace aux_ultima = "soares" if aux_primeira == "rosangela" & aux_ultima == "dantas" + +egen aux_nomes = tag(id_candidato_bd_str aux_primeira aux_ultima) +bys id_candidato_bd_str: egen N_nomes = sum(aux_nomes) +drop aux_nomes + +preserve + keep if N_nomes > 1 + save "tmp/para_3a_rodada.dta", replace +restore + +keep if N_nomes == 1 // excluindo candidatos nao-identificados unicamente + +egen aux_id = group(id_candidato_bd_str aux_primeira aux_ultima) +tostring aux_id, replace +replace id_candidato_bd_str = "2 " + aux_id +drop aux_id + +keep id_candidato_bd_str cpf titulo_eleitoral nome + +save "tmp/2a_rodada.dta", replace + +/* +COMENTADO POIS AINDA GERA CASOS ERRADOS COM MESMAS INICIAIS MAS NOMES MUITO DIFERENTES +ESCOLHENDO SER MAIS CONSERVADOR PARA (TENTAR) GARANTIR UNICIDADE VERDADEIRA NOS IDs + +//------------------------------// +// rodada 3 +// mesmas iniciais +//------------------------------// + +use "tmp/para_3a_rodada.dta", clear + +gen aux_inicial_primeira = substr(aux_primeira, 1, 1) +gen aux_inicial_ultima = substr(aux_ultima, 1, 1) + +egen aux_tag_inicial_primeira = tag(id_candidato_bd aux_inicial_primeira) +egen aux_tag_inicial_ultima = tag(id_candidato_bd aux_inicial_ultima) + +bys id_candidato_bd_str: egen N_iniciais_primeira = sum(aux_tag_inicial_primeira) +bys id_candidato_bd_str: egen N_iniciais_ultima = sum(aux_tag_inicial_ultima) + +preserve + keep if N_iniciais_primeira > 1 | N_iniciais_ultima > 1 + save "tmp/para_4a_rodada.dta", replace +restore + +keep if N_iniciais_primeira == 1 & N_iniciais_ultima == 1 + +keep id_candidato_bd_str cpf titulo_eleitoral nome + +save "tmp/3a_rodada.dta", replace +*/ + + +//------------------------------// +// append +//------------------------------// + +use "tmp/1a_rodada.dta", clear +append using "tmp/2a_rodada.dta" + +egen id_candidato_bd = group(id_candidato_bd_str) +la var id_candidato_bd "ID Candidato - Base dos Dados" + +sort id_candidato_bd +order id_candidato_bd cpf titulo_eleitoral nome +keep id_candidato_bd cpf titulo_eleitoral nome + +ren id_candidato_bd id_candidato_bd_v1 + +compress + +save "output/id_candidato_bd_v1.dta", replace + + + + +//----------------------------------------------------------------------------// +// build: id_candidato +//----------------------------------------------------------------------------// + +use "output/candidatos_1998.dta", clear +foreach ano of numlist 2000(2)2024 { + append using "output/candidatos_`ano'.dta" +} +* + +//------------------------------// +// limpa entradas erradas +//------------------------------// + +//drop if cpf == "" | cpf == "#NULO#" | cpf == "000000000-4" | cpf == "0" | cpf == "-4" | cpf == "00000000000" | cpf == "NR_CPF_CANDIDATO" +drop if titulo_eleitoral == "000000000000" | titulo_eleitoral == "#NI#" + +//------------------------------// +// rodada 1 +// usa cpf and titulo_eleitoral +// mantém só linhas identificadas unicamente +//------------------------------// + +keep nome titulo_eleitoral // cpf +duplicates drop + +egen id_candidato_bd = group(titulo_eleitoral), missing // cpf +la var id_candidato_bd "ID Candidato - Base dos Dados" + +//bys cpf: egen aux_id_number_cpf = max(id_candidato_bd) +//replace id_candidato_bd = aux_id_number_cpf + +bys titulo_eleitoral: egen aux_id_number_TE = max(id_candidato_bd) +replace id_candidato_bd = aux_id_number_TE + +tostring id_candidato_bd, replace +gen id_candidato_bd_str = "1 " + id_candidato_bd +destring id_candidato_bd, replace + +//egen aux_cpf = tag(id_candidato_bd cpf) +//bys id_candidato_bd: egen N_cpf = sum(aux_cpf) + +egen aux_TE = tag(id_candidato_bd titulo_eleitoral) +bys id_candidato_bd: egen N_TE = sum(aux_TE) + +drop aux* + +preserve + keep if N_TE > 1 // N_cpf > 1 | + save "tmp/para_2a_rodada.dta", replace +restore + +keep if N_TE == 1 // N_cpf == 1 & + +order id_candidato_bd_str titulo_eleitoral nome // cpf +keep id_candidato_bd_str titulo_eleitoral nome // cpf + +save "tmp/1a_rodada.dta", replace + +//------------------------------// +// rodada 2 +// separar por nomes +//------------------------------// + +use "tmp/para_2a_rodada.dta", clear + +if _N > 0 { + + gen nome_limpo = nome + clean_string nome_limpo + + gen aux_primeira = word(nome_limpo, 1) + gen aux_ultima = word(nome_limpo, -1) + + // consertando strings erradas identificadas no olho + replace aux_primeira = "elves" if aux_primeira == "elvis" & aux_ultima == "leite" + replace aux_primeira = "lourival" if aux_primeira == "luciano" & aux_ultima == "dombroski" + replace aux_primeira = "vanderley" if aux_primeira == "vanderlley" & aux_ultima == "passos" + replace aux_primeira = "manoel" if aux_primeira == "manuel" & aux_ultima == "santos" + replace aux_primeira = "daizymar" if aux_primeira == "deizymar" & aux_ultima == "messini" + replace aux_primeira = "moacir" if aux_primeira == "moacy" & aux_ultima == "evangelista" + + replace aux_ultima = "pontim" if aux_primeira == "antonio" & aux_ultima == "pontin" + replace aux_ultima = "messine" if aux_primeira == "daizymar" & aux_ultima == "messini" + replace aux_ultima = "ortigosa" if aux_primeira == "ideraldo" & aux_ultima == "ortigossa" + replace aux_ultima = "rezende" if aux_primeira == "cecilio" & aux_ultima == "resende" + replace aux_ultima = "souza" if aux_primeira == "antonio" & aux_ultima == "sousa" + replace aux_ultima = "paula" if aux_primeira == "nuncia" & aux_ultima == "souza" + replace aux_ultima = "silva" if aux_primeira == "custodia" & aux_ultima == "sessim" + replace aux_ultima = "soares" if aux_primeira == "rosangela" & aux_ultima == "dantas" + + egen aux_nomes = tag(id_candidato_bd_str aux_primeira aux_ultima) + bys id_candidato_bd_str: egen N_nomes = sum(aux_nomes) + drop aux_nomes + + preserve + keep if N_nomes > 1 + save "tmp/para_3a_rodada.dta", replace + restore + + keep if N_nomes == 1 // excluindo candidatos nao-identificados unicamente + + egen aux_id = group(id_candidato_bd_str aux_primeira aux_ultima) + tostring aux_id, replace + replace id_candidato_bd_str = "2 " + aux_id + drop aux_id + +} + +keep id_candidato_bd_str titulo_eleitoral nome // cpf + +save "tmp/2a_rodada.dta", replace + +/* +COMENTADO POIS AINDA GERA CASOS ERRADOS COM MESMAS INICIAIS MAS NOMES MUITO DIFERENTES +ESCOLHENDO SER MAIS CONSERVADOR PARA (TENTAR) GARANTIR UNICIDADE VERDADEIRA NOS IDs + +//------------------------------// +// rodada 3 +// mesmas iniciais +//------------------------------// + +use "tmp/para_3a_rodada.dta", clear + +gen aux_inicial_primeira = substr(aux_primeira, 1, 1) +gen aux_inicial_ultima = substr(aux_ultima, 1, 1) + +egen aux_tag_inicial_primeira = tag(id_candidato_bd aux_inicial_primeira) +egen aux_tag_inicial_ultima = tag(id_candidato_bd aux_inicial_ultima) + +bys id_candidato_bd_str: egen N_iniciais_primeira = sum(aux_tag_inicial_primeira) +bys id_candidato_bd_str: egen N_iniciais_ultima = sum(aux_tag_inicial_ultima) + +preserve + keep if N_iniciais_primeira > 1 | N_iniciais_ultima > 1 + save "tmp/para_4a_rodada.dta", replace +restore + +keep if N_iniciais_primeira == 1 & N_iniciais_ultima == 1 + +keep id_candidato_bd_str cpf titulo_eleitoral nome + +save "tmp/3a_rodada.dta", replace +*/ + + +//------------------------------// +// append +//------------------------------// + +use "tmp/1a_rodada.dta", clear +append using "tmp/2a_rodada.dta" + +egen id_candidato_bd = group(id_candidato_bd_str) +la var id_candidato_bd "ID Candidato - Base dos Dados" + +sort id_candidato_bd +order id_candidato_bd titulo_eleitoral nome // cpf +keep id_candidato_bd titulo_eleitoral nome // cpf + +compress + +save "output/id_candidato_bd_v2.dta", replace + + +//------------------------------// +// combinações CPF-titulo eleitoral +//------------------------------// + +use "output/candidatos_1998.dta", clear +foreach ano of numlist 2000(2)2024 { + append using "output/candidatos_`ano'.dta" +} +* + +keep cpf titulo_eleitoral + +drop if cpf == "" | titulo_eleitoral == "" +duplicates drop + +foreach k in cpf titulo_eleitoral { + duplicates tag `k', gen(dup) + drop if dup > 0 & `k' != "" + drop dup +} + +save "tmp/cpf_titulo_eleitoral.dta", replace + + + + + diff --git a/bases/br_tse_eleicoes/code/sub/filiacao_partidaria.do b/bases/br_tse_eleicoes/code/sub/old/filiacao_partidaria.do similarity index 100% rename from bases/br_tse_eleicoes/code/sub/filiacao_partidaria.do rename to bases/br_tse_eleicoes/code/sub/old/filiacao_partidaria.do diff --git a/bases/br_tse_eleicoes/code/sub/partidos.do b/bases/br_tse_eleicoes/code/sub/partidos.do index 6d9eedd28..4d756e5bb 100644 --- a/bases/br_tse_eleicoes/code/sub/partidos.do +++ b/bases/br_tse_eleicoes/code/sub/partidos.do @@ -23,6 +23,7 @@ local ufs_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO local ufs_2018 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -33,7 +34,7 @@ keep id_municipio id_municipio_tse tempfile diretorio save `diretorio' -foreach ano of numlist 1990 1994(2)2022 { +foreach ano of numlist 1990 1994(2)2024 { foreach uf in `ufs_`ano'' { diff --git a/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_local_votacao.do b/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_local_votacao.do index 900e66057..bfc36c5ba 100644 --- a/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_local_votacao.do +++ b/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_local_votacao.do @@ -12,7 +12,7 @@ save `diretorio' // loops //------------------------// -foreach ano of numlist 2010(2)2022 { +foreach ano of numlist 2010(2)2024 { cap import delimited "input/perfil_eleitorado_local_votacao/eleitorado_local_votacao_`ano'/eleitorado_local_votacao_`ano'.txt", delim(";") stringcols(_all) varn(nonames) clear cap import delimited "input/perfil_eleitorado_local_votacao/eleitorado_local_votacao_`ano'/eleitorado_local_votacao_`ano'.csv", delim(";") stringcols(_all) varn(nonames) clear @@ -77,7 +77,7 @@ foreach ano of numlist 2010(2)2022 { * use `perfil2010' -foreach ano of numlist 2012(2)2022 { +foreach ano of numlist 2012(2)2024 { append using `perfil`ano'' } diff --git a/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_municipio_zona.do b/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_municipio_zona.do index a23507589..487c93b85 100644 --- a/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_municipio_zona.do +++ b/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_municipio_zona.do @@ -12,28 +12,54 @@ save `diretorio' // loops //------------------------// -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { cap import delimited "input/perfil_eleitorado/perfil_eleitorado_`ano'/perfil_eleitorado_`ano'.txt", delim(";") stringcols(_all) varn(nonames) clear //rowr(1:100000) cap import delimited "input/perfil_eleitorado/perfil_eleitorado_`ano'/perfil_eleitorado_`ano'.csv", delim(";") stringcols(_all) varn(nonames) clear //rowr(1:100000) drop in 1 - keep v3 v4 v5 v7 v9 v10 v12 v14 v16 v18 v19 v20 v21 - - ren v3 ano - ren v4 sigla_uf - ren v5 id_municipio_tse - ren v7 situacao_biometria - ren v9 zona - ren v10 genero - ren v12 estado_civil - ren v14 grupo_idade - ren v16 instrucao - ren v18 eleitores - ren v19 eleitores_biometria - ren v20 eleitores_deficiencia - ren v21 eleitores_inclusao_nome_social + if `ano' <= 2022 { + + keep v3 v4 v5 v7 v9 v10 v12 v14 v16 v18 v19 v20 v21 + + ren v3 ano + ren v4 sigla_uf + ren v5 id_municipio_tse + ren v7 situacao_biometria + ren v9 zona + ren v10 genero + ren v12 estado_civil + ren v14 grupo_idade + ren v16 instrucao + ren v18 eleitores + ren v19 eleitores_biometria + ren v20 eleitores_deficiencia + ren v21 eleitores_inclusao_nome_social + + } + else if `ano' == 2024 { + + keep v3 v4 v5 v7 v8 v10 v12 v14 v24 v25 v26 v27 + + ren v3 ano + ren v4 sigla_uf + ren v5 id_municipio_tse + ren v7 zona + ren v8 genero + ren v10 estado_civil + ren v12 grupo_idade + ren v14 instrucao + ren v24 eleitores + ren v25 eleitores_biometria + ren v26 eleitores_deficiencia + ren v27 eleitores_inclusao_nome_social + + gen situacao_biometria = "" + + + } + destring ano id_municipio_tse zona eleitores*, replace force diff --git a/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_secao.do b/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_secao.do index 0dc3db362..4adc1a400 100644 --- a/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_secao.do +++ b/bases/br_tse_eleicoes/code/sub/perfil_eleitorado_secao.do @@ -7,14 +7,15 @@ // listas de estados //------------------------// -local estados_2008 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -local estados_2010 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -local estados_2012 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -local estados_2014 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -local estados_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -local estados_2018 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO ZZ -local estados_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO -local estados_2022 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO ZZ +local ufs_2008 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2010 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2012 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2014 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2018 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO ZZ +local ufs_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2022 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO ZZ +local ufs_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -25,43 +26,70 @@ keep id_municipio id_municipio_tse tempfile diretorio save `diretorio' -foreach ano of numlist 2008(2)2022 { +foreach ano of numlist 2008(2)2024 { - foreach estado in `estados_`ano'' { + foreach uf in `ufs_`ano'' { if `ano' <= 2010 { - cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`estado'.txt", delim(";") stringcols(_all) clear - cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`estado'.csv", delim(";") stringcols(_all) clear + cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`uf'.txt", delim(";") stringcols(_all) clear + cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`uf'.csv", delim(";") stringcols(_all) clear } else { - cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`estado'/perfil_eleitor_secao_`ano'_`estado'.txt", delim(";") stringcols(_all) clear - cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`estado'/perfil_eleitor_secao_`ano'_`estado'.csv", delim(";") stringcols(_all) clear - + cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`uf'/perfil_eleitor_secao_`ano'_`uf'.txt", delim(";") stringcols(_all) clear + cap import delimited "input/perfil_eleitorado_secao/perfil_eleitor_secao_`ano'_`uf'/perfil_eleitor_secao_`ano'_`uf'.csv", delim(";") stringcols(_all) clear + } - if "`estado'" == "DF" & `ano' == 2014 gen situacao_biometrica = "" - - keep ano_eleicao sg_uf cd_municipio cd_mun_sit_biometrica nr_zona nr_secao /// - cd_genero cd_estado_civil cd_faixa_etaria cd_grau_escolaridade /// - qt_eleitores_perfil qt_eleitores_biometria qt_eleitores_deficiencia qt_eleitores_inc_nm_social + if "`uf'" == "DF" & `ano' == 2014 gen situacao_biometrica = "" - ren ano_eleicao ano - ren sg_uf sigla_uf - ren cd_municipio id_municipio_tse - ren cd_mun_sit_biometrica situacao_biometria - ren nr_zona zona - ren nr_secao secao - ren cd_genero genero - ren cd_estado_civil estado_civil - ren cd_faixa_etaria grupo_idade - ren cd_grau_escolaridade instrucao - ren qt_eleitores_perfil eleitores - ren qt_eleitores_biometria eleitores_biometria - ren qt_eleitores_deficiencia eleitores_deficiencia - ren qt_eleitores_inc_nm_social eleitores_inclusao_nome_social + if `ano' <= 2022 { + + keep ano_eleicao sg_uf cd_municipio cd_mun_sit_biometrica nr_zona nr_secao /// + cd_genero cd_estado_civil cd_faixa_etaria cd_grau_escolaridade /// + qt_eleitores_perfil qt_eleitores_biometria qt_eleitores_deficiencia qt_eleitores_inc_nm_social + + ren ano_eleicao ano + ren sg_uf sigla_uf + ren cd_municipio id_municipio_tse + ren cd_mun_sit_biometrica situacao_biometria + ren nr_zona zona + ren nr_secao secao + ren cd_genero genero + ren cd_estado_civil estado_civil + ren cd_faixa_etaria grupo_idade + ren cd_grau_escolaridade instrucao + ren qt_eleitores_perfil eleitores + ren qt_eleitores_biometria eleitores_biometria + ren qt_eleitores_deficiencia eleitores_deficiencia + ren qt_eleitores_inc_nm_social eleitores_inclusao_nome_social + + } + else if `ano' == 2024 { + + keep ano_eleicao sg_uf cd_municipio nr_zona nr_secao /// + cd_genero cd_estado_civil cd_faixa_etaria cd_grau_escolaridade /// + qt_eleitores_perfil qt_eleitores_biometria qt_eleitores_deficiencia qt_eleitores_inc_nm_social + + ren ano_eleicao ano + ren sg_uf sigla_uf + ren cd_municipio id_municipio_tse + ren nr_zona zona + ren nr_secao secao + ren cd_genero genero + ren cd_estado_civil estado_civil + ren cd_faixa_etaria grupo_idade + ren cd_grau_escolaridade instrucao + ren qt_eleitores_perfil eleitores + ren qt_eleitores_biometria eleitores_biometria + ren qt_eleitores_deficiencia eleitores_deficiencia + ren qt_eleitores_inc_nm_social eleitores_inclusao_nome_social + + gen situacao_biometria = "" + + } foreach k of varlist eleitores* { @@ -72,23 +100,23 @@ foreach ano of numlist 2008(2)2022 { destring id_municipio_tse zona secao eleitores*, replace force - collapse (sum) eleitores*, by(ano sigla_uf id_municipio_tse situacao_biometria zona secao genero estado_civil grupo_idade instrucao) // depois da limpeza de strings + collapse (sum) eleitores*, by(ano sigla_uf id_municipio_tse situacao_biometria zona secao genero estado_civil grupo_idade instrucao) merge m:1 id_municipio_tse using `diretorio' drop if _merge == 2 drop _merge order id_municipio, b(id_municipio_tse) - tempfile perfil_`ano'_`estado' - save `perfil_`ano'_`estado'' + tempfile perfil_`ano'_`uf' + save `perfil_`ano'_`uf'' } * use `perfil_`ano'_AC', clear - foreach estado in `estados_`ano'' { - if "`estado'" != "AC" { - append using `perfil_`ano'_`estado'' + foreach uf in `ufs_`ano'' { + if "`uf'" != "AC" { + append using `perfil_`ano'_`uf'' } } * diff --git a/bases/br_tse_eleicoes/code/sub/prestacao_contas.do b/bases/br_tse_eleicoes/code/sub/prestacao_contas.do index 54cfab187..c4696244c 100644 --- a/bases/br_tse_eleicoes/code/sub/prestacao_contas.do +++ b/bases/br_tse_eleicoes/code/sub/prestacao_contas.do @@ -3,7 +3,7 @@ // build: bens declarados //----------------------------------------------------------------------------// -foreach ano of numlist 2006(2)2022 { +foreach ano of numlist 2006(2)2024 { if mod(`ano', 4) == 0 local ufs AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO if mod(`ano', 4) == 2 local ufs AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO @@ -24,7 +24,6 @@ foreach ano of numlist 2006(2)2022 { ren v9 descricao_item ren v10 valor_item - gen id_tipo_item = . gen tipo_item = "" gen id_eleicao = "" gen data_eleicao = "" @@ -34,7 +33,7 @@ foreach ano of numlist 2006(2)2022 { drop in 1 - keep v3 v6 v7 v8 v9 v12 v14 v15 v16 v17 + keep v3 v6 v7 v8 v9 v12 v15 v16 v17 ren v3 ano ren v6 id_eleicao @@ -42,7 +41,6 @@ foreach ano of numlist 2006(2)2022 { ren v8 data_eleicao ren v9 sigla_uf ren v12 sequencial_candidato - ren v14 id_tipo_item ren v15 tipo_item ren v16 descricao_item ren v17 valor_item @@ -81,7 +79,7 @@ foreach ano of numlist 2006(2)2022 { } * - order ano id_eleicao tipo_eleicao data_eleicao sigla_uf sequencial_candidato id_tipo_item tipo_item descricao_item valor_item + order ano id_eleicao tipo_eleicao data_eleicao sigla_uf sequencial_candidato tipo_item descricao_item valor_item save "output/bens_candidato_`ano'.dta", replace @@ -101,7 +99,7 @@ keep id_municipio id_municipio_tse tempfile diretorio save `diretorio' -foreach ano of numlist 2012 { // 2002(2)2022 { +foreach ano of numlist 2002(2)2024 { if `ano' == 2002 { @@ -110,11 +108,12 @@ foreach ano of numlist 2012 { // 2002(2)2022 { drop in 1 + drop v5 + ren v1 sequencial_candidato ren v2 sigla_uf ren v3 sigla_partido ren v4 cargo - ren v5 nome_candidato ren v6 numero_candidato ren v7 data_receita ren v8 cpf_cnpj_doador @@ -165,9 +164,8 @@ foreach ano of numlist 2012 { // 2002(2)2022 { drop in 1 - drop v3 v6 v8 v13 v15 + drop v1 v3 v6 v8 v13 v15 - ren v1 nome_candidato ren v2 cargo ren v4 numero_candidato ren v5 sigla_uf @@ -220,10 +218,9 @@ foreach ano of numlist 2012 { // 2002(2)2022 { drop in 1 - drop v4 v8 v13 v15 + drop v2 v4 v8 v13 v15 ren v1 sequencial_candidato - ren v2 nome_candidato ren v3 cargo ren v5 numero_candidato ren v6 sigla_uf @@ -275,16 +272,13 @@ foreach ano of numlist 2012 { // 2002(2)2022 { drop in 1 - drop v3 v5 v8 v13 v18 v20 v24 + drop v2 v3 v5 v8 v10 v11 v13 v18 v20 v24 ren v1 sequencial_candidato - ren v2 nome_candidato ren v4 cargo ren v6 numero_candidato ren v7 sigla_uf ren v9 id_municipio_tse - ren v10 titulo_eleitor_candidato - ren v11 cpf_candidato ren v12 cnpj_candidato ren v14 sigla_partido ren v15 valor_receita @@ -341,15 +335,13 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v1 + drop v1 v7 v8 ren v2 sequencial_candidato ren v3 sigla_uf ren v4 sigla_partido ren v5 numero_candidato ren v6 cargo - ren v7 nome_candidato - ren v8 cpf_candidato ren v9 entrega_conjunto ren v10 numero_recibo_eleitoral ren v11 numero_documento @@ -419,7 +411,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v3 v7 v18 + drop v3 v7 v11 v12 v18 ren v1 id_eleicao ren v2 tipo_eleicao @@ -429,8 +421,6 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v8 sigla_partido ren v9 numero_candidato ren v10 cargo - ren v11 nome_candidato - ren v12 cpf_candidato ren v13 numero_recibo_eleitoral ren v14 numero_documento ren v15 cpf_cnpj_doador @@ -542,7 +532,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v3 + drop v3 v10 v11 ren v1 id_eleicao ren v2 tipo_eleicao @@ -552,8 +542,6 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v7 sigla_partido ren v8 numero_candidato ren v9 cargo - ren v10 nome_candidato - ren v11 cpf_candidato ren v12 numero_recibo_eleitoral ren v13 numero_documento ren v14 cpf_cnpj_doador @@ -605,7 +593,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v3 v7 v8 + drop v3 v7 v8 v12 v13 v14 ren v1 id_eleicao ren v2 tipo_eleicao @@ -615,9 +603,6 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v9 sigla_partido ren v10 numero_candidato ren v11 cargo - ren v12 nome_candidato - ren v13 cpf_candidato - ren v14 cpf_vice_suplente ren v15 numero_recibo_eleitoral ren v16 numero_documento ren v17 cpf_cnpj_doador @@ -658,7 +643,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { } * - foreach k of varlist cpf_vice_suplente numero_documento origem_receita natureza_receita descricao_receita *_doador* { + foreach k of varlist numero_documento origem_receita natureza_receita descricao_receita *_doador* { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") } * @@ -696,7 +681,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v3 v8 + drop v3 v8 v12 v13 v14 ren v1 id_eleicao ren v2 tipo_eleicao @@ -707,9 +692,6 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v9 sigla_partido ren v10 numero_candidato ren v11 cargo - ren v12 nome_candidato - ren v13 cpf_candidato - ren v14 cpf_vice_suplente ren v15 numero_recibo_eleitoral ren v16 numero_documento ren v17 cpf_cnpj_doador @@ -881,7 +863,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { } * - foreach k of varlist cpf_vice_suplente numero_documento origem_receita natureza_receita descricao_receita *_doador* { + foreach k of varlist numero_documento origem_receita natureza_receita descricao_receita *_doador* { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") } * @@ -921,7 +903,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v1 v2 v3 v4 v5 v14 v15 v17 v27 v29 v31 v33 v40 v44 v47 v58 v59 v60 + drop v1 v2 v3 v4 v5 v14 v15 v17 v21 v22 v23 v26 v27 v29 v31 v33 v40 v44 v47 v51 v58 v59 v60 ren v6 id_eleicao ren v7 tipo_eleicao @@ -935,12 +917,8 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v18 cargo ren v19 sequencial_candidato ren v20 numero_candidato - ren v21 nome_candidato - ren v22 cpf_candidato - ren v23 cpf_vice_suplente ren v24 numero_partido ren v25 sigla_partido - ren v26 nome_partido ren v28 fonte_receita ren v30 origem_receita ren v32 natureza_receita @@ -958,7 +936,6 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v48 cargo_candidato_doador ren v49 numero_partido_doador ren v50 sigla_partido_doador - ren v51 nome_partido_doador ren v52 numero_recibo_doacao ren v53 numero_documento_doacao ren v54 sequencial_receita @@ -990,7 +967,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { } * - foreach k of varlist cpf_vice_suplente origem_receita natureza_receita descricao_receita *_doador* *_doacao { + foreach k of varlist origem_receita natureza_receita descricao_receita *_doador* *_doacao { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") } * @@ -1019,8 +996,8 @@ foreach ano of numlist 2012 { // 2002(2)2022 { } if `ano' >= 2020 { - if `ano' == 2020 local ufs AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO - if `ano' == 2022 local ufs AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO + if mod(`ano', 4) == 0 local ufs AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO + if mod(`ano', 4) == 2 local ufs AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO foreach uf in `ufs' { @@ -1028,7 +1005,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v1 v2 v3 v4 v5 v15 v17 v27 v29 v31 v33 v40 v44 v47 v58 v59 v60 + drop v1 v2 v3 v4 v5 v15 v17 v21 v22 v23 v26 v27 v29 v31 v33 v40 v44 v47 v51 v58 v59 v60 ren v6 id_eleicao ren v7 tipo_eleicao @@ -1043,12 +1020,8 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v18 cargo ren v19 sequencial_candidato ren v20 numero_candidato - ren v21 nome_candidato - ren v22 cpf_candidato - ren v23 cpf_vice_suplente ren v24 numero_partido ren v25 sigla_partido - ren v26 nome_partido ren v28 fonte_receita ren v30 origem_receita ren v32 natureza_receita @@ -1066,7 +1039,6 @@ foreach ano of numlist 2012 { // 2002(2)2022 { ren v48 cargo_candidato_doador ren v49 numero_partido_doador ren v50 sigla_partido_doador - ren v51 nome_partido_doador ren v52 numero_recibo_doacao ren v53 numero_documento_doacao ren v54 sequencial_receita @@ -1098,7 +1070,7 @@ foreach ano of numlist 2012 { // 2002(2)2022 { } * - foreach k of varlist cpf_vice_suplente origem_receita natureza_receita descricao_receita *_doador* *_doacao { + foreach k of varlist origem_receita natureza_receita descricao_receita *_doador* *_doacao { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") } * @@ -1156,7 +1128,7 @@ keep id_municipio id_municipio_tse tempfile diretorio save `diretorio' -foreach ano of numlist 2002(2)2022 { +foreach ano of numlist 2002(2)2024 { if `ano' == 2002 { @@ -1164,13 +1136,12 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v9 + drop v5 v9 ren v1 sequencial_candidato ren v2 sigla_uf ren v3 sigla_partido ren v4 cargo - ren v5 nome_candidato ren v6 numero_candidato ren v7 data_despesa ren v8 cpf_cnpj_fornecedor @@ -1211,9 +1182,8 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) bindquote(nobind) stripquotes(yes) drop in 1 - drop v3 v6 v13 v15 v18 v21 v22 + drop v1 v3 v6 v13 v15 v18 v21 v22 - ren v1 nome_candidato ren v2 cargo ren v4 numero_candidato ren v5 sigla_uf @@ -1263,10 +1233,9 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v4 v13 v15 v18 v21 v22 + drop v2 v4 v13 v15 v18 v21 v22 ren v1 sequencial_candidato - ren v2 nome_candidato ren v3 cargo ren v5 numero_candidato ren v6 sigla_uf @@ -1314,10 +1283,9 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v4 v7 v15 v17 v20 v23 v24 v25 v26 v27 v28 v29 + drop v2 v4 v7 v15 v17 v20 v23 v24 v25 v26 v27 v28 v29 ren v1 sequencial_candidato - ren v2 nome_candidato ren v3 cargo ren v5 numero_candidato ren v6 sigla_uf @@ -1372,15 +1340,13 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v1 v9 + drop v1 v7 v8 v9 ren v2 sequencial_candidato ren v3 sigla_uf ren v4 sigla_partido ren v5 numero_candidato ren v6 cargo - ren v7 nome_candidato - ren v8 cpf_candidato ren v10 tipo_documento ren v11 numero_documento ren v12 cpf_cnpj_fornecedor @@ -1405,7 +1371,7 @@ foreach ano of numlist 2002(2)2022 { } * - foreach k of varlist cpf_candidato /// + foreach k of varlist /// tipo_documento numero_documento descricao_despesa /// cpf_cnpj_fornecedor { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") @@ -1448,7 +1414,7 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v1 v5 + drop v1 v5 v9 v10 ren v2 sequencial_candidato ren v3 sigla_uf @@ -1456,8 +1422,6 @@ foreach ano of numlist 2002(2)2022 { ren v6 sigla_partido ren v7 numero_candidato ren v8 cargo - ren v9 nome_candidato - ren v10 cpf_candidato ren v11 tipo_documento ren v12 numero_documento ren v13 cpf_cnpj_fornecedor @@ -1530,7 +1494,7 @@ foreach ano of numlist 2002(2)2022 { append using `suplementar' */ - foreach k of varlist cpf_candidato /// + foreach k of varlist /// tipo_documento numero_documento descricao_despesa /// cpf_cnpj_fornecedor /// descricao_cnae_2_fornecedor { @@ -1571,7 +1535,7 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v3 + drop v3 v10 v11 ren v1 id_eleicao ren v2 tipo_eleicao @@ -1581,8 +1545,6 @@ foreach ano of numlist 2002(2)2022 { ren v7 sigla_partido ren v8 numero_candidato ren v9 cargo - ren v10 nome_candidato - ren v11 cpf_candidato ren v12 tipo_documento ren v13 numero_documento ren v14 cpf_cnpj_fornecedor @@ -1656,7 +1618,7 @@ foreach ano of numlist 2002(2)2022 { append using `suplementar' */ - foreach k of varlist cpf_candidato /// + foreach k of varlist /// tipo_documento numero_documento descricao_despesa /// cpf_cnpj_fornecedor /// cnae_2_fornecedor descricao_cnae_2_fornecedor { @@ -1701,7 +1663,7 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) drop in 1 - drop v3 v8 + drop v3 v8 v12 v13 v14 ren v1 id_eleicao ren v2 tipo_eleicao @@ -1712,9 +1674,6 @@ foreach ano of numlist 2002(2)2022 { ren v9 sigla_partido ren v10 numero_candidato ren v11 cargo - ren v12 nome_candidato - ren v13 cpf_candidato - ren v14 cpf_vice_suplente ren v15 tipo_documento ren v16 numero_documento ren v17 cpf_cnpj_fornecedor @@ -1840,7 +1799,7 @@ foreach ano of numlist 2002(2)2022 { append using `suplementar' */ - foreach k of varlist cpf_candidato cpf_vice_suplente /// + foreach k of varlist /// tipo_documento numero_documento descricao_despesa /// cpf_cnpj_fornecedor /// cnae_2_fornecedor descricao_cnae_2_fornecedor { @@ -1881,7 +1840,7 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) // rowr(1:1000) drop in 1 - drop v1 v2 v3 v4 v5 v15 v17 v27 v34 v38 v41 v48 + drop v1 v2 v3 v4 v5 v15 v17 v21 v22 v23 v26 v27 v34 v38 v41 v45 v48 ren v6 id_eleicao ren v7 tipo_eleicao @@ -1896,12 +1855,8 @@ foreach ano of numlist 2002(2)2022 { ren v18 cargo ren v19 sequencial_candidato ren v20 numero_candidato - ren v21 nome_candidato - ren v22 cpf_candidato - ren v23 cpf_vice_suplente ren v24 numero_partido ren v25 sigla_partido - ren v26 nome_partido ren v28 tipo_fornecedor ren v29 cnae_2_fornecedor ren v30 descricao_cnae_2_fornecedor @@ -1916,7 +1871,6 @@ foreach ano of numlist 2002(2)2022 { ren v42 cargo_fornecedor ren v43 numero_partido_fornecedor ren v44 sigla_partido_fornecedor - ren v45 nome_partido_fornecedor ren v46 tipo_documento ren v47 numero_documento ren v49 origem_despesa @@ -1945,11 +1899,11 @@ foreach ano of numlist 2002(2)2022 { // limpeza //-----------------------// - foreach k of varlist cpf_vice_suplente tipo_fornecedor cnae_2_fornecedor descricao_cnae_2_fornecedor /// + foreach k of varlist tipo_fornecedor cnae_2_fornecedor descricao_cnae_2_fornecedor /// nome_fornecedor nome_fornecedor_rf esfera_partidaria_fornecedor sigla_uf_fornecedor /// cpf_cnpj_fornecedor id_municipio_tse_fornecedor sequencial_candidato_fornecedor numero_candidato_fornecedor /// cargo_fornecedor numero_partido_fornecedor sigla_partido_fornecedor /// - nome_partido_fornecedor tipo_documento numero_documento descricao_despesa { + tipo_documento numero_documento descricao_despesa { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") } * @@ -1980,6 +1934,7 @@ foreach ano of numlist 2002(2)2022 { if `ano' == 2020 local ufs AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO if `ano' == 2022 local ufs AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO + if `ano' == 2024 local ufs AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO foreach uf in `ufs' { @@ -1987,7 +1942,7 @@ foreach ano of numlist 2002(2)2022 { clear varnames(nonames) delim(";") stringc(_all) // rowr(1:1000) drop in 1 - drop v1 v2 v3 v4 v5 v15 v17 v27 v34 v38 v41 v48 + drop v1 v2 v3 v4 v5 v15 v17 v21 v22 v23 v26 v27 v34 v38 v41 v45 v48 ren v6 id_eleicao ren v7 tipo_eleicao @@ -2002,12 +1957,8 @@ foreach ano of numlist 2002(2)2022 { ren v18 cargo ren v19 sequencial_candidato ren v20 numero_candidato - ren v21 nome_candidato - ren v22 cpf_candidato - ren v23 cpf_vice_suplente ren v24 numero_partido ren v25 sigla_partido - ren v26 nome_partido ren v28 tipo_fornecedor ren v29 cnae_2_fornecedor ren v30 descricao_cnae_2_fornecedor @@ -2022,7 +1973,6 @@ foreach ano of numlist 2002(2)2022 { ren v42 cargo_fornecedor ren v43 numero_partido_fornecedor ren v44 sigla_partido_fornecedor - ren v45 nome_partido_fornecedor ren v46 tipo_documento ren v47 numero_documento ren v49 origem_despesa @@ -2051,11 +2001,11 @@ foreach ano of numlist 2002(2)2022 { // limpeza //-----------------------// - foreach k of varlist cpf_vice_suplente cpf_cnpj_fornecedor tipo_fornecedor cnae_2_fornecedor descricao_cnae_2_fornecedor /// + foreach k of varlist cpf_cnpj_fornecedor tipo_fornecedor cnae_2_fornecedor descricao_cnae_2_fornecedor /// nome_fornecedor nome_fornecedor_rf esfera_partidaria_fornecedor sigla_uf_fornecedor /// id_municipio_tse_fornecedor sequencial_candidato_fornecedor numero_candidato_fornecedor /// cargo_fornecedor numero_partido_fornecedor sigla_partido_fornecedor /// - nome_partido_fornecedor tipo_documento numero_documento descricao_despesa { + tipo_documento numero_documento descricao_despesa { replace `k' = "" if inlist(`k', "#NULO#", "#NULO", "-1") } * diff --git a/bases/br_tse_eleicoes/code/sub/resultados_municipio_zona.do b/bases/br_tse_eleicoes/code/sub/resultados_municipio_zona.do index b4c652fb4..f74e784fc 100644 --- a/bases/br_tse_eleicoes/code/sub/resultados_municipio_zona.do +++ b/bases/br_tse_eleicoes/code/sub/resultados_municipio_zona.do @@ -22,6 +22,7 @@ local ufs_2016_candidato AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE local ufs_2018_candidato AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020_candidato AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022_candidato AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024_candidato AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_1994_partido AC AL AM AP BA BR GO MA MS PB PE PI RO RR RS SC SE SP TO local ufs_1996_partido AC AL AM AP BA CE ES GO MA MG MS PA PB PE PI RN RO RR RS SE SP TO @@ -38,6 +39,7 @@ local ufs_2016_partido AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE P local ufs_2018_partido AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020_partido AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022_partido AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024_partido AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -53,7 +55,7 @@ keep id_municipio_tse sigla_uf tempfile diretorio_ufs save `diretorio_ufs' -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { foreach tipo in candidato partido { // @@ -105,11 +107,11 @@ foreach ano of numlist 1994(2)2022 { ren v11 sigla_uf ren v14 id_municipio_tse ren v16 zona + ren v18 cargo ren v19 sequencial_candidato ren v20 numero_candidato ren v21 nome_candidato ren v22 nome_urna_candidato - ren v18 cargo ren v29 numero_partido ren v30 sigla_partido ren v36 resultado @@ -140,6 +142,31 @@ foreach ano of numlist 1994(2)2022 { ren v42 votos ren v44 resultado + } + else if (`ano' >= 2024) { + + drop in 1 + + keep v3 v6 v7 v8 v9 v11 v14 v16 v18 v19 v20 v21 v22 v35 v36 v46 v50 + + ren v3 ano + ren v6 turno + ren v7 id_eleicao + ren v8 tipo_eleicao + ren v9 data_eleicao + ren v11 sigla_uf + ren v14 id_municipio_tse + ren v16 zona + ren v18 cargo + ren v19 sequencial_candidato + ren v20 numero_candidato + ren v21 nome_candidato + ren v22 nome_urna_candidato + ren v35 numero_partido + ren v36 sigla_partido + ren v46 votos + ren v50 resultado + } //------------------// diff --git a/bases/br_tse_eleicoes/code/sub/resultados_secao.do b/bases/br_tse_eleicoes/code/sub/resultados_secao.do index 4cc0d5d26..a533d5d05 100644 --- a/bases/br_tse_eleicoes/code/sub/resultados_secao.do +++ b/bases/br_tse_eleicoes/code/sub/resultados_secao.do @@ -22,29 +22,30 @@ local ufs_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO local ufs_2018 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022 AC AL AM AP BA BR CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops //------------------------// -import delimited "input/br_bd_diretorios_brasil_municipio.csv", clear varn(1) case(preserve) //stringcols(_all) +import delimited "input/br_bd_diretorios_brasil_municipio.csv", clear varn(1) case(preserve) keep id_municipio id_municipio_tse tempfile diretorio save `diretorio' -import delimited "input/br_bd_diretorios_brasil_municipio.csv", clear varn(1) case(preserve) //stringcols(_all) +import delimited "input/br_bd_diretorios_brasil_municipio.csv", clear varn(1) case(preserve) keep id_municipio_tse sigla_uf tempfile diretorio_ufs save `diretorio_ufs' -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { foreach uf in `ufs_`ano'' { di "`ano'_`uf'" - cap import delimited "input/votacao_secao/votacao_secao_`ano'_`uf'/votacao_secao_`ano'_`uf'.txt", delim(";") varn(nonames) stringcols(_all) clear //rowr(1:10000) - cap import delimited "input/votacao_secao/votacao_secao_`ano'_`uf'/votacao_secao_`ano'_`uf'.csv", delim(";") varn(nonames) stringcols(_all) clear //rowr(1:10000) + cap import delimited "input/votacao_secao/votacao_secao_`ano'_`uf'/votacao_secao_`ano'_`uf'.txt", delim(";") varn(nonames) stringcols(_all) clear + cap import delimited "input/votacao_secao/votacao_secao_`ano'_`uf'/votacao_secao_`ano'_`uf'.csv", delim(";") varn(nonames) stringcols(_all) clear if (`ano' == 1998 & "`uf'" == "BR") | (`ano' == 2008 & "`uf'" == "TO") { // schema antigo, nao foi atualizado no site do TSE diff --git a/bases/br_tse_eleicoes/code/sub/vagas.do b/bases/br_tse_eleicoes/code/sub/vagas.do index 7bd4e513d..ca46fe749 100755 --- a/bases/br_tse_eleicoes/code/sub/vagas.do +++ b/bases/br_tse_eleicoes/code/sub/vagas.do @@ -22,6 +22,7 @@ local ufs_2016 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR local ufs_2018 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2020 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO local ufs_2022 AC AL AM AP BA CE DF ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO +local ufs_2024 AC AL AM AP BA CE ES GO MA MG MS MT PA PB PE PI PR RJ RN RO RR RS SC SE SP TO //------------------------// // loops @@ -32,7 +33,7 @@ keep id_municipio id_municipio_tse tempfile diretorio save `diretorio' -foreach ano of numlist 1994(2)2022 { +foreach ano of numlist 1994(2)2024 { foreach uf in `ufs_`ano'' {