******************************************************************************** *************************PUBLIC OPINION QUARTERLY******************************* ******************************************************************************** *****TORMOS & VERGE (2022): CHALLENGING THE GENDER GAP IN POLITICAL INTEREST**** ******************************************************************************** ********************https://doi.org/10.1093/poq/nfab070************************* ******************************************************************************** ******************************************************************************** ******************************DATA PREPARATION********************************** ******************************************************************************** use ceo1_2019, clear gen exp4=aleat_exp4 recode exp4(1=0)(2=1) label define exp4 0 "Control" 1 "Treated" label values exp4 *Enhancer effect of specific topics* gen exp_enhan=aleat_exp4 recode exp_enhan(1=0)(2=1) label define exp_enhan 0 "Control" 1 "Treated" label values exp_enhan *Suppressive effect* gen exp_supp=aleat_exp4 recode exp_supp(1=1)(2=0) label define exp_supp 0 "Control" 1 "Treated" label values exp_supp *Gender* gen sexe2=sexe recode sexe2(1=0)(2=1) label define sexe2 0 "Men" 1 "Women" label values sexe2 *Political efficacy* gen efi_pol1=v88 recode efi_pol1(1=0)(2=1)(98/99=.) label define efi_pol1 0 "Low" 1 "High" label values efi_pol1 gen efi_pol2=v89 recode efi_pol2(1=1)(2=0)(98/99=.) label define efi_pol2 0 "Low" 1 "High" label values efi_pol2 *Specific interests* gen i_alter_add5=(i_environ + i_wagegap + i_phealth + i_refugees + i_sexviol)/5 gen dif_ipol_alter=(i_alter_add5 - ipol) gen dif_ipol_environ=(i_environ - ipol) gen dif_ipol_wagegap=(i_wagegap - ipol) gen dif_ipol_phealth=(i_phealth - ipol) gen dif_ipol_refugees=(i_refugees - ipol) gen dif_ipol_sexviol=(i_sexviol - ipol) gen i_alter = ((i_environ + i_wagegap + i_phealth + i_refugees + i_sexviol)/5) use ceo2_2020, clear gen sexe2=SEXE recode sexe2(1=0)(2=1) label define sexe2 0 "Men" 1 "Women" label values sexe2 ******************************************************************************** ****************************DATA ANALYSIS*************************************** ******************************************************************************** use ceo1, clear *Figure 1* ssc install stripplot egen mean_ipol = mean(ipol), by(exp_enhan) stripplot ipol, over(exp_enhan) box stack centre vertical jitter(10) /// addplot(sc mean_ipol exp_enhan) *Figure 2* egen mean_ialter = mean(i_alter), by(exp_supp) stripplot i_alter, over(exp_supp) box stack centre vertical jitter(5) /// addplot(sc mean_ialter exp_supp) *Table 1* ttest ipol, by(exp_enhan) ttest ipol if sexe2 == 0, by(exp_enhan) ttest ipol if sexe2 == 1, by(exp_enhan) ttest ipol, by(sexe2) ttest ipol if exp_enhan == 0, by(sexe2) ttest ipol if exp_enhan == 1, by(sexe2) ttest i_alter, by(exp_supp) ttest i_alter if sexe2 == 0, by(exp_supp) ttest i_alter if sexe2 == 1, by(exp_supp) ttest i_alter, by(sexe2) ttest i_alter if exp_supp == 0, by(sexe2) ttest i_alter if exp_supp == 1, by(sexe2) *Table 2* ttest i_environ if exp_supp == 0, by(sexe2) ttest i_environ if exp_supp == 1, by(sexe2) ttest i_wagegap if exp_supp == 0, by(sexe2) ttest i_wagegap if exp_supp == 1, by(sexe2) ttest i_phealth if exp_supp == 0, by(sexe2) ttest i_phealth if exp_supp == 1, by(sexe2) ttest i_refugees if exp_supp == 0, by(sexe2) ttest i_refugees if exp_supp == 1, by(sexe2) ttest i_sexviol if exp_supp == 0, by(sexe2) ttest i_sexviol if exp_supp == 1, by(sexe2) *Figure 3* set scheme s1color quietly reg i_environ exp_supp estimates store A quietly reg i_wagegap exp_supp estimates store B quietly reg i_phealth exp_supp estimates store C quietly reg i_refugees exp_supp estimates store D quietly reg i_sexviol exp_supp estimates store E coefplot (A, label(Environment) pstyle(p1)) /// (B, label(Wage gap) pstyle(p2)) /// (C, label(Public health) pstyle(p3)) /// (D, label(Refugees) pstyle(p4)) /// (E, label(Sexual violence) pstyle(p5)) /// , drop(_cons) xline(0) xscale(range(-1 .2)) saving(ispe) quietly reg i_environ exp_supp if sexe2==1 estimates store A quietly reg i_wagegap exp_supp if sexe2==1 estimates store B quietly reg i_phealth exp_supp if sexe2==1 estimates store C quietly reg i_refugees exp_supp if sexe2==1 estimates store D quietly reg i_sexviol exp_supp if sexe2==1 estimates store E coefplot (A, label(Environment) pstyle(p1)) /// (B, label(Wage gap) pstyle(p2)) /// (C, label(Public health) pstyle(p3)) /// (D, label(Refugees) pstyle(p4)) /// (E, label(Sexual violence) pstyle(p5)) /// , drop(_cons) xline(0) xscale(range(-1 .2)) saving(ispe_w) quietly reg i_environ exp_supp if sexe2==0 estimates store A quietly reg i_wagegap exp_supp if sexe2==0 estimates store B quietly reg i_phealth exp_supp if sexe2==0 estimates store C quietly reg i_refugees exp_supp if sexe2==0 estimates store D quietly reg i_sexviol exp_supp if sexe2==0 estimates store E coefplot (A, label(Environment) pstyle(p1)) /// (B, label(Wage gap) pstyle(p2)) /// (C, label(Public health) pstyle(p3)) /// (D, label(Refugees) pstyle(p4)) /// (E, label(Sexual violence) pstyle(p5)) /// , drop(_cons) xline(0) xscale(range(-1 .2)) saving(ispe_m) gr combine ispe.gph ispe_w.gph ispe_m.gph, col(3) *Figure 4* set scheme s1color reg ipol sexe2##exp_enhan margins sexe2#exp_enhan marginsplot, recast(scatter) title(General interest) x() xscale(range(-.2 1.2)) graph save 1.gph, replace reg i_alter sexe2##exp_supp margins sexe2#exp_supp marginsplot, recast(scatter) title(Specific interest) x() xscale(range(-.2 1.2)) graph save 2.gph, replace graph combine 1.gph 2.gph, rows(1) *Figure 5* quietly reg ipol exp_enhan##efi_pol1 if sexe2 == 1 margins exp_enhan#efi_pol1 marginsplot, recast(scatter) ytitle(Women) title(Internal) xscale(range(-.2 1.2)) graph save 1.gph, replace quietly reg ipol exp_enhan##efi_pol1 if sexe2 == 0 margins exp_enhan#efi_pol1 marginsplot, recast(scatter) ytitle(Men) title(Internal) xscale(range(-.2 1.2)) graph save 2.gph, replace quietly reg ipol exp_enhan##efi_pol2 if sexe2 == 1 margins exp_enhan#efi_pol2 marginsplot, recast(scatter) ytitle(Women) title(External) xscale(range(-.2 1.2)) graph save 3.gph, replace quietly reg ipol exp_enhan##efi_pol2 if sexe2 == 0 margins exp_enhan#efi_pol2 marginsplot, recast(scatter) ytitle(Men) title(External) xscale(range(-.2 1.2)) graph save 4.gph, replace graph combine 1.gph 2.gph 3.gph 4.gph, rows(2) ycommon graph save 1234.gph, replace *Tables 3 & 4* use ceo2_2020, clear ttest int_pol, by(P15dic) ttest int_pol if sexe2 == 0, by(P15dic) ttest int_pol if sexe2 == 1, by(P15dic) ttest int_pol, by(sexe2) ttest int_pol if P15dic == 0, by(sexe2) ttest int_pol if P15dic == 1, by(sexe2) ttest int_pol, by(P16dic) ttest int_pol if sexe2 == 0, by(P16dic) ttest int_pol if sexe2 == 1, by(P16dic) ttest int_pol, by(sexe2) ttest int_pol if P16dic == 0, by(sexe2) ttest int_pol if P16dic == 1, by(sexe2) ttest int_pol, by(P17dic) ttest int_pol if sexe2 == 0, by(P17dic) ttest int_pol if sexe2 == 1, by(P17dic) ttest int_pol, by(sexe2) ttest int_pol if P17dic == 0, by(sexe2) ttest int_pol if P17dic == 1, by(sexe2) ttest int_pol, by(P18dic) ttest int_pol if sexe2 == 0, by(P18dic) ttest int_pol if sexe2 == 1, by(P18dic) ttest int_pol, by(sexe2) ttest int_pol if P18dic == 0, by(sexe2) ttest int_pol if P18dic == 1, by(sexe2)