* * This STATA DO file produces Tables for Besley and Kudamatsu (2006) * "Health and Democracy", American Economic Review, 96(2), pp.313-318. * For replication, make sure the following: * (1) The STATA data "cleandata_pap.dta" is saved under the directory specified in the third line. * (2) Outreg ADO file is installed into your STATA software. If not, type "search outreg" and click "sg97.3" to install. * Running this DO file produces three ASCII text files with columns separated with tab characters: * "table1pap.out", "table2pap.out", and "table3pap.out". * Each file corresponds to Table 1, 2, and 3 in Besley and Kudamatsu (2006). * For any inquiry, email Masayuki Kudamatsu at . * version 8.0 clear cd Z:\aea2006\ /* Change this where appropriate. */ capture log close log using tables_pap.log, replace set more off set memory 100m use "cleandata_pap.dta", clear *** 1. Table 1 *** local controls legor_uk legor_so legor_ge legor_sc western eca lac mena sa ssa ydum60-ydum102 ** 1.1 Column 1 ** reg lifeexp democstm4 `controls' , noconst cluster(ccode) outreg democstm4 using table1pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) addstat(Countries, e(N_clust)) adec(0) title("Table 1: Life Expectancy and Democracy", "Dependent Variable: Life Expectancy at Birth") br nonotes addnote("Robust standard errors clustered at country level are reported in brackets. The sample years are every five year from 1962 through 2002. For INCOME in 2002, we use the average income during 1998-2000. The data source for DEMOCRACY is POLITY IV except for column 7, in which Boix (2003)'s democracy dataset (available until 1994) is used instead. This drops observations in 1997 and 2002. Legal origin dummies include British, German, Scandinavian, and Socialist with French omitted. Region dummies include high-income OECD, former Soviet bloc, Latin America and the Caribbeans, Sub-Saharan Africa, Middle East and North Africa, and South Asia with East and Southeast Asia and Oceania (excluding Japan, Australia, and New Zealand, which are included in high-income OECD) omitted. The null for F-test is that coefficients on DEMOCRACY and the fraction of democratic years since 1958 are both zero. *** indicates 1% signifncance; ** 5%; and * 10%.") replace ** 1.2 Column 2: Controlling for income ** reg lifeexp democstm4 income income2 `controls' , noconst cluster(ccode) outreg democstm4 income income2 using table1pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) addstat(Countries, e(N_clust)) adec(0) br append ** 1.3 Column 3: Controlling for within-sample history ** reg lifeexp democstm4 income income2 democs56 `controls' , noconst cluster(ccode) test democstm4=0, notest test democs56=0, accumulate outreg democstm4 income income2 democs56 using table1pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) addstat(Countries, e(N_clust), F-test, r(F), p-value, r(p)) adec(0,3,3) br append *** 1.4 Column 4: Infant Mortality *** reg infmort democstm4 income income2 democs56 `controls', noconst cluster(ccode) test democstm4=democs56=0 outreg democstm4 income income2 democs56 using table1pap.out, ctitle(Infant Mortality) 3aster coefastr se bd(2) adjr2 rdec(3) br addstat(Countries, e(N_clust), F-test, r(F), p-value, r(p)) adec(0,3,3) append /* Sample mean */ sum infmort if e(sample)==1 **** 2. Table 2 *** ** 2.1 Column 1: Controlling for country fixed effects ** reg lifeexp democs56 income income2 ydum62 ydum67 ydum72 ydum77 ydum82 ydum87 ydum92 ydum97 ydum102 cdum* if democstm4~=., noconst robust /* "if democstm4~=." is needed because DEMOCS56 is not missing for colonies. */ outreg democs56 income income2 using table2pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) br replace /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 2.2 Column 2: Controlling for country fixed effects in the subsample of countries democratized only once and never autocratized ** reg lifeexp democs56 income income2 ydum62 ydum67 ydum72 ydum77 ydum82 ydum87 ydum92 ydum97 ydum102 cdum* if balanced==1, noconst robust outreg democs56 income income2 using table2pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) br append /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 2.3 Column 3: Controlling for pre-sample history ** /* Germany and Yemen excluded from the sample */ reg lifeexp democs56 income income2 democf0055 colonyf0055 `controls' if democstm4~=., noconst cluster(ccode) outreg democs56 income income2 democf0055 colonyf0055 using table2pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) addstat(Countries, e(N_clust)) adec(0) br append /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 2.4 Column 4: Controlling for Years of schooling over age 15 in 1960 ** reg lifeexp democs56 income income2 democf0055 colonyf0055 schooling60 `controls' if democstm4~=., noconst cluster(ccode) outreg democs56 income income2 democf0055 colonyf0055 schooling60 using table2pap.out, bd(2) 3aster coefastr se adjr2 rdec(3) addstat(Countries, e(N_clust)) adec(0) br append /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl *** 3. Table 3 **** ** 3.1 Column 1: Sanitation ** reg sanitation democs56 democf0055 colonyf0055 income income2 `controls' if democstm4~=. & (year==1990 | year==2002), noconst robust outreg democs56 democf0055 colonyf0055 using table3pap.out, ctitle(Sanitation) 3aster coefastr se bd(2) adjr2 rdec(3) br replace /* Sample mean */ sum sanitation if e(sample)==1 /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 3.2 Column 2: Clean Water ** reg water democs56 democf0055 colonyf0055 income income2 `controls' if democstm4~=. & (year==1990 | year==2002), noconst robust outreg democs56 democf0055 colonyf0055 using table3pap.out, ctitle(Clean Water) 3aster coefastr se bd(2) adjr2 rdec(3) br append /* Sample mean */ sum water if e(sample)==1 /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 3.3 Column 3: DPT Immunization ** reg meanimm_dpt ldemocs56 democf0055 colonyf0055 income income2 `controls' if democstm4~=. & (year==1985 | year==1990 | year==1995 | year==2000), noconst robust outreg ldemocs56 democf0055 colonyf0055 using table3pap.out, ctitle(DPT Immunization) 3aster coefastr se bd(2) adjr2 rdec(3) br append /* Sample mean */ sum meanimm_dpt if e(sample)==1 /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 3.4 Column 4: Measles Immunization ** reg meanimm_msl ldemocs56 democf0055 colonyf0055 income income2 `controls' if democstm4~=. & (year==1985 | year==1990 | year==1995 | year==2000), noconst robust outreg ldemocs56 democf0055 colonyf0055 using table3pap.out, ctitle(Measles Immunization) 3aster coefastr se bd(2) adjr2 rdec(3) br append /* Sample mean */ sum meanimm_msl if e(sample)==1 /* Count the number of countries in the sample */ egen smpl = max(e(sample)), by(ccode) tab code if smpl == 1 & year==1990 drop smpl ** 3.5 Column 5: Government Health Expenditures Per Capita ** reg meangovhexp ldemocs56 democf0055 colonyf0055 income income2 `controls' if democstm4~=. & year==2000, noconst robust outreg ldemocs56 democf0055 colonyf0055 using table3pap.out, ctitle(Government Health Expenditures per capita) 3aster coefastr se bd(2) adjr2 rdec(3) br append /* Sample mean */ sum meangovhexp if e(sample)==1 log close