// Open Allbus 2016
use "ZA5250_v2-0-0.dta", clear
// Prepare variables
recode hs01 (4 5 = 1 "Poor health") (3 2 1 = 0 "Good health") (-9 = .), gen(poorhealth)
label var poorhealth "Poor self-rated health"
recode sex (2 = 1 " Female") (1 = 0 " Male"), gen(female)
label var female "Female sex"
recode age (-32 = .)
label var age "Age"
recode isced97 (1 2 = 0 " Low") (3 4 = 1 " Medium") (5 6 = 2 " High") (-32 = .), gen(education)
label var education "Education"
// Fit model 1
eststo clear
eststo: qui logit poorhealth i.female i.education age
estadd expb
qui sum poorhealth
estadd scalar avg = r(mean) * 100
// Long table

esttab, cells(b(star fmt(2) label("B")) ///
se(par fmt(2) label("(SE B)")) ///
expb(par([ ]) label("[OR]"))) ///
stats(N avg chi2 df_m, fmt(%8.0gc %8.1f %8.1gc 0) ///
label("Observations" ///
"% poor health" ///
"Chi-squared" ///
"df")) ///
label varwidth(30) modelwidth(25) nonumber nomtitle varlabel(_cons "Intercept") ///
eqlabel(" ") ///
nobaselevel ///
refcat(1.female "Sex (ref. male)" 1.education "Education (ref. low)", nol) ///
addnote("* p<0.05, ** p<0.01, *** p<0.001") ///
title("Poor self-rated health regressed on sex, education, and age. Logistic model")
// Fit models 2
eststo clear
eststo: qui logit poorhealth i.education age if female == 0
qui estadd expb
qui sum poorhealth if female == 0
qui estadd scalar avg = r(mean) * 100
eststo: qui logit poorhealth age i.education if female == 1
qui estadd expb
qui sum poorhealth if female == 1
qui estadd scalar avg = r(mean) * 100
// Wide table

esttab, cell("b(fmt(2) label(B)) se(fmt(2) label(SE B)) expb(fmt(2) label(OR) star)") ///
stats(N avg chi2 df_m, fmt(%8.0gc %8.1f %8.1gc 0) ///
label("Observations" ///
"% poor health" ///
"Chi-squared" ///
"df")) ///
label varwidth(30) modelwidth(8) nonumber mtitle("Men" "Women") varlabel(_cons "Intercept") ///
eqlabel(" ") nobaselevels ///
refcat(1.education "Education (ref. low)", nol) ///
addnote("* p<0.05, ** p<0.01, *** p<0.001") ///
title("Poor self-rated health regressed on education and age, stratified by sex. Logistic model")