use 2010_ah.dta
// Prepare variables
recode ahm2010_varhours (1 = 0 "Inflexible") (2 3 4 5 = 1 "Flexible"), gen(flexible)
label variable flexible "Flexible working hours"
decode country, gen(cntry)
gen female = (sex == 2) if !missing(sex)
// Set up loop for posting results
preserve
levelsof cntry, local(country)
tempname foo
tempname foo2
postfile `foo' str20 cntry sexdiffer lb ub using `foo2', replace
foreach x of local country {
// Estimate model
qui logit flexible i.female if cntry == "`x'"
// Predict probabilities, the r operator gives
// differences from the reference (base) level
qui capture margins r.female if cntry == "`x'", post
local differ = 100 * _b[r1vs0.female]
local differ_loci = 100 * (_b[r1vs0.female] + (1.96 * _se[r1vs0.female]))
local differ_hici = 100 * (_b[r1vs0.female] - (1.96 * _se[r1vs0.female]))
post `foo' ("`x'") (`differ') (`differ_loci') (`differ_hici')
}
postclose `foo'
// Plot results
use `foo2', clear
// Sort by size
egen order_ = rank(-sexdiffer), unique
labmask order_, value(cntry)
twoway (rcap sexdiffer sexdiffer order_, horizontal dsymbol(x)) ///
(rspike ub lb order_, horizontal ) , ///
xline(0) ylabel(1/30, val ang(h)) ///
ytitle("") ///
xtitle("Gender gap in flexible hours" "(Women minus men)") ///
xscale(alt) ///
legend(off) ///
name(by_sex, replace)
restore
Feb 20, 2017
Random graphs (94): Predicted probabilities and their differences
Labels:
EU Labor Force Survey,
labmask,
logit,
margins,
Random graphs,
twoway rcap,
twoway rspike
