PACA

De Wikoleculares
Revisão de 16h01min de 21 de março de 2024 por SeuGeraldo (discussão | contribs) (Ver também)
Ir para navegação Ir para pesquisar

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