********************************************************************************
*
* Table 3: Where do the votes come from? Silver and gold parties
*
********************************************************************************
 
global program "Table3"

cap log close
cap log using "$log_files/log_$program$today", replace

clear all
set mem 2g
set more off
set matsize 11000
set scheme s1color

***************************
***** 1. PREPARE DATA *****
***************************

// Get data

use "$data/Data_County", clear

// Controls definition

global geog 		"railroad_dens ldist_capital ldist_largest county_lat county_lon" 
global demo 		"urban_dum perc_pop_dstr lpop_total perc_white perc_male21 perc_below21 perc_native perc_literate newsp_circ_elig" 
global demo_cont	"perc_pop_dstr lpop_total perc_white perc_male21 perc_below21 perc_native perc_literate newsp_circ_elig" 
global econ 		"perc_farm perc_manuf dlog_avbasket ldist_silver ldist_gold" 
global econ_cont	"perc_farm perc_manuf dlog_avbasket ldist_silver ldist_gold" 
global econ_p 		"perc_farm perc_manuf log_avbasket ldist_silver ldist_gold" 
global vote 		"lag_margin_pres_ttl" 			
global demo_add		"urban_dum lpop_total larea perc_white perc_below21 perc_native perc_literate newsp_circ_elig pop_male2144 pop_male4564 pop_male6599 perc_catholic perc_black"

****************************
***** 2. TABLE RESULTS *****
****************************

// Democratic (Column 1)

reghdfe dempop_pres_ttl speech lag_dem_pres_ttl lag_pop_pres_ttl	$demo $geog $econ if year==1896 & state_speech==1 & railroad_dum==1, cluster(district) a(state)  
estimates store cs_binary_con
qui sum dempop_pres_ttl if e(sample)
scalar mean_y=r(mean)
estadd scalar mean_y
qui sum speech if e(sample)
scalar mean_x=r(mean)
estadd scalar mean_x
test dlog_avbasket ldist_silver ldist_gold
return list
estadd scalar F_joint=r(F)
estadd scalar p_F_joint=r(p)

g sample=e(sample)

// National Prohibition (Column 2)

reghdfe natpro_pres_ttl speech lag_dem_pres_ttl lag_pop_pres_ttl	$demo $geog $econ if sample==1, cluster(district) a(state)  
estimates store cs_binary_natpro
qui sum natpro_pres_ttl if e(sample)
scalar mean_y=r(mean)
estadd scalar mean_y
qui sum speech if e(sample)
scalar mean_x=r(mean)
estadd scalar mean_x
test dlog_avbasket ldist_silver ldist_gold
return list
estadd scalar F_joint=r(F)
estadd scalar p_F_joint=r(p)

// Socialist Labor (Column 3)

reghdfe soclabor_pres_ttl speech lag_dem_pres_ttl lag_pop_pres_ttl	$demo $geog $econ if sample==1, cluster(district) a(state)  
estimates store cs_binary_soclabor
qui sum soclabor_pres_ttl if e(sample)
scalar mean_y=r(mean)
estadd scalar mean_y
qui sum speech if e(sample)
scalar mean_x=r(mean)
estadd scalar mean_x
test dlog_avbasket ldist_silver ldist_gold
return list
estadd scalar F_joint=r(F)
estadd scalar p_F_joint=r(p)

// Republican (Column 4)

reghdfe rep_pres_ttl speech lag_rep_pres_ttl $demo $geog $econ if sample==1, cluster(district) a(state)  

reghdfe rep_pres_ttl speech lag_dem_pres_ttl lag_pop_pres_ttl $demo $geog $econ if sample==1, cluster(district) a(state)  
estimates store cs_binary_rep
qui sum rep_pres_ttl if e(sample)
scalar mean_y=r(mean)
estadd scalar mean_y
qui sum speech if e(sample)
scalar mean_x=r(mean)
estadd scalar mean_x
test dlog_avbasket ldist_silver ldist_gold
return list
estadd scalar F_joint=r(F)
estadd scalar p_F_joint=r(p)

// National Democratic (Column 5)

reghdfe demeq_pres_ttl speech lag_dem_pres_ttl lag_pop_pres_ttl	$demo $geog $econ if sample==1, cluster(district) a(state)  
estimates store cs_binary_demeq
qui sum demeq_pres_ttl if e(sample)
scalar mean_y=r(mean)
estadd scalar mean_y
qui sum speech if e(sample)
scalar mean_x=r(mean)
estadd scalar mean_x
test dlog_avbasket ldist_silver ldist_gold
return list
estadd scalar F_joint=r(F)
estadd scalar p_F_joint=r(p)

// Prohibition (Column 6)

reghdfe prohi_pres_ttl speech lag_dem_pres_ttl lag_pop_pres_ttl	$demo $geog $econ if sample==1, cluster(district) a(state)  
estimates store cs_binary_prohi
qui sum prohi_pres_ttl if e(sample)
scalar mean_y=r(mean)
estadd scalar mean_y
qui sum speech if e(sample)
scalar mean_x=r(mean)
estadd scalar mean_x
test dlog_avbasket ldist_silver ldist_gold
return list
estadd scalar F_joint=r(F)
estadd scalar p_F_joint=r(p)

***************************
***** 3. EXPORT TABLE *****
***************************

// Fixed effects

estfe . cs_binary_*, labels(state "State FE")  
return list

// Table 

estout cs_binary_con cs_binary_natpro cs_binary_soclabor cs_binary_rep cs_binary_demeq cs_binary_prohi ///  
	using "$tables/$program.tex", replace style(tex) type label ///
	cells(b(fmt(%9.3f) star) se(par fmt(%9.3f)))  ///
	stats(mean_y mean_x N N_clust r2_a, lab("Mean dep. variable" "Mean exp. variable" "Observations" "Clusters" "Adjusted $ R^2 $") fmt(2 2 %9.0fc 0 2)) ///	 
	collabels(none) ///
	mlabels(, span none prefix(\multicolumn{@span}{c}{) suffix(})) ///
	msign(--) starlevels(* .1 ** .05 *** .01) ///
	keep(speech lag_dem_pres_ttl lag_pop_pres_ttl) /// 
	order(speech lag_dem_pres_ttl lag_pop_pres_ttl) ///  
	varlabels(speech "Speech (binary)" lag_dem_pres_ttl "[0.5em] Democratic vote (\%) in 1892" lag_pop_pres_ttl "[0.5em] Populist vote (\%) in 1892") ///
	title(\textit{Where do the votes come from? Silver and gold parties}) ///
	indicate("\\ Demographic controls = lpop_total" "Geographic controls = county_lat" "Economic controls = perc_farm" "State FE = 0.state", labels(Yes )) ///
	prehead("\begin{table}[t!]" ///
	"\begin{center}" ///
	"\begin{threeparttable}" ///
	"\begin{scriptsize}" ///
	"\caption{\textit{@title}}\label{$program}" ///
	"\begin{tabular*}{\columnwidth}{@{\extracolsep{\stretch{1}}}l*{@M}{c}@{}}" ///
	"\hline" "\hline" ///
	"&\multicolumn{1}{c}{(1)} &\multicolumn{1}{c}{(2)} &\multicolumn{1}{c}{(3)} &\multicolumn{1}{c}{(4)} &\multicolumn{1}{c}{(5)} &\multicolumn{1}{c}{(6)}\\" ///
	" &\multicolumn{3}{c}{Free silver in 1896}  &\multicolumn{3}{c}{Pro-gold in 1896} \\" ///
	" \cmidrule(lr){2-4} \cmidrule(lr){5-7}   " ///
	"\multicolumn{1}{l}{\textit{Dep. Variable}} &\multicolumn{1}{c}{Democratic}	&\multicolumn{1}{c}{National} &\multicolumn{1}{c}{Socialist} 	&\multicolumn{1}{c}{Republican}	&\multicolumn{1}{c}{National}  	&\multicolumn{1}{c}{Prohibition} 	\\" ///
	"&\multicolumn{1}{c}{}		&\multicolumn{1}{c}{Prohibition}  	&\multicolumn{1}{c}{Labor} 		&\multicolumn{1}{c}{} 		&\multicolumn{1}{c}{Democratic}  	&\multicolumn{1}{c}{} \\" ///
	"\hline") ///
	posthead("\\") ///
	prefoot("\hline") ///
	postfoot("\hline" "\hline" ///
	"\end{tabular*}" /// 
	"\end{scriptsize}" ///
	"\begin{tablenotes}[normal,flushleft]" ///
	"\begin{scriptsize}" ///
	"\item \emph{Notes}: OLS regressions. The unit of observation is a county. " ///
	"Demographic controls: Urban (binary), District population (\%),  Log population, White (\%), Male above 21 (\%), Native (\%). " ///
	"Geographic controls: Railroad density (km per sq. km), Distance to state capital (log), Distance to state largest city (log), Latitude, Longitude. " ///
	"Economic controls: Farmers (\%), Manufacture workers (\%), Number of newspapers over eligible voters, Crop value change (log), (log) Distances to silver and gold mines. " ///
	"All regressions include state fixed-effects. " ///
	"Standard errors clustered at the congressional district level in parentheses. " /// 
	"* significant at 10\%; ** at 5\%; *** at 1\%. " ///	
	"\end{scriptsize}" ///
	"\end{tablenotes}" ///
	"\end{threeparttable} " ///
	"\end{center}" ///
	"\end{table}") //	

cap log close
 
