#delimit ; capture clear; capture log close; set mem 50m; set matsize 500; set more off; capture log close; log using "draw_subsample.log", replace; global alpha 0.05; global crit1 = invnorm(1 - $alpha/2); global crit2 = invnorm(1 - $alpha); global instrument weekday2; global numsubs = 1000; global subsampsz = 50; use "F:\Projects\SwanGanz\rhc.dta"; /* Prepare data */; quietly {; gen yr_adm = year(sadmdte); gen mo_adm = month(sadmdte); gen dow_adm = dow(sadmdte); /* 0=Sunday, 1=Monday, 2=Tuesday...*/ gen male = (sex==1); gen white = (race==1); gen black = (race==2); gen othrace = (race==4); gen dow_adm0 = (dow_adm==0); gen dow_adm1 = (dow_adm==1); gen dow_adm2 = (dow_adm==2); gen dow_adm3 = (dow_adm==3); gen dow_adm4 = (dow_adm==4); gen dow_adm5 = (dow_adm==5); gen dow_adm6 = (dow_adm==6); gen cat11 = (cat1==1); gen cat12 = (cat1==2); gen cat13 = (cat1==3); gen cat14 = (cat1==4); gen cat15 = (cat1==5); gen cat16 = (cat1==6); gen cat17 = (cat1==7); gen cat18 = (cat1==8); gen cat19 = (cat1==9); gen cat24 = (cat2==4); gen cat25 = (cat2==5); gen cat26 = (cat2==6); gen cat27 = (cat2==7); gen cat28 = (cat2==8); gen cat29 = (cat2==9); gen ca0 = ca == 0; gen ca1 = ca == 1; gen ca2 = ca == 2; gen ninscla0 = ninsclas == 0; gen ninscla1 = ninsclas == 1; gen ninscla2 = ninsclas == 2; gen ninscla3 = ninsclas == 3; gen ninscla4 = ninsclas == 4; gen ninscla5 = ninsclas == 5; gen inc1 = income==1; gen inc2 = income==2; gen inc3 = income==3; gen inc4 = income==4; gen wkend1 = (dow_adm==0) + (dow_adm==6); gen wkend2 = (dow_adm==0) + (dow_adm==1) + (dow_adm==6); gen dday= dthdte-sadmdte; gen dth7 = (dday <= 7); replace dth30 = (dday <= 30); gen dth60 = (dday <= 60); gen dth90 = (dday <= 90); gen dth180 = (dday <= 180); }; keep wkend1 wkend2 swang dth7 dth30 dth60 dth90 dth180 cat11-cat19; keep if ((cat11==1) | (cat13==1) | (cat18==1) | (cat19==1)); gen weekday1 = 1-wkend1; gen weekday2 = 1-wkend2; gen subsampnum = .; save limited_data_all.dta, replace; /* Draw subsample */; capture program drop drawsamp; program define drawsamp; args samp; forval i = 1/$numsubs {; sample $subsampsz, count; replace subsampnum = `i'; capture append using sub_sample_`samp'.dta; save sub_sample_`samp'.dta, replace; use limited_data_`samp'.dta, clear; }; end; drawsamp all; for val i = 11/19 {; use limited_data_all.dta; keep if cat`i'==1; save limited_data_cat11.dta, replace; drawsamp cat`i'; };