// Creates w_nch02_dv - Number of children aged 0-2 in household // INPUT FILE - w_indall.dta // OUTPUT FILE - w_nch02_dv.dta // WRITE FILEPATH WHERE YOU HAVE DOWNLOADED THE DATA global in "" // WRITE FILEPATH WHERE YOU WOULD LIKE TO SAVE THE OUTPUT FILE global outpath "C" // 1 is for BHPS, 2 is for UKHLS global cohort "2" foreach w in a b c d e f g h i j k l { // INCLUDE WAVE LETTERS FOR THE WAVES NEEDED global wave "`w'_" global num=strpos("abcdefghijklmnopqrstuvwxyz","`w'") global dta "" global waveno=$num global inpath "${in}/bhps_w${num}" if $cohort==2 { global waveno=$num+18 global inpath "${in}/ukhls" } use "${inpath}/${wave}indall${dta}", clear /*-------------ORIGINAL CODE--------------*/ replace ${wave}age_dv=. if ${wave}age_dv<0 * Count number of children in the household for whom age is missing: bysort ${wave}hidp: egen ${wave}chagemiss =sum(${wave}age_dv==. & (inlist(${wave}ivfio,21,24,25,63,74))) bysort ${wave}hidp: egen ${wave}nch02_dv = sum(${wave}age_dv>=0 & ${wave}age_dv<=2) replace ${wave}nch02_dv=-9 if (${wave}chagemiss>=1 & ${wave}chagemiss~=.) lab var ${wave}nch02_dv "Number of children aged 0-2 in household" lab def ${wave}nch02_dv -9 "Missing or wild" 0 "None" lab val ${wave}nch02_dv ${wave}nch02_dv drop ${wave}chagemiss bysort ${wave}hidp: keep if _n==1 keep ${wave}hidp ${wave}nch02_dv save "${outpath}/${wave}nch02_dv", replace }