/* baseline_FMCS_POS.do 1/18/2006 This is a sample program that uses the FMCS_POS file (health_anal_dat) to estimate the baseline case of the paper for "Geographic Spillover of Unionism" by Thomas Holmes, Jan 2006 Estimate 1: The baseline estimate column 1, table 3 from paper. just south and hospitals and nursing homes. Estimate 2: Table 6, North sample Estimate 3: Table 6, West, less CA,WA,OR Estimate 4: Table 6, Pacific (CA,WA,OR) Estimate 5: Table 6, Contiguous US */ #delimit ; log using c:\a_datprg\proj\union\geo_spill\dat_public\baseline_FMCS_POS.log, replace; clear; set memory 1000m; set more off; program drop _all; use d:\a_data\proj\union\geo_spill\dat_public\fmcs_pos_dat; *Summarize Data; sum; drop if num_beds==0; /* deletes 31 observations */ drop if sttext=="UT"; /* no facilities are unionized in UT */ * Generate State Level variables; qui gen dum_south=0; qui replace dum_south=1 if (sttext=="TX") | (sttext=="LA") | (sttext=="AR") | (sttext=="MS") | (sttext=="TN") | (sttext=="AL") | (sttext=="FL") | (sttext=="GA") | (sttext=="SC") | (sttext=="NC") | (sttext=="VA"); qui gen dum_north=0; qui replace dum_north=1 if (sttext=="DE") | (sttext=="CT") | (sttext=="DC") | (sttext=="IL") | (sttext=="IN") | (sttext=="KY") | (sttext=="MO") | (sttext=="MN") | (sttext=="ME") | (sttext=="MD") | (sttext=="MA") | (sttext=="MI") | (sttext=="NH") | (sttext=="NJ") | (sttext=="NY") | (sttext=="OH") | (sttext=="PA") | (sttext=="RI") | (sttext=="WV") | (sttext=="VT") | (sttext=="WI"); qui gen dum_west2=0; qui replace dum_west2=1 if dum_north==0 & dum_south==0 & (sttext~="CA") & (sttext~="WA") & (sttext~="OR"); qui gen dum_pacific=0; qui replace dum_pacific=1 if (sttext=="CA") | (sttext=="OR") |( sttext=="WA"); * Location level variables; qui gen mine_shr=(ng_emp10+ng_emp11+ng_emp12)/ng_totemp60; qui gen steel_shr=ng_emp33/ng_totemp60; qui gen spillover=mine_shr+steel_shr; qui gen s_white_foreign=1-s_par_native; qui gen metro=1; qui replace metro=0 if (msacmsa=="9999") | ((msacmsa=="####") & (necma=="9999")); qui gen popden=.001*pop2000/land; qui replace pci=.001*pci; qui gen lnpci=ln(pci); * Estabslishment level variables; qui gen dum_forprofit=0; qui gen dum_nonprofit=0; qui gen dum_government=0; qui gen dum_type_missing=0; qui gen dum_hosp=0; *First take case of nursing homes; qui replace dum_forprofit=1 if (category ~="01") & ((type_control=="01") | (type_control=="02") | (type_control=="03")); qui replace dum_nonprofit=1 if (category ~="01") & ((type_control=="04") | (type_control=="05") | (type_control=="06")); qui replace dum_government=1 if (category ~="01") & ((type_control=="07") | (type_control=="08") | (type_control=="09") | (type_control=="10") | (type_control=="11") | (type_control=="12")); *Next take case of hospitals; qui replace dum_forprofit=1 if (category =="01") & (type_control=="04"); qui replace dum_nonprofit=1 if (category =="01") & ((type_control=="01") | (type_control=="02") | (type_control=="03")); qui replace dum_government=1 if (category =="01") & ((type_control=="05") | (type_control=="06") | (type_control=="07") | (type_control=="08") ); qui replace dum_type_missing=1 if type_control ==""; qui replace dum_hosp=1 if type=="HOSP";; qui gen ln_num_beds=ln(num_beds); qui gen ln_num_beds2=ln_num_beds^2; qui generate union = num_contracts>=1 if num_contracts<.; *Finally generate stcounty to use for clustering; gen stcounty = st+county; save d:\a_data\temp\t, replace; *Estimate 1: baseline estimate, just south, hospitals and nursing homes; use d:\a_data\temp\t, replace; keep if dum_south==1; tabulate sttext, generate(sttext); logit union spillover s_black s_white_foreign popden ln_num_beds ln_num_beds2 dum_forprofit dum_government dum_type_missing dum_hosp sttext2-sttext11 , robust cluster(stcounty); *Estimate 2: Table 6, North sample; use d:\a_data\temp\t, replace; keep if dum_north==1; tabulate sttext, generate(sttext); logit union spillover s_black s_white_foreign popden ln_num_beds ln_num_beds2 dum_forprofit dum_government dum_type_missing dum_hosp sttext2-sttext21 , robust cluster(stcounty); *Estimate 3: Table 6, West, less CA,WA,OR; use d:\a_data\temp\t, replace; keep if dum_west2==1; tabulate sttext, generate(sttext); logit union spillover s_black s_white_foreign popden ln_num_beds ln_num_beds2 dum_forprofit dum_government dum_type_missing dum_hosp sttext2-sttext13 , robust cluster(stcounty); *Estimate 4: Table 6, Pacific (CA,WA,OR); use d:\a_data\temp\t, replace; keep if dum_pacific==1; tabulate sttext, generate(sttext); logit union spillover s_black s_white_foreign popden ln_num_beds ln_num_beds2 dum_forprofit dum_government dum_type_missing dum_hosp sttext2-sttext3 , robust cluster(stcounty); *Estimate 5: Table 6, Contiguous US; use d:\a_data\temp\t, replace; tabulate sttext, generate(sttext); logit union spillover s_black s_white_foreign popden ln_num_beds ln_num_beds2 dum_forprofit dum_government dum_type_missing dum_hosp sttext2-sttext48 , robust cluster(stcounty); log close; #delimit cr