// Creates w_nemp_dv - Number in employment in household // INPUT FILE - w_indall.dta // OUTPUT FILE - w_nemp_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 "" // 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--------------*/ * Generating simple 'in work' indicator at individual level gen byte ${wave}working=(${wave}employ==1) if ${wave}age_dv>=16 & ${wave}age_dv<. * Aggregating to give number in work in household bysort ${wave}hidp: egen n_working=sum(${wave}working) * Replacing to be missing at household level if missing for any individuals in household bysort ${wave}hidp: egen ${wave}nemp_dv=min(n_working) lab var ${wave}nemp_dv "Number employed in the hh" fre ${wave}nemp_dv * Keeping only one observation per household preserve bysort ${wave}hidp: keep if _n==1 keep ${wave}hidp ${wave}nemp_dv sort ${wave}hidp lab dat "Number employed in the household, DV" save "${outpath}/${wave}nemp_dv.dta", replace restore }