This do-file creates Tables 2 (p. 61) and 3 (p. 63) in the SSR paper.
// Task: diff-in-diff models // Project: Chinese Famine & Self-rated Health ***************************************************************** *** 0. Program setup ***************************************************************** version 11.2 clear all macro drop _all set mem 1000m set linesize 80 set more off ***************************************************************** *** 1. Open data, drop unused cases, and global ***************************************************************** ************************************************** *** 1.1. open data and drop unused cases ************************************************** use "2014-02-24_clean10a_SocScienceRes_58notinfamine", clear keep if rural_newfm == 1 & fmparty < . drop if rural_b1f == 0 | rural_b1m == 0 replace province = 51 if province == 50 //chongqing in Sichuan around the famine period ************************************************** *** 1.2. global ************************************************** global health "FH" global by "by1955 by1956 by1957 by1958 by1959 by1960 by1961 by1962" global edr1by "edr11955 edr11956 edr11957 edr11958 edr11959 edr11960 edr11961 edr11962" ***************************************************************** *** 2. Diff-in-diff: health ***************************************************************** ************************************************** *** 2.1. models (Table 2) ************************************************** foreach var in $health { reg `var' pre famine edr1 preedr1 famineedr1 age i.province if male == 1, vce(cluster province) outreg2 using "MainEffects_health", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age i.province if male == 0, vce(cluster province) outreg2 using "MainEffects_health", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) } foreach var in $health { reg `var' pre famine edr1 preedr1 famineedr1 age i.province if group2 == 1, vce(cluster province) outreg2 using "MainEffects_health", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age if group2 == 2, vce(cluster province) outreg2 using "MainEffects_health", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age i.province if group2 == 3, vce(cluster province) outreg2 using "MainEffects_health", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age if group2 == 4, vce(cluster province) outreg2 using "MainEffects_health", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) } ************************************************** *** 2.2. tests ************************************************** reg FH pre famine edr1 preedr1 famineedr1 age ib11.province if group2 == 1 est store m5 reg FH pre famine edr1 preedr1 famineedr1 age if group2 == 2 est store m6 reg FH pre famine edr1 preedr1 famineedr1 age ib11.province if group2 == 3 est store m7 reg FH pre famine edr1 preedr1 famineedr1 age if group2 == 4 est store m8 foreach var in $health { suest m5 m6 m7 m8, vce(cluster province) test [m5_mean]famineedr1 = [m6_mean]famineedr1 = [m7_mean]famineedr1 = [m8_mean]famineedr1 test [m5_mean]famineedr1 - [m6_mean]famineedr1 = [m7_mean]famineedr1 - [m8_mean]famineedr1 // SES difference in men suest m5 m6, vce(cluster province) test [m5_mean]famineedr1 = [m6_mean]famineedr1 // SES difference in women suest m7 m8, vce(cluster province) test [m7_mean]famineedr1 = [m8_mean]famineedr1 } est clear ************************************************** *** 2.3. sensitivity: use birthyear (Appendix D) ************************************************** foreach var in $health { reg `var' $by edr1 $edr1by age i.province if group2 == 1, vce(cluster province) outreg2 using "MainEffects_health2", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' $by edr1 $edr1by age if group2 == 2, vce(cluster province) outreg2 using "MainEffects_health2", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' $by edr1 $edr1by age i.province if group2 == 3, vce(cluster province) outreg2 using "MainEffects_health2", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' $by edr1 $edr1by age if group2 == 4, vce(cluster province) outreg2 using "MainEffects_health2", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) } ********************************************************************** *** 3. Diff-in-diff: SES outcomes ********************************************************************** ************************************************** *** 3.1. models (Table 3) ************************************************** foreach var in edu lninc { reg `var' pre famine edr1 preedr1 famineedr1 age i.province if group2 == 1, vce(cluster province) outreg2 using "MainEffects_ses", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age if group2 == 2, vce(cluster province) outreg2 using "MainEffects_ses", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age i.province if group2 == 3, vce(cluster province) outreg2 using "MainEffects_ses", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) reg `var' pre famine edr1 preedr1 famineedr1 age if group2 == 4, vce(cluster province) outreg2 using "MainEffects_ses", excel bdec(3) alpha(0.001, 0.01, 0.05, 0.1) symbol(***, **, *, +) } ************************************************** *** 3.2. tests ************************************************** reg edu pre famine edr1 preedr1 famineedr1 age ib11.province if group2 == 1 est store m5 reg edu pre famine edr1 preedr1 famineedr1 age if group2 == 2 est store m6 reg edu pre famine edr1 preedr1 famineedr1 age ib11.province if group2 == 3 est store m7 reg edu pre famine edr1 preedr1 famineedr1 age if group2 == 4 est store m8 foreach var in edu lninc { suest m5 m6 m7 m8, vce(cluster province) test [m5_mean]famineedr1 = [m6_mean]famineedr1 = [m7_mean]famineedr1 = [m8_mean]famineedr1 test [m5_mean]famineedr1 - [m6_mean]famineedr1 = [m7_mean]famineedr1 - [m8_mean]famineedr1 // SES difference in men suest m5 m6, vce(cluster province) test [m5_mean]famineedr1 = [m6_mean]famineedr1 // SES difference in women suest m7 m8, vce(cluster province) test [m7_mean]famineedr1 = [m8_mean]famineedr1 } est clear