Mudanças entre as edições de "PACA"

De Wikoleculares
Ir para navegação Ir para pesquisar
 
m (Ver também)
Linha 8: Linha 8:
  
 
[[Categoria: Religiões do CM]]
 
[[Categoria: Religiões do CM]]
 +
 +
 +
use cod_familiar_fam nom_pessoa dta_nasc_pessoa cod_parentesco_rf_pessoa ///
 +
nom_completo_mae_pessoa nom_completo_pai_pessoa cod_ibge_munic_nasc_pessoa ///
 +
cod_ibge_munic_nasc_pessoa cod_parentesco_rf_pessoa cod_sexo_pessoa ///
 +
cod_censo_inep_memb cod_curso_frequenta_memb ///
 +
using "Q:\data\2-Cadastro\Original\cadastro_2019_pessoas_raw.dta", clear
 +
 +
 +
g yob = substr(dta_nasc_pessoa,1,4)
 +
destring yob,replace
 +
 +
g potential_child = (yob>=2015&yob<=2017)
 +
 +
bys cod_familiar_fam: gegen fam_potential_child = max(potential_child)
 +
keep if fam_potential_child == 1 //& fam_potential_mother_cp5 == 1
 +
 +
 +
//g woman = cod_sexo_pessoa == 2
 +
 +
foreach var in nom_pessoa nom_completo_mae_pessoa {
 +
replace `var' = subinstr(`var', " DA ", " ", .)
 +
replace `var' = subinstr(`var', " DOS ", " ", .)
 +
replace `var' = subinstr(`var', " DE ", " ", .)
 +
replace `var' = subinstr(`var', " DO ", " ", .)
 +
replace `var' = subinstr(`var', " DAS ", " ", .)
 +
replace `var' = subinstr(`var', "Y", "I", .)
 +
replace `var' = subinstr(`var', "H", "", .)
 +
replace `var' = subinstr(`var', "Z", "S", .)
 +
replace `var' = subinstr(`var', "TT", "T", .)
 +
replace `var' = subinstr(`var', "LL", "L", .)
 +
replace `var' = subinstr(`var', "W", "V", .)
 +
replace `var' = subinstr(`var', "NN", "N", .)
 +
replace `var' = subinstr(`var', "SS", "S", .)
 +
 +
}
 +
 +
 +
*--------------------------------------------
 +
* Potential child, grandchild and mother
 +
*--------------------------------------------
 +
 +
*a. Find child in families where the child belongs to the HH or spouse
 +
//g potential_mother_cp3 = 0
 +
 +
//replace potential_child_cp3 = 1 if cod_parentesco_rf_pessoa ==3 //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5
 +
//replace potential_mother_cp3 = 1 if (cod_parentesco_rf_pessoa ==1 | cod_parentesco_rf_pessoa ==2)&woman //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5
 +
 +
*b. Find grandchild in families where the child belongs to the child of the HH or in-law
 +
 +
//g potential_child_cp5 = 0
 +
//g potential_mother_cp5 = 0
 +
 +
//replace potential_child_cp5 = 1 if cod_parentesco_rf_pessoa ==5 //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5
 +
//replace potential_mother_cp5 = 1 if (cod_parentesco_rf_pessoa ==3 | cod_parentesco_rf_pessoa ==9)&woman //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5
 +
 +
//bys cod_familiar_fam: egen fam_potential_child_cp5 = max(potential_child_cp5)
 +
 +
//bys cod_familiar_fam: egen fam_potential_mother_cp3 = max(potential_mother_cp3)
 +
//bys cod_familiar_fam: egen fam_potential_mother_cp5 = max(potential_mother_cp5)
 +
 +
*--------------------------------------------
 +
* Keep the potential child and keep the mother's name
 +
*--------------------------------------------
 +
 +
preserve
 +
keep if potential_child == 1 //& fam_potential_mother_cp5 == 1
 +
//keep if (cod_parentesco_rf_pessoa==5)
 +
keep cod_familiar_fam cod_parentesco_rf_pessoa nom_completo_mae_pessoa ///
 +
nom_completo_pai_pessoa nom_pessoa yob dta_nasc_pessoa cod_ibge_munic_nasc_pessoa ///
 +
cod_censo_inep_memb cod_curso_frequenta_memb
 +
 +
rename nom_pessoa nom_pessoa_child
 +
rename nom_completo_mae_pessoa nom_pessoa 
 +
rename dta_nasc_pessoa dta_nasc_child
 +
rename cod_ibge_munic_nasc_pessoa cod_ibge_munic_nasc_child
 +
rename cod_censo_inep_memb cod_censo_inep_child
 +
rename cod_curso_frequenta_memb cod_curso_frequenta_child
 +
 +
rename yob yob_child
 +
//rename cod_sexo_pessoa cod_sexo_child
 +
 +
drop if nom_pessoa == ""
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\potential_child.dta", replace
 +
restore
 +
 +
*--------------------------------------------
 +
* Find the mother in the family
 +
*--------------------------------------------
 +
 +
preserve
 +
keep if fam_potential_child == 1 //& fam_potential_mother_cp5 == 1
 +
//drop if potential_child == 1
 +
//keep if ((cod_parentesco_rf_pessoa == 3| cod_parentesco_rf_pessoa==9)&woman)
 +
keep cod_familiar_fam cod_parentesco_rf_pessoa nom_pessoa  // dta_nasc_pessoa num_nis_pessoa_atual
 +
//rename dta_nasc_pessoa dta_nasc_mae
 +
//rename num_nis_pessoa_atual num_nis_pessoa_mae
 +
 +
duplicates tag cod_familiar_fam nom_pessoa, gen(tag)
 +
drop if tag>=1 //1 case only
 +
drop tag
 +
 +
merge 1:m  cod_familiar_fam nom_pessoa ///
 +
using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\potential_child.dta"
 +
keep if _merge==3
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", replace
 +
 +
restore
 +
 +
 +
*--------------------------------------------
 +
* Get mothers and family's characteristics
 +
*--------------------------------------------
 +
 +
clear
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", clear
 +
 +
sort cod_familiar_fam nom_pessoa yob_child
 +
bys cod_familiar_fam nom_pessoa: gen n_children = _n
 +
 +
drop _merge
 +
reshape wide ///
 +
yob_child nom_pessoa_child nom_completo_pai_pessoa dta_nasc_child cod_ibge_munic_nasc_child ///
 +
cod_censo_inep_child cod_curso_frequenta_child, ///
 +
i(cod_familiar_fam nom_pessoa) j(n_children)
 +
 +
gen byte mother = 1
 +
 +
preserve
 +
use cod_familiar_fam num_nis_pessoa_atual nom_pessoa dta_nasc_pessoa cod_sexo_pessoa ///
 +
cod_ibge_munic_nasc_pessoa sig_uf_munic_nasc_pessoa  ///
 +
nom_escola_memb cod_escola_local_memb cod_censo_inep_memb cod_curso_frequenta_memb cod_curso_freq_pessoa_memb ///
 +
val_remuner_emprego_memb cod_parentesco_rf_pessoa cod_ano_serie_frequentou_memb cod_concluiu_frequentou_memb ///
 +
cod_raca_cor_pessoa using ///
 +
"Q:\data\2-Cadastro\Original\cadastro_2019_pessoas_raw.dta", clear
 +
 +
g yob = substr(dta_nasc_pessoa,1,4)
 +
 +
destring yob,replace
 +
 +
g potential_child = (yob>=2015&yob<=2017)
 +
 +
bys cod_familiar_fam: gegen fam_potential_child = max(potential_child)
 +
keep if fam_potential_child == 1 //& fam_potential_mother_cp5 == 1
 +
 +
foreach var in nom_pessoa  {
 +
replace `var' = subinstr(`var', " DA ", " ", .)
 +
replace `var' = subinstr(`var', " DOS ", " ", .)
 +
replace `var' = subinstr(`var', " DE ", " ", .)
 +
replace `var' = subinstr(`var', " DO ", " ", .)
 +
replace `var' = subinstr(`var', " DAS ", " ", .)
 +
replace `var' = subinstr(`var', "Y", "I", .)
 +
replace `var' = subinstr(`var', "H", "", .)
 +
replace `var' = subinstr(`var', "Z", "S", .)
 +
replace `var' = subinstr(`var', "TT", "T", .)
 +
replace `var' = subinstr(`var', "LL", "L", .)
 +
replace `var' = subinstr(`var', "W", "V", .)
 +
replace `var' = subinstr(`var', "NN", "N", .)
 +
replace `var' = subinstr(`var', "SS", "S", .)
 +
 +
 +
 +
}
 +
tempfile clean_name
 +
save `clean_name'
 +
restore
 +
 +
 +
merge 1:m cod_familiar_fam nom_pessoa using `clean_name', ///
 +
keepus(num_nis_pessoa_atual  dta_nasc_pessoa cod_sexo_pessoa ///
 +
cod_ibge_munic_nasc_pessoa sig_uf_munic_nasc_pessoa  ///
 +
nom_escola_memb cod_escola_local_memb cod_censo_inep_memb cod_curso_frequenta_memb cod_curso_freq_pessoa_memb ///
 +
val_remuner_emprego_memb cod_parentesco_rf_pessoa cod_ano_serie_frequentou_memb cod_concluiu_frequentou_memb ///
 +
cod_raca_cor_pessoa )
 +
 +
drop if _merge==2
 +
order cod_familiar_fam nom_pessoa cod_parentesco_rf_pessoa mother
 +
 +
sort cod_familiar_fam cod_parentesco_rf_pessoa
 +
 +
 +
g yob = substr(dta_nasc_pessoa,1,4)
 +
destring yob,replace
 +
 +
 +
//bys cod_familiar_fam: egen aux_yob1 = min(yob_child1)
 +
//gen aux_other_women = cod_sexo_pessoa == 2 & (aux_yob1-yob>10)  & mother==.
 +
//replace aux_other_women = 1 if n_mother>1
 +
 +
//bys cod_familiar_fam: egen other_women = max(aux_other_women)
 +
 +
drop _merge
 +
 +
gen pis = string(num_nis_pessoa_atual, "%18.0g")
 +
egen mother_id = group(pis)
 +
 +
keep if mother==1
 +
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", replace
 +
 +
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", clear
 +
 +
drop mother_id cod_censo_inep_child* cod_curso_frequenta_child*
 +
 +
gen mother_id = _n
 +
reshape long dta_nasc_child cod_ibge_munic_nasc_child nom_completo_pai_pessoa, i(mother_id) j(child_number)
 +
 +
drop if dta_nasc_child == ""
 +
 +
replace cod_ibge_munic_nasc_child = floor(cod_ibge_munic_nasc_child/10)
 +
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child_long.dta", replace
 +
 +
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\anomaly_births.dta"
 +
rename mun cod_ibge_munic_nasc_pessoa
 +
rename dtnasc dta_nasc_pessoa
 +
rename nasc_mae dta_nasc_pessoa_mae
 +
drop  cod_anomaly
 +
drop esc_mae raca_mae
 +
duplicates tag dta_nasc_pessoa dta_nasc_pessoa_mae cod_ibge_munic_nasc_pessoa, gen(tag)
 +
 +
drop if tag>0 //keeping only the child that are uniquely identified (dropped 4 obs, 2 children)
 +
 +
rename  dta_nasc_pessoa dta_nasc_child
 +
rename dta_nasc_pessoa_mae dta_nasc_pessoa
 +
rename  cod_ibge_munic_nasc_pessoa cod_ibge_munic_nasc_child
 +
 +
 +
merge 1:m  dta_nasc_child dta_nasc_pessoa cod_ibge_munic_nasc_child using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child_long.dta"
 +
 +
keep if _merge ==3 |_merge==1
 +
//there are a few children associated with the same mother dta_nasc_child dta_nasc_pessoa cod_ibge_munic_nasc_child
 +
 +
 +
gen uf = floor(cod_ibge_munic_nasc_child/10000)
 +
 +
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", replace
 +
export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.csv", replace
 +
 +
 +
 +
 +
*--------------------------------
 +
* Find control
 +
*--------------------------------
 +
 +
use if _merge == 3 using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", clear
 +
 +
 +
drop _merge
 +
 +
gen byte EM = inlist(cod_curso_freq_pessoa_memb,8, 9, 12, 13) if cod_curso_freq_pessoa_memb !=.
 +
drop if EM==.
 +
cap drop yob_child
 +
gen yob_child =  substr(dta_nasc_child, 1,4)
 +
cap drop month_birth_child
 +
gen month_birth_child = substr(dta_nasc_child, 6,2)
 +
cap drop yob_mae
 +
gen yob_mae =  substr(dta_nasc_child, 1,4)
 +
destring yob_mae yob_child month_birth_child, replace
 +
 +
 +
replace cod_ibge_munic_nasc_child = floor(cod_ibge_munic_nasc_pessoa/10) if cod_ibge_munic_nasc_pessoa>= 1000000
 +
codebook cod_ibge_munic_nasc_child
 +
bys cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM: keep if _n==1
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", replace
 +
 +
 +
keep cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM
 +
egen id_control_treat = group(cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM)
 +
count
 +
 +
save control_treat_characteristics, replace
 +
 +
preserve
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child_long.dta", clear
 +
gen byte EM = inlist(cod_curso_freq_pessoa_memb,8, 9, 12, 13) if cod_curso_freq_pessoa_memb !=.
 +
 +
fmerge m:1 cod_familiar_fam using "Q:\data\2-Cadastro\Original\cadastro_2019_fam_raw.dta", keepus(cod_munic_ibge_fam) keep(match)
 +
 +
cap drop yob_child
 +
gen yob_child =  substr(dta_nasc_child, 1,4)
 +
cap drop month_birth_child
 +
gen month_birth_child = substr(dta_nasc_child, 6,2)
 +
cap drop yob_mae
 +
gen yob_mae =  substr(dta_nasc_child, 1,4)
 +
destring yob_mae yob_child month_birth_child, replace
 +
tempfile mother_child
 +
cap drop _merge
 +
 +
replace cod_ibge_munic_nasc_pessoa = floor(cod_ibge_munic_nasc_pessoa/10) if cod_ibge_munic_nasc_pessoa>= 1000000
 +
replace cod_ibge_munic_nasc_child = floor(cod_ibge_munic_nasc_pessoa/10) if cod_ibge_munic_nasc_pessoa>= 1000000
 +
codebook cod_ibge_munic_nasc_child
 +
 +
 +
save temp, replace
 +
restore
 +
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", clear
 +
cap drop _merge
 +
merge m:1 cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM using control_treat_characteristics
 +
//g T = 1
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", replace
 +
 +
use temp, clear
 +
g T = 0
 +
cap drop _merge
 +
merge m:1 cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM using control_treat_characteristics
 +
keep if _merge == 3
 +
 +
append using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta"
 +
 +
 +
cap drop number_obs
 +
bys id_control_treat T: gen number_obs = _N if _n == 1
 +
hist number_obs if T == 0
 +
 +
//Dropping controls with too many people
 +
set seed 120898739
 +
g rand = runiform()
 +
sort rand
 +
bys id_control_treat T: drop if _n>8 & T==0
 +
 +
 +
cap erase temp
 +
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control_all_anomalies.dta", replace
 +
/*
 +
*--------------------------------
 +
* Find father and Siblings
 +
*--------------------------------
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control.dta", clear
 +
 +
bys cod_familiar_fam: gen n_obs = _N
 +
drop if T==0 &  n_obs>= 2
 +
cap drop _merge
 +
 +
rename dta_nasc_pessoa dta_nasc_mae
 +
rename nom_pessoa nom_mae
 +
rename num_nis_pessoa_atual num_nis_mae
 +
 +
rename cod_parentesco_rf_pessoa cod_parentesco_rf_pessoa_mae
 +
rename cod_sexo_pessoa cod_sexo_mae
 +
rename cod_censo_inep_memb cod_censo_inep_mae
 +
rename cod_curso_frequenta_memb cod_curso_frequenta_mae
 +
 +
merge 1:m  cod_familiar_fam using "Q:\data\2-Cadastro\Original\cadastro_2019_pessoas_raw.dta", ///
 +
keepus(nom_pessoa dta_nasc_pessoa cod_parentesco_rf_pessoa cod_sexo_pessoa num_nis_pessoa_atual ///
 +
cod_censo_inep_memb cod_curso_frequenta_memb ind_frequenta_escola_memb) keep(match) nogen
 +
 +
 +
foreach var in nom_pessoa nom_completo_pai_pessoa {
 +
replace `var' = subinstr(`var', " DA ", " ", .)
 +
replace `var' = subinstr(`var', " DOS ", " ", .)
 +
replace `var' = subinstr(`var', " DE ", " ", .)
 +
replace `var' = subinstr(`var', " DO ", " ", .)
 +
replace `var' = subinstr(`var', " DAS ", " ", .)
 +
replace `var' = subinstr(`var', "Y", "I", .)
 +
replace `var' = subinstr(`var', "H", "", .)
 +
replace `var' = subinstr(`var', "Z", "S", .)
 +
replace `var' = subinstr(`var', "TT", "T", .)
 +
replace `var' = subinstr(`var', "LL", "L", .)
 +
replace `var' = subinstr(`var', "W", "V", .)
 +
replace `var' = subinstr(`var', "NN", "N", .)
 +
replace `var' = subinstr(`var', "SS", "S", .)
 +
 +
}
 +
cap drop father
 +
gen father = 0
 +
replace father = 1 if  nom_pessoa == nom_completo_pai_pessoa
 +
 +
bys cod_familiar_fam: egen sum_father = sum(father)
 +
bys cod_familiar_fam: gen max_father = sum_father[_N]
 +
 
 +
strdist nom_pessoa nom_completo_pai_pessoa if max_father == 0, gen(dist) max(5)
 +
 +
//bys cod_familiar_fam: egen min_dist = min(dist)
 +
 +
replace father = 1 if  dist<=3 /*& cod_parentesco_rf_pessoa==2&*/ cod_sexo_pessoa==1 & sum_father == 0
 +
//replace father = 1 if  dist<=3 /*& cod_parentesco_rf_pessoa==1&*/ cod_sexo_pessoa==1
 +
 +
g double nis_pai_aux = num_nis_pessoa_atual if father == 1
 +
bys cod_familiar_fam: egen double nis_pai = min(nis_pai_aux)
 +
 +
drop sum_father max_father
 +
bys cod_familiar_fam: egen sum_father = sum(father)
 +
bys cod_familiar_fam: gen max_father = sum_father[_N]
 +
 +
 +
gen yob_pessoa = substr(dta_nasc_pessoa, 1, 4)
 +
destring yob_pessoa, replace
 +
 +
gen sibling =  (cod_parentesco_rf_pessoa == 3 | cod_parentesco_rf_pessoa==5) & ///
 +
yob_pessoa>2002 & yob_pessoa<2015
 +
 +
gen  dta_nasc_pai = dta_nasc_pessoa if father==1
 +
gsort cod_familiar_fam -father
 +
bys cod_familiar_fam: replace dta_nasc_pai = dta_nasc_pai[1]
 +
 +
 +
preserve
 +
 +
keep cod_familiar_fam nis_pai sum_father dta_nasc_pai yob_pessoa
 +
tempfile nis_pai
 +
bys cod_familiar_fam nis_pai: keep if _n==1
 +
 +
save nis_pai, replace
 +
 +
restore
 +
 +
 +
preserve
 +
keep if sibling == 1
 +
keep cod_familiar_fam dta_nasc_pessoa cod_sexo_pessoa cod_censo_inep_memb ///
 +
cod_curso_frequenta_memb T cod_munic_ibge_fam ind_frequenta_escola_memb
 +
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\siblings.dta", replace
 +
export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\siblings.csv", replace
 +
 +
restore
 +
 +
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control.dta", clear
 +
 +
bys cod_familiar_fam: gen n = _N
 +
drop if T==0 & n >= 2
 +
cap drop _merge
 +
 +
rename dta_nasc_pessoa dta_nasc_mae
 +
rename nom_pessoa nom_mae
 +
rename num_nis_pessoa_atual nis_mae
 +
 +
rename cod_parentesco_rf_pessoa cod_parentesco_rf_pessoa_mae
 +
rename cod_sexo_pessoa cod_sexo_mae
 +
 +
merge 1:1 cod_familiar_fam using nis_pai
 +
 +
 +
 +
drop tag- n _merge nom_pessoa_child1- nom_pessoa_child10 yob_child10 idademae - day_mother
 +
save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control_pais.dta", replace
 +
 +
 +
*--------------------------------------------------
 +
* Export
 +
*--------------------------------------------------
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control_pais.dta", clear
 +
 +
format nis_pai %16.0g
 +
format nis_mae %16.0g
 +
 +
keep nis_mae nis_pai dta_nasc_child dta_nasc_mae dta_nasc_pai id_control_treat cod_familiar_fam T  dta_nasc_child cod_munic_ibge_fam
 +
 +
export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_mothers_fathers.csv", replace
 +
 +
 +
 +
use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\siblings.dta", clear
 +
export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\siblings.csv", replace

Edição das 16h01min de 21 de março de 2024

PACA é Deus.

Aliás, Deus tem uma conta no PACA.

Ver também


use cod_familiar_fam nom_pessoa dta_nasc_pessoa cod_parentesco_rf_pessoa /// nom_completo_mae_pessoa nom_completo_pai_pessoa cod_ibge_munic_nasc_pessoa /// cod_ibge_munic_nasc_pessoa cod_parentesco_rf_pessoa cod_sexo_pessoa /// cod_censo_inep_memb cod_curso_frequenta_memb /// using "Q:\data\2-Cadastro\Original\cadastro_2019_pessoas_raw.dta", clear


g yob = substr(dta_nasc_pessoa,1,4) destring yob,replace

g potential_child = (yob>=2015&yob<=2017)

bys cod_familiar_fam: gegen fam_potential_child = max(potential_child) keep if fam_potential_child == 1 //& fam_potential_mother_cp5 == 1


//g woman = cod_sexo_pessoa == 2

foreach var in nom_pessoa nom_completo_mae_pessoa { replace `var' = subinstr(`var', " DA ", " ", .) replace `var' = subinstr(`var', " DOS ", " ", .) replace `var' = subinstr(`var', " DE ", " ", .) replace `var' = subinstr(`var', " DO ", " ", .) replace `var' = subinstr(`var', " DAS ", " ", .) replace `var' = subinstr(`var', "Y", "I", .) replace `var' = subinstr(`var', "H", "", .) replace `var' = subinstr(`var', "Z", "S", .) replace `var' = subinstr(`var', "TT", "T", .) replace `var' = subinstr(`var', "LL", "L", .) replace `var' = subinstr(`var', "W", "V", .) replace `var' = subinstr(`var', "NN", "N", .) replace `var' = subinstr(`var', "SS", "S", .)

}


*-------------------------------------------- * Potential child, grandchild and mother *--------------------------------------------

*a. Find child in families where the child belongs to the HH or spouse //g potential_mother_cp3 = 0

//replace potential_child_cp3 = 1 if cod_parentesco_rf_pessoa ==3 //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5 //replace potential_mother_cp3 = 1 if (cod_parentesco_rf_pessoa ==1 | cod_parentesco_rf_pessoa ==2)&woman //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5

*b. Find grandchild in families where the child belongs to the child of the HH or in-law

//g potential_child_cp5 = 0 //g potential_mother_cp5 = 0

//replace potential_child_cp5 = 1 if cod_parentesco_rf_pessoa ==5 //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5 //replace potential_mother_cp5 = 1 if (cod_parentesco_rf_pessoa ==3 | cod_parentesco_rf_pessoa ==9)&woman //cod_parentesco_rf_pessoa >=3 & cod_parentesco_rf_pessoa<=5

//bys cod_familiar_fam: egen fam_potential_child_cp5 = max(potential_child_cp5)

//bys cod_familiar_fam: egen fam_potential_mother_cp3 = max(potential_mother_cp3) //bys cod_familiar_fam: egen fam_potential_mother_cp5 = max(potential_mother_cp5)

*-------------------------------------------- * Keep the potential child and keep the mother's name *--------------------------------------------

preserve keep if potential_child == 1 //& fam_potential_mother_cp5 == 1 //keep if (cod_parentesco_rf_pessoa==5) keep cod_familiar_fam cod_parentesco_rf_pessoa nom_completo_mae_pessoa /// nom_completo_pai_pessoa nom_pessoa yob dta_nasc_pessoa cod_ibge_munic_nasc_pessoa /// cod_censo_inep_memb cod_curso_frequenta_memb

rename nom_pessoa nom_pessoa_child rename nom_completo_mae_pessoa nom_pessoa rename dta_nasc_pessoa dta_nasc_child rename cod_ibge_munic_nasc_pessoa cod_ibge_munic_nasc_child rename cod_censo_inep_memb cod_censo_inep_child rename cod_curso_frequenta_memb cod_curso_frequenta_child

rename yob yob_child //rename cod_sexo_pessoa cod_sexo_child

drop if nom_pessoa == "" save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\potential_child.dta", replace restore

*-------------------------------------------- * Find the mother in the family *--------------------------------------------

preserve keep if fam_potential_child == 1 //& fam_potential_mother_cp5 == 1 //drop if potential_child == 1 //keep if ((cod_parentesco_rf_pessoa == 3| cod_parentesco_rf_pessoa==9)&woman) keep cod_familiar_fam cod_parentesco_rf_pessoa nom_pessoa // dta_nasc_pessoa num_nis_pessoa_atual //rename dta_nasc_pessoa dta_nasc_mae //rename num_nis_pessoa_atual num_nis_pessoa_mae

duplicates tag cod_familiar_fam nom_pessoa, gen(tag) drop if tag>=1 //1 case only drop tag

merge 1:m cod_familiar_fam nom_pessoa /// using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\potential_child.dta" keep if _merge==3 save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", replace

restore


*-------------------------------------------- * Get mothers and family's characteristics *--------------------------------------------

clear

use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", clear

sort cod_familiar_fam nom_pessoa yob_child bys cod_familiar_fam nom_pessoa: gen n_children = _n

drop _merge reshape wide /// yob_child nom_pessoa_child nom_completo_pai_pessoa dta_nasc_child cod_ibge_munic_nasc_child /// cod_censo_inep_child cod_curso_frequenta_child, /// i(cod_familiar_fam nom_pessoa) j(n_children)

gen byte mother = 1

preserve use cod_familiar_fam num_nis_pessoa_atual nom_pessoa dta_nasc_pessoa cod_sexo_pessoa /// cod_ibge_munic_nasc_pessoa sig_uf_munic_nasc_pessoa /// nom_escola_memb cod_escola_local_memb cod_censo_inep_memb cod_curso_frequenta_memb cod_curso_freq_pessoa_memb /// val_remuner_emprego_memb cod_parentesco_rf_pessoa cod_ano_serie_frequentou_memb cod_concluiu_frequentou_memb /// cod_raca_cor_pessoa using /// "Q:\data\2-Cadastro\Original\cadastro_2019_pessoas_raw.dta", clear

g yob = substr(dta_nasc_pessoa,1,4)

destring yob,replace

g potential_child = (yob>=2015&yob<=2017)

bys cod_familiar_fam: gegen fam_potential_child = max(potential_child) keep if fam_potential_child == 1 //& fam_potential_mother_cp5 == 1

foreach var in nom_pessoa { replace `var' = subinstr(`var', " DA ", " ", .) replace `var' = subinstr(`var', " DOS ", " ", .) replace `var' = subinstr(`var', " DE ", " ", .) replace `var' = subinstr(`var', " DO ", " ", .) replace `var' = subinstr(`var', " DAS ", " ", .) replace `var' = subinstr(`var', "Y", "I", .) replace `var' = subinstr(`var', "H", "", .) replace `var' = subinstr(`var', "Z", "S", .) replace `var' = subinstr(`var', "TT", "T", .) replace `var' = subinstr(`var', "LL", "L", .) replace `var' = subinstr(`var', "W", "V", .) replace `var' = subinstr(`var', "NN", "N", .) replace `var' = subinstr(`var', "SS", "S", .)


} tempfile clean_name save `clean_name' restore


merge 1:m cod_familiar_fam nom_pessoa using `clean_name', /// keepus(num_nis_pessoa_atual dta_nasc_pessoa cod_sexo_pessoa /// cod_ibge_munic_nasc_pessoa sig_uf_munic_nasc_pessoa /// nom_escola_memb cod_escola_local_memb cod_censo_inep_memb cod_curso_frequenta_memb cod_curso_freq_pessoa_memb /// val_remuner_emprego_memb cod_parentesco_rf_pessoa cod_ano_serie_frequentou_memb cod_concluiu_frequentou_memb /// cod_raca_cor_pessoa )

drop if _merge==2 order cod_familiar_fam nom_pessoa cod_parentesco_rf_pessoa mother

sort cod_familiar_fam cod_parentesco_rf_pessoa


g yob = substr(dta_nasc_pessoa,1,4) destring yob,replace


//bys cod_familiar_fam: egen aux_yob1 = min(yob_child1) //gen aux_other_women = cod_sexo_pessoa == 2 & (aux_yob1-yob>10) & mother==. //replace aux_other_women = 1 if n_mother>1

//bys cod_familiar_fam: egen other_women = max(aux_other_women)

drop _merge

gen pis = string(num_nis_pessoa_atual, "%18.0g") egen mother_id = group(pis)

keep if mother==1

save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", replace


use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child.dta", clear

drop mother_id cod_censo_inep_child* cod_curso_frequenta_child*

gen mother_id = _n reshape long dta_nasc_child cod_ibge_munic_nasc_child nom_completo_pai_pessoa, i(mother_id) j(child_number)

drop if dta_nasc_child == ""

replace cod_ibge_munic_nasc_child = floor(cod_ibge_munic_nasc_child/10)

save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child_long.dta", replace


use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\anomaly_births.dta" rename mun cod_ibge_munic_nasc_pessoa rename dtnasc dta_nasc_pessoa rename nasc_mae dta_nasc_pessoa_mae drop cod_anomaly drop esc_mae raca_mae duplicates tag dta_nasc_pessoa dta_nasc_pessoa_mae cod_ibge_munic_nasc_pessoa, gen(tag)

drop if tag>0 //keeping only the child that are uniquely identified (dropped 4 obs, 2 children)

rename dta_nasc_pessoa dta_nasc_child rename dta_nasc_pessoa_mae dta_nasc_pessoa rename cod_ibge_munic_nasc_pessoa cod_ibge_munic_nasc_child


merge 1:m dta_nasc_child dta_nasc_pessoa cod_ibge_munic_nasc_child using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child_long.dta"

keep if _merge ==3 |_merge==1 //there are a few children associated with the same mother dta_nasc_child dta_nasc_pessoa cod_ibge_munic_nasc_child


gen uf = floor(cod_ibge_munic_nasc_child/10000)


save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", replace export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.csv", replace



*-------------------------------- * Find control *--------------------------------

use if _merge == 3 using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", clear


drop _merge

gen byte EM = inlist(cod_curso_freq_pessoa_memb,8, 9, 12, 13) if cod_curso_freq_pessoa_memb !=. drop if EM==. cap drop yob_child gen yob_child = substr(dta_nasc_child, 1,4) cap drop month_birth_child gen month_birth_child = substr(dta_nasc_child, 6,2) cap drop yob_mae gen yob_mae = substr(dta_nasc_child, 1,4) destring yob_mae yob_child month_birth_child, replace


replace cod_ibge_munic_nasc_child = floor(cod_ibge_munic_nasc_pessoa/10) if cod_ibge_munic_nasc_pessoa>= 1000000 codebook cod_ibge_munic_nasc_child bys cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM: keep if _n==1 save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", replace


keep cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM egen id_control_treat = group(cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM) count

save control_treat_characteristics, replace

preserve use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\mother_child_long.dta", clear gen byte EM = inlist(cod_curso_freq_pessoa_memb,8, 9, 12, 13) if cod_curso_freq_pessoa_memb !=.

fmerge m:1 cod_familiar_fam using "Q:\data\2-Cadastro\Original\cadastro_2019_fam_raw.dta", keepus(cod_munic_ibge_fam) keep(match)

cap drop yob_child gen yob_child = substr(dta_nasc_child, 1,4) cap drop month_birth_child gen month_birth_child = substr(dta_nasc_child, 6,2) cap drop yob_mae gen yob_mae = substr(dta_nasc_child, 1,4) destring yob_mae yob_child month_birth_child, replace tempfile mother_child cap drop _merge

replace cod_ibge_munic_nasc_pessoa = floor(cod_ibge_munic_nasc_pessoa/10) if cod_ibge_munic_nasc_pessoa>= 1000000 replace cod_ibge_munic_nasc_child = floor(cod_ibge_munic_nasc_pessoa/10) if cod_ibge_munic_nasc_pessoa>= 1000000 codebook cod_ibge_munic_nasc_child


save temp, replace restore


use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", clear cap drop _merge merge m:1 cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM using control_treat_characteristics //g T = 1 save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta", replace

use temp, clear g T = 0 cap drop _merge merge m:1 cod_ibge_munic_nasc_child yob_child month_birth_child yob_mae EM using control_treat_characteristics keep if _merge == 3

append using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_treated_mothers_all_anomalies.dta"


cap drop number_obs bys id_control_treat T: gen number_obs = _N if _n == 1 hist number_obs if T == 0

//Dropping controls with too many people set seed 120898739 g rand = runiform() sort rand bys id_control_treat T: drop if _n>8 & T==0


cap erase temp

save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control_all_anomalies.dta", replace /* *-------------------------------- * Find father and Siblings *--------------------------------

use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control.dta", clear

bys cod_familiar_fam: gen n_obs = _N drop if T==0 & n_obs>= 2 cap drop _merge

rename dta_nasc_pessoa dta_nasc_mae rename nom_pessoa nom_mae rename num_nis_pessoa_atual num_nis_mae

rename cod_parentesco_rf_pessoa cod_parentesco_rf_pessoa_mae rename cod_sexo_pessoa cod_sexo_mae rename cod_censo_inep_memb cod_censo_inep_mae rename cod_curso_frequenta_memb cod_curso_frequenta_mae

merge 1:m cod_familiar_fam using "Q:\data\2-Cadastro\Original\cadastro_2019_pessoas_raw.dta", /// keepus(nom_pessoa dta_nasc_pessoa cod_parentesco_rf_pessoa cod_sexo_pessoa num_nis_pessoa_atual /// cod_censo_inep_memb cod_curso_frequenta_memb ind_frequenta_escola_memb) keep(match) nogen


foreach var in nom_pessoa nom_completo_pai_pessoa { replace `var' = subinstr(`var', " DA ", " ", .) replace `var' = subinstr(`var', " DOS ", " ", .) replace `var' = subinstr(`var', " DE ", " ", .) replace `var' = subinstr(`var', " DO ", " ", .) replace `var' = subinstr(`var', " DAS ", " ", .) replace `var' = subinstr(`var', "Y", "I", .) replace `var' = subinstr(`var', "H", "", .) replace `var' = subinstr(`var', "Z", "S", .) replace `var' = subinstr(`var', "TT", "T", .) replace `var' = subinstr(`var', "LL", "L", .) replace `var' = subinstr(`var', "W", "V", .) replace `var' = subinstr(`var', "NN", "N", .) replace `var' = subinstr(`var', "SS", "S", .)

} cap drop father gen father = 0 replace father = 1 if nom_pessoa == nom_completo_pai_pessoa

bys cod_familiar_fam: egen sum_father = sum(father) bys cod_familiar_fam: gen max_father = sum_father[_N]

strdist nom_pessoa nom_completo_pai_pessoa if max_father == 0, gen(dist) max(5)

//bys cod_familiar_fam: egen min_dist = min(dist)

replace father = 1 if dist<=3 /*& cod_parentesco_rf_pessoa==2&*/ cod_sexo_pessoa==1 & sum_father == 0 //replace father = 1 if dist<=3 /*& cod_parentesco_rf_pessoa==1&*/ cod_sexo_pessoa==1

g double nis_pai_aux = num_nis_pessoa_atual if father == 1 bys cod_familiar_fam: egen double nis_pai = min(nis_pai_aux)

drop sum_father max_father bys cod_familiar_fam: egen sum_father = sum(father) bys cod_familiar_fam: gen max_father = sum_father[_N]


gen yob_pessoa = substr(dta_nasc_pessoa, 1, 4) destring yob_pessoa, replace

gen sibling = (cod_parentesco_rf_pessoa == 3 | cod_parentesco_rf_pessoa==5) & /// yob_pessoa>2002 & yob_pessoa<2015

gen dta_nasc_pai = dta_nasc_pessoa if father==1 gsort cod_familiar_fam -father bys cod_familiar_fam: replace dta_nasc_pai = dta_nasc_pai[1]


preserve

keep cod_familiar_fam nis_pai sum_father dta_nasc_pai yob_pessoa tempfile nis_pai bys cod_familiar_fam nis_pai: keep if _n==1

save nis_pai, replace

restore


preserve keep if sibling == 1 keep cod_familiar_fam dta_nasc_pessoa cod_sexo_pessoa cod_censo_inep_memb /// cod_curso_frequenta_memb T cod_munic_ibge_fam ind_frequenta_escola_memb

save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\siblings.dta", replace export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\siblings.csv", replace

restore


use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control.dta", clear

bys cod_familiar_fam: gen n = _N drop if T==0 & n >= 2 cap drop _merge

rename dta_nasc_pessoa dta_nasc_mae rename nom_pessoa nom_mae rename num_nis_pessoa_atual nis_mae

rename cod_parentesco_rf_pessoa cod_parentesco_rf_pessoa_mae rename cod_sexo_pessoa cod_sexo_mae

merge 1:1 cod_familiar_fam using nis_pai


drop tag- n _merge nom_pessoa_child1- nom_pessoa_child10 yob_child10 idademae - day_mother save "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control_pais.dta", replace


*-------------------------------------------------- * Export *--------------------------------------------------

use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\treated_control_pais.dta", clear

format nis_pai %16.0g format nis_mae %16.0g

keep nis_mae nis_pai dta_nasc_child dta_nasc_mae dta_nasc_pai id_control_treat cod_familiar_fam T dta_nasc_child cod_munic_ibge_fam

export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\NIS_mothers_fathers.csv", replace


use "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Clean\siblings.dta", clear export delimited using "Q:\project\11-PBF and Prova 2019\old_code\zika\Data\Intermediate\siblings.csv", replace