cd "C:\Users\INTVOIL_N_NAVARRE\Desktop\STATA\EDP_EDP_2017" global tables "C:\Users\INTVOIL_N_NAVARRE\Desktop\STATA\Tables" global graph "C:\Users\INTVOIL_N_NAVARRE\Desktop\STATA\Graphs" global graphexp "C:\Users\INTVOIL_N_NAVARRE\Desktop\STATA\Graphs_exp" ///////////// Individual data use "Raw data\edp_be2017_individu.dta", clear * Year of birth gen NAIA=substr(nai_date,1,4) gen NAIA_month=substr(nai_date,6,2) destring NAIA NAIA_month, replace * Gender gen female=(sexe=="F") * deaths // gen dead=(dec_date!="") gen yearofdead=substr(dec_date,1,4) destring yearofdead, replace * Check fathers place of birth gen misplacebirthfather=(pere_lieu_nais_depcom=="") *keep variables keep id_diff nai_lieu NAIA NAIA_month female pere_lieu_nais_depcom yearofdead save "Clean data\mainindiv", replace ///////////// Census data 1999 use "Raw data\edp_be2017_rp1999.dta", clear * check fathers nationality gen npfcode=substr(npf_99,1,2) gen npmcode=substr(nmf_99,1,2) destring npfcode npmcode csmf_99, replace gen muslim=(inlist(npfcode,21,22,23)|npf_99=="33P") // missing is french gen french=(npf_99=="") *departement of birth egen DNAI=group(dn99), missing * born in france gen bornfrance=(rn_99!="") destring rn_99, replace *NATPER egen NATPER=group(npf_99), missing * skilled father gen firstdigitcspf_99=substr(cspf_99,1,1) destring firstdigitcspf_99 cspf_99, replace gen skilledfather=1 if inlist(firstdigitcspf_99,2,3,4) | inlist(cspf_99,72,74,75) replace skilledfather=0 if inlist(firstdigitcspf_99,1,5,6) | inlist(cspf_99,71,77,78,81,82,84,85,86) * keep vars keep id_diff muslim* french DNAI bornfrance* skilledfather NATPER an99 an_99 npfcode npmcode npf_99 nmf_99 * drop duplicates duplicates drop duplicates tag id_diff, gen(drop) drop if drop>0 save "Clean data\census99", replace ///////////// EAR forvalues i=2004/2017 { use "Raw data\edp_be2017_ear`i'_individu.dta", clear keep if id_diff!="" *gen bac or more destring dipl, replace force gen YE_`i'=. if `i'<2015 { gen bacormore_`i'=(dipl>=15) if dipl!=. replace YE_`i'=0 if dipl<12 replace YE_`i'=1 if dipl==12 replace YE_`i'=2 if inlist(dipl,13,14) replace YE_`i'=3 if inlist(dipl,15,16) replace YE_`i'=4 if inlist(dipl,17) replace YE_`i'=5 if inlist(dipl,18) } if `i'>=2015 { gen bacormore_`i'=(dipl>=14) if dipl!=. replace YE_`i'=0 if dipl<12 replace YE_`i'=1 if dipl==12 replace YE_`i'=2 if inlist(dipl,13) replace YE_`i'=3 if inlist(dipl,14,15) replace YE_`i'=4 if inlist(dipl,16) replace YE_`i'=5 if inlist(dipl,17,18,19) } * region of residence destring reg_code, replace gen live_mainland_`i'=(reg_code>9®_code!=.) *rename weigths rename poids_ea newpoids_ea_`i' if `i'>=2009 { rename poids_panel_5 newpoids_panel_5_`i' } *Arrnage and keep vars tostring id_diff, replace destring bacormore_`i', replace keep id_diff bacormore_`i' live_mainland_`i' bacgenormore_`i' dipl newpoids* YE_`i' * drop duplicates duplicates drop duplicates tag id_diff, gen(drop) drop if drop>0 unique id_diff *save dataset save "Clean data\ear_`i'", replace } ///////////// put all together use "Clean data\mainindiv", clear destring NAIA, replace merge 1:1 id_diff using "Clean data\census99" destring an99 an_99, replace gen svy=. gen bacorhigherdegree=. gen age=. gen mainland=. gen years_educ=. local age=21 global cond_merge "((bacorhigherdegree==.&bacormore_`i'!=.) | (bacorhigherdegree==0&bacormore_`i'==1))" // add ear forvalues i=2004/2017 { merge 1:1 id_diff using "Clean data\ear_`i'", nogen replace svy=`i' if `i'-NAIA>=`age' & $cond_merge & yearofdead>=`i' replace bacorhigherdegree=bacormore_`i' if svy==`i' replace age=`i'-NAIA if svy==`i' replace mainland=live_mainland_`i' if svy==`i' replace years_educ=YE_`i' if svy==`i' drop bacormore_`i' live_mainland_`i' YE_`i' } // control panel 2 egen nat_cohort_dep=group(DNAI npfcode), missing global muslim muslim global ctrl "i.skilledfather i.DNAI i.svy dum_* i.npfcode" global clustergroup nat_cohort_dep local mincohort=71 local maxcohort=90 local age=21 /////////// Table G2 and Figures G1 and G2 foreach outcome of varlist bacorhigherdegree years_educ { global extr "_`outcome'" local replacel "replace" forvalues k=0/1 { local female=`k' preserve * keep sample destring female NAIA $muslim french bornfrance skilledfather svy, replace keep if female==`female' & (NAIA>=19`mincohort'&NAIA<=19`maxcohort') & ($muslim==1|french==1) & bornfrance==1 & age>=`age' & age!=. & mainland==1 * fill missing foreach var of varlist skilledfather DNAI svy npfcode { gen dum_`var'=(`var'==.) egen mean`var'=mean(`var') replace `var'=round(mean`var') if `var'==. drop mean`var' } * regression normal capture drop post* gen post=(NAIA>1979) if NAIA!=. reg `outcome' $muslim##post i.NAIA post $muslim $ctrl, vce(cluster $clustergroup) outreg2 using "$tables\Results_`mincohort'_`maxcohort'_a`age'_$muslim _2004$extr.xls", excel `replacel' keep(1.$muslim#1.post) addtext(Controls, YES, Dosage, NO, FEMALE, `k') local replacel "append" * regression dosage capture drop post* gen post=0 if (NAIA<=1979) replace post=0.25 if NAIA==1980 replace post=0.5 if NAIA==1981 replace post=0.75 if NAIA==1982 replace post=1 if NAIA>=1983 reg `outcome' $muslim##c.post i.NAIA post $muslim $ctrl, vce(cluster $clustergroup) outreg2 using "$tables\Results_`mincohort'_`maxcohort'_a`age'_$muslim _2004$extr.xls", excel `replacel' keep(1.$muslim#1.post) addtext(Controls, YES, Dosage, YES, FEMALE, `k') * year effects - controls reg `outcome' ib1979.NAIA##$muslim $ctrl, vce(cluster $clustergroup) coefplot, baselevels ci(95 myci) drop(*.NAIA 1.$muslim 0.$muslim _cons *skilledfather *.DNAI *.svy dum_* *.gnpf_99 *.npfcode) vertical nolabels yline(0, lcolor(gs3) lpattern(dash)) /// xline(9.5, lcolor(gs3) lpattern(dash)) coeflabel(,truncate(4) alternate) xtitle(Birth cohorts, size(medium) ) ytitle(Coefficients, size(medium)) xline(13.5, lcolor(gs3) lpattern(dash)) /// legend(pos(6) ring(1) row(1) order(1 "Coefficient" 2 "Confidence interval")) graph export "$graph\Coefplot_control_`mincohort'_`maxcohort'_female`female'_a`age'_$muslim _2004$extr.pdf", replace restore } } /////////// Table G1 local age=21 forvalue i=0/1 { local outcome bacorplus preserve gen bacorplus=bacorhigherdegree *sample keep if female==`i' & ($muslim==1|french==1) & bornfrance==1 & age>=`age' & age!=. & mainland==1 keep if (NAIA>=1971&NAIA<=1974) | (NAIA>=1987&NAIA<=1990) *matrix matrix `outcome'_pattern_female_`i'=0,0,0,0,0,0,0,0,0,0 local rname=`"~"' gen post=(NAIA>=1980) tab NAIA post *difference reg `outcome' $muslim##post, r local diff=_b[1.$muslim#1.post] local pval_diff=2 * (1-normal(abs(_b[1.$muslim#1.post ]/_se[1.$muslim#1.post]))) local se_dif=_se[1.$muslim#1.post] * value reg `outcome' i.$muslim if post==0, r matrix `outcome'_pattern_female_`i'=`outcome'_pattern_female_`i'\_b[_cons]+_b[1.$muslim], _se[1.$muslim], _b[_cons],_se[_cons],_b[1.$muslim],_se[1.$muslim ],2 * (1-normal(abs(_b[1.$muslim ]/_se[1.$muslim ]))),.,.,. local rname `" `rname' "1971-1974" "' reg `outcome' i.$muslim if post==1, r matrix `outcome'_pattern_female_`i'=`outcome'_pattern_female_`i'\_b[_cons]+_b[1.$muslim], _se[1.$muslim], _b[_cons],_se[_cons],_b[1.$muslim],_se[1.$muslim ], 2 * (1-normal(abs(_b[1.$muslim ]/_se[1.$muslim ]))), `diff',`se_dif',`pval_diff' local rname `" `rname' "1987-1990" "' *export matrix colnames `outcome'_pattern_female_`i'="Muslim (a)" "SE" "Non-Muslim (b)" "SE" "(a)-(b)" "SE" "(a-b) p-value" "diff across cohorts" "SE" "P-value of diff across cohorts" matrix rownames `outcome'_pattern_female_`i'=`rname' putexcel set "$tables/`outcome'_pattern_female_`i'_age`age'.xls", sheet("Sheet1") replace putexcel A1=matrix(`outcome'_pattern_female_`i'), names nformat(#.000) restore }