capture log close set more off global policy "file path where blood test policy file is located" global rawdata "file path where the raw CPS data are located" global output "file path where the results are to be saved" clear matrix clear set mem 800m log using "$output\TABLEs_7_A3_CODE.log", replace *Data labeled da`i'.dta are the raw CPS data downloaded from IPUMS May 5, 2009* forvalues i=1980(1)2008{ use "$rawdata\da`i'.dta" rename statefip state * Drop if state is California drop if state==6 * Drop if state is not identified drop if state==99 ** Create the marital status groups * married, divorced-widowed, or single-nevermarried * gen group = 3 //Single replace group = 1 if marst==1 | marst==2 |marst==3 //Married (1= spouse present, 2= spouse absent) or separated replace group = 4 if (marst==4 | marst==5) //Divorced or Widowed replace group = . if marst==9 gen mar = group==1 gen single = mar==0 /* CPS data has variables on age of youngest and oldest child */ *Limit observations to analysis sample-women between ages 19 and 24* drop if sex==1 keep if age>=19 & age<=24 /* kid variables */ gen maxage = eldch replace maxage = . if eldch==99 replace maxage = . if eldch>=18 replace maxage = . if eldch>age & eldch!=. gen min_age = yngch replace min_age = . if yngch==99 replace min_age = . if yngch>age & yngch!=. *Merge state blood test information sort year state merge year state using "$policy\blood_test_RR_sorted.dta" tab _merge drop if _merge==2 rename _merge merge_bloodfinal rename bldtest test *create race variables gen black = race==200 gen white = race==100 gen other = white~=1 & black~=1 *create ethnicity variable gen hispanic = hispan~=0 replace hispanic = . if hispan==901 replace hispanic = . if hispan==902 *create education variables gen less_hs = educrec<7 gen hs_grad = educrec==7 gen some_college = educrec==8 gen college = educrec==9 for X in any less_hs hs_grad some_college college: replace X = . if educrec==. | educrec==0 | educrec==99 gen hsplus = hs_grad==1|some_college==1|college==1 * create poverty variable // below 150 percent of poverty line gen poor = poverty!=23 replace poor = . if poverty==0 // n-a code cap drop time cap drop time2 gen time = year - 1980 gen time2 = time*time global x1 "age black hispanic other hsplus" global x2 "age black hispanic other" global x3 "age hsplus" keep test distance state year time time2 $x1 less_hs hs_grad hsplus mar single poor maxage min_age perwt hhwt group save "$rawdata\data`i'", replace } use "$rawdata\data1980", replace forvalues i=1981(1)2008{ cap append using "$rawdata\data`i'" } egen st_gp = group(state) keep if year>=1980 keep if year<=2008 compress save "$rawdata\rawdata.dta", replace xi i.state i.state*time i.state*time2 i.year ***************************** *** ALL MOMS 19-24 ********** ***************************** /* keep mothers with kids of any age */ keep if maxage!=. keep if min_age!=. /* All moms 19-24 */ reg mar test $x1 _I* [pweight=perwt], cluster(st_gp) outreg2 test $x1 using "$output\table7", replace dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24, mar) reg mar distance $x1 _I* [pweight=perwt], cluster(st_gp) outreg2 distance $x1 using "$output\tableA3", replace dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24, mar) /* All moms 19-24, black */ preserve keep if black== 1 reg mar test $x3 _I* [pweight=perwt], cluster(st_gp) outreg2 test $x3 using "$output\table7", append dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24 blk, mar) reg mar distance $x3 _I* [pweight=perwt], cluster(st_gp) outreg2 distance $x3 using "$output\tableA3", append dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24 blk, mar) restore /* All moms 19-24 w/ less than hs*/ preserve keep if less_hs == 1 reg mar test $x2 _I* [pweight=perwt], cluster(st_gp) outreg2 test $x2 using "$output\table7", append dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24 less than hs, mar) reg mar distance $x2 _I* [pweight=perwt], cluster(st_gp) outreg2 distance $x2 using "$output\tableA3", append dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24 less than hs, mar) restore /* All moms 19-24, poor-below 150% of poverty line */ preserve keep if poor ==1 reg mar test $x1 _I* [pweight=perwt], cluster(st_gp) outreg2 test $x1 using "$output\table7", append dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24 poor, mar) reg mar distance $x1 _I* [pweight=perwt], cluster(st_gp) outreg2 distance $x1 using "$output\tableA3", append dec(4) bdec(4) tdec(4) adjr2 ctitle(Moms 19-24 poor, mar) restore *mean value of dependent varaible* ***************************** *** ALL MOMS 19-24 ********** ***************************** use "$rawdata\rawdata.dta", clear keep if maxage!=. keep if min_age!=. keep if year<=2008 /* keep mothers with kids of any age */ keep if maxage!=. keep if min_age!=. /* All moms 19-24 */ keep if age<=24 preserve keep if hispanic!=. sum mar [aweight=perwt] if test!=. sum mar [aweight=perwt] if distance!=. restore /* All moms 19-24, black */ preserve keep if black== 1 sum mar [aweight=perwt] if test!=. sum mar [aweight=perwt] if distance!=. restore /* All moms 19-24 w/ less than hs*/ preserve keep if less_hs == 1 keep if hispanic!=. sum mar [aweight=perwt] if test!=. sum mar [aweight=perwt] if distance!=. restore /* All moms 19-24, poor-below 150% of poverty line */ preserve keep if poor ==1 keep if hispanic!=. sum mar [aweight=perwt] if test!=. sum mar [aweight=perwt] if distance!=. restore capture log close