Skip to content

Commit

Permalink
update code for br_tse_eleicoes
Browse files Browse the repository at this point in the history
  • Loading branch information
rdahis committed Jan 8, 2024
1 parent db48dcb commit ce69768
Show file tree
Hide file tree
Showing 4 changed files with 467 additions and 14 deletions.
17 changes: 9 additions & 8 deletions bases/br_tse_eleicoes/code/fnc/limpa_tipo_eleicao.do
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ program limpa_tipo_eleicao

local ano = `1'

replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == ""
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "ordinaria"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicao municipal `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes gerais `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes municipais `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes gerais estaduais `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicao geral federal `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == ""
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "ordinaria"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicao `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicao municipal `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes gerais `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes municipais `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicoes gerais estaduais `ano'"
replace tipo_eleicao = "eleicao ordinaria" if tipo_eleicao == "eleicao geral federal `ano'"

end
33 changes: 27 additions & 6 deletions bases/br_tse_eleicoes/code/sub/agregacao.do
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,38 @@ save `candidatos_mod2_presid'

!mkdir "output/resultados_candidato"

foreach ano of numlist 1945 1947 1955(5)1965 1950(4)1990 1989 {

!mkdir "output/resultados_candidato/ano=`ano'"

use "output/resultados_candidato_uf_`ano'.dta", clear

replace sigla_uf = "" if cargo == "presidente"
gen id_municipio = .
gen id_municipio_tse = .

cap gen numero_partido = ""
cap gen sequencial_candidato = ""
cap gen numero_candidato = ""
cap gen id_candidato_bd = ""

collapse (sum) votos, by(turno tipo_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 tipo_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd nome_candidato resultado votos

export delimited "output/resultados_candidato/ano=`ano'/resultados_candidato.csv", replace

}

foreach ano of numlist 1994(2)2022 {

!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 numero numero_candidato
cap ren nome nome_candidato
cap ren nome_urna nome_urna_candidato

ren numero_candidato numero

Expand Down Expand Up @@ -151,9 +173,8 @@ foreach ano of numlist 1994(2)2022 {
replace id_municipio = . if mod(ano, 4) == 2
replace id_municipio_tse = . if mod(ano, 4) == 2

collapse (sum) votos, by(turno tipo_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido sequencial_candidato numero_candidato id_candidato_bd resultado)

order turno tipo_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd resultado votos
collapse (sum) votos, by(turno tipo_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 tipo_eleicao sigla_uf id_municipio id_municipio_tse cargo numero_partido sigla_partido numero_candidato sequencial_candidato id_candidato_bd nome_candidato resultado votos

export delimited "output/resultados_candidato/ano=`ano'/resultados_candidato.csv", replace

Expand Down
150 changes: 150 additions & 0 deletions bases/br_tse_eleicoes/code/sub/detalhes_votacao_uf.do
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@

//----------------------------------------------------------------------------//
// build: detalhes votacao
//----------------------------------------------------------------------------//

//------------------------//
// listas de estados
//------------------------//

local estados_1933 BR
local estados_1934 BR
local estados_1945 AL AM BA CE DF ES GO MA MG MT PA PB PE PI PR RB RJ RN RS SC SE SP "Fernando de Noronha" "Iguacu" "Ponta Pora"
local estados_1947 AL AM AP BA CE DF ES GO GP MA MG MT PA PB PE PI PR RB RJ RN RS SC SE SP
local estados_1950 AC AL AM AP BA CE DF ES GO GP MA MG MT PA PB PE PI PR RB RJ RN RS SC SE SP
local estados_1954 AC AL AM AP BA CE DF ES GO GP MA MG MT PA PB PE PI PR RB RJ RN RS SC SE SP
local estados_1955 BR
local estados_1958 AC AL AM AP BA CE DF ES GO MA MG MT PA PB PE PI PR RB RJ RN RO RS SC SE SP
local estados_1960 BR
local estados_1962 AC AL AM AP BA CE ES GB GO MA MG MT PA PB PE PI PR RJ RN RO RS SC SE SP
local estados_1965 BR
local estados_1966 AC AL AM AP BA CE ES GB GO MA MG MT PA PB PE PI PR RJ RN RO RR RS SC SE SP
local estados_1970 AC AL AM AP BA CE ES GB GO MA MG MT PA PB PE PI PR RJ RN RO RR RS SC SE SP
local estados_1974 AC AL AM AP BA CE ES GB GO MA MG MT PA PB PE PI PR RJ RN RO RR RS SC SE SP
local estados_1978 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
local estados_1982 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
local estados_1986 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
local estados_1989 BR
local estados_1990 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

//------------------------//
// loops
//------------------------//

foreach ano of numlist 1945 1947 1955(5)1965 1950(4)1990 1989 { // 1933 1934

foreach estado in `estados_`ano'' {

cap import delimited using "input/detalhe_votacao_uf/DETALHE_VOTACAO_UF_`ano'/DETALHE_VOTACAO_UF_`ano'_`estado'.txt", delimiter(";") varn(nonames) stringcols(_all) clear
cap import delimited using "input/detalhe_votacao_uf/DETALHE_VOTACAO_UF_`ano'/DETALHE_VOTACAO_UF_`ano'.txt", delimiter(";") varn(nonames) stringcols(_all) clear

if `ano' <= 2012 {

keep v3 v4 v5 v6 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22

ren v3 ano
ren v4 turno
ren v5 tipo_eleicao
ren v6 sigla_uf
ren v9 cargo
ren v10 aptos
ren v11 comparecimento
ren v12 abstencoes
ren v13 votos_validos
ren v14 votos_brancos
ren v15 votos_nulos
ren v16 votos_legenda
ren v17 votos_anulados_apurado_separado
ren v18 secoes_totalizadas
ren v19 secoes_anuladas
ren v20 secoes_sem_funcionamento
ren v21 zonas_eleitorais
ren v22 juntas_apuradoras

/*
QTD_VOTOS_ANULADOS_APU_SEP
QTD_SECOES_TOT
QTD_SECOES_ANULADAS
QTD_SECOES_SEM_FUNCION
QTD_ZONAS_ELEITORAIS
QTD_JUNTAS_APURADORAS
*/

//ren v11 secoes
//ren v15 secoes_agregadas
//ren v16 aptos_totalizadas
//ren v17 secoes_totalizadas


}
*

destring ano turno aptos* secoes* comparecimento abstencoes votos_* zonas* juntas*, replace force

foreach k of varlist aptos* secoes* comparecimento abstencoes votos_* zonas* juntas* {

replace `k' = . if `k' == -1
replace `k' = . if `k' == -3

}
*

//------------------//
// limpa strings
//------------------//

foreach k in tipo_eleicao cargo {
cap clean_string `k'
}
*

limpa_tipo_eleicao `ano'

//------------------//
// variaveis
//------------------//

gen proporcao_comparecimento = 100 * comparecimento / aptos
la var proporcao_comparecimento "% Comparecimento"

gen proporcao_votos_validos = 100 * votos_validos / comparecimento
la var proporcao_votos_validos "% Votos Válidos"

gen proporcao_votos_brancos = 100 * votos_brancos / comparecimento
la var proporcao_votos_brancos "% Votos Brancos"

gen proporcao_votos_nulos = 100 * votos_nulos / comparecimento
la var proporcao_votos_nulos "% Votos Nulos"

duplicates drop

compress

tempfile detalhes_`ano'_`estado'
save `detalhes_`ano'_`estado''

}
*

//------------------//
// append
//------------------//

local first: word 1 of `estados_`ano''
use `detalhes_`ano'_`first'', clear
foreach estado in `estados_`ano'' {
if "`estado'" != "`first'" {
append using `detalhes_`ano'_`estado''
}
}

order ano turno tipo_eleicao sigla_uf cargo secoes_anuladas secoes_sem_funcionamento zonas_eleitorais juntas_apuradoras votos_anulados_apurado_separado secoes_totalizadas ///
aptos comparecimento abstencoes votos_validos votos_brancos votos_nulos votos_legenda ///
proporcao_*

compress

save "output/detalhes_votacao_uf_`ano'.dta", replace

}
*
Loading

0 comments on commit ce69768

Please sign in to comment.