clear set mem 500m set matsize 800 set more off capture log close set logtype text set trace off #delimit; global path ~; log using $path/ui/logs/bn_weights.log, replace; *======================================================== Program: bn_weights.do Author: Kevin Stange Created: March 6, 2007 Modified: March 14, 2007 Purpose: Create weights from the BN_comparison data that will be merged onto the BAM_micro data so that we can use it as a representative sample of UI payment recipients in each year. . =========================================================; *======================================================== * Load the data *========================================================; use ~/ui/BN_DATA/datafiles/bn_comparison_clean, clear; *gen batchweek = substr(batch,5,2); *======================================================== * Generate frequency weights *========================================================; gen w_cm1 = round(uiweeks/cm1, 1); label var w_cm1 "Frequency weight - total"; gen w_cm7 = round(males/cm7, 1); label var w_cm7 "Frequency weight - men"; gen w_cm9 = round(females/cm9, 1); label var w_cm9 "Frequency weight - women"; gen w_cm11 = round(cm12/cm11, 1); label var w_cm11 "Frequency weight - missing sex"; gen w_cm13 = round(whites/cm13, 1); label var w_cm13 "Frequency weight - whites"; gen w_cm15 = round(blacks/cm15, 1); label var w_cm15 "Frequency weight - nonwhites"; gen w_cm17 = round(cm18/cm17, 1); label var w_cm17 "Frequency weight - missing race"; rename batch batchstr; gen batch = real(batchstr); save temp1.dta, replace; keep state batch w_*; sort state batch; save ~/ui/BN_DATA/datafiles/bn_weights.dta, replace; *======================================================== * Generate weighted sample totals using overall weight *========================================================; use temp1.dta, clear; gen cm1_ws = cm1*w_cm1; gen cm7_ws = cm7*w_cm1; gen cm9_ws = cm9*w_cm1; gen cm11_ws = cm11*w_cm1; gen cm13_ws = cm13*w_cm1; gen cm15_ws = cm15*w_cm1; gen cm17_ws = cm17*w_cm1; gen cm19_ws = cm19*w_cm1; gen cm21_ws = cm21*w_cm1; gen cm23_ws = cm23*w_cm1; gen cm25_ws = cm25*w_cm1; gen cm27_ws = cm27*w_cm1; gen cm29_ws = cm29*w_cm1; gen cm31_ws = cm31*w_cm1; gen cm33_ws = cm33*w_cm1; gen cm35_ws = cm35*w_cm1; gen cm37_ws = cm37*w_cm1; gen cm39_ws = cm39*w_cm1; gen cm41_ws = cm41*w_cm1; save temp2.dta, replace; *======================================================== * Collapse across states to generate series for US over time *========================================================; collapse (sum) cm1 uiweeks cm1_ws cm7 males cm7_ws cm9 females cm9_ws cm13* whites cm15* blacks cm17* cm18 cm19* cm21* cm23* cm25* cm27* cm29* age* cm31* cm33* cm35* cm37* cm39* cm41* dol* , by(batchyear batchweek); collapse (mean) cm1 uiweeks cm1_ws cm7 males cm7_ws cm9 females cm9_ws cm13* whites cm15* blacks cm17* cm18 cm19* cm21* cm23* cm25* cm27* cm29* age* cm31* cm33* cm35* cm37* cm39* cm41* dol* , by(batchyear); gen pfemale_ws = cm9_ws/cm1_ws; gen pfemale_pop = females/uiweeks; gen pwhite_ws = cm13_ws/cm1_ws; gen pwhite_pop = whites/uiweeks; gen page0_24_ws = cm19_ws/cm1_ws; gen page0_24_pop = age0_24/uiweeks; gen pdol201_ws = cm39_ws/cm1_ws; gen pdol201_pop = dol201/uiweeks; format p* %9.3f; save temp3.dta, replace; *======================================================== * Collapse by state to generate series for each state x year; *========================================================; use temp2.dta, clear; collapse (mean) cm1 uiweeks cm1_ws cm7 males cm7_ws cm9 females cm9_ws cm13* whites cm15* blacks cm17* cm18 cm19* cm21* cm23* cm25* cm27* cm29* age* cm31* cm33* cm35* cm37* cm39* cm41* dol* , by(state batchyear); gen pfemale_ws = cm9_ws/cm1_ws; gen pfemale_pop = females/uiweeks; gen pwhite_ws = cm13_ws/cm1_ws; gen pwhite_pop = whites/uiweeks; gen page0_24_ws = cm19_ws/cm1_ws; gen page0_24_pop = age0_24/uiweeks; gen pdol201_ws = cm39_ws/cm1_ws; gen pdol201_pop = dol201/uiweeks; format p* %9.3f; erase temp1.dta; erase temp2.dta; erase temp3.dta; log close;