******************************************************************************************************************************************** ******************************************************************************************************************************************** * * Replication File: The Political Conditioning of Subjective Economic Evaluations: The Role of Party Discourse * * Sergi Pardos-Prado (sergi.pardos@merton.ox.ac.uk) Merton College - University of Oxford * Iņaki Sagarzazu (inaki.sagarzazu@glasgow.ac.uk) University of Glasgow * ******************************************************************************************************************************************** ******************************************************************************************************************************************** /*** Figure 6- ***/ *SIMULATION OF PROBABILITIES: Direct effects PP discourse 2004-2011 *Predicting economy good est restore direct8 ereturn list matrix list e(b) drawnorm MG_b1-MG_b16, n(10000) means(e(b)) cov(e(V)) clear gen betahat_good1 = MG_b2*(-0.09) + MG_b12 gen betahat_good2 = MG_b2*(0.1) + MG_b12 forvalues i = 1(1)2 { gen prob_good`i'=(exp(betahat_good`i'))/(1+exp(betahat_good`i')) egen probhat_good`i'=mean(prob_good`i') _pctile prob_good`i', p(2.5,97.5) scalar low_good`i'=r(r1) gen lowbound_good`i'=low_good`i' scalar high_good`i'=r(r2) gen highbound_good`i'=high_good`i' } *Predicting economy neutral gen betahat_neutral1 = MG_b2*(-0.09) + MG_b13 gen betahat_neutral2 = MG_b2*(0.1) + MG_b13 forvalues i = 1(1)2 { gen prob_neutral`i'=(exp(betahat_neutral`i'))/(1+exp(betahat_neutral`i')) egen probhat_neutral`i'=mean(prob_neutral`i') _pctile prob_neutral`i', p(2.5,97.5) scalar low_neutral`i'=r(r1) gen lowbound_neutral`i'=low_neutral`i' scalar high_neutral`i'=r(r2) gen highbound_neutral`i'=high_neutral`i' } *Predicting economy bad gen betahat_bad1 = MG_b2*(-0.09) + MG_b14 gen betahat_bad2 = MG_b2*(0.1) + MG_b14 forvalues i = 1(1)2 { gen prob_bad`i'=(exp(betahat_bad`i'))/(1+exp(betahat_bad`i')) egen probhat_bad`i'=mean(prob_bad`i') _pctile prob_bad`i', p(2.5,97.5) scalar low_bad`i'=r(r1) gen lowbound_bad`i'=low_bad`i' scalar high_bad`i'=r(r2) gen highbound_bad`i'=high_bad`i' } *Predicting economy very bad gen betahat_verybad1 = MG_b2*(-0.09) + MG_b15 gen betahat_verybad2 = MG_b2*(0.1) + MG_b15 forvalues i = 1(1)2 { gen prob_verybad`i'=(exp(betahat_verybad`i'))/(1+exp(betahat_verybad`i')) egen probhat_verybad`i'=mean(prob_verybad`i') _pctile prob_verybad`i', p(2.5,97.5) scalar low_verybad`i'=r(r1) gen lowbound_verybad`i'=low_verybad`i' scalar high_verybad`i'=r(r2) gen highbound_verybad`i'=high_verybad`i' } *Predicting economy very good gen prob_verygood1 = 1 - prob_good1 - prob_neutral1 - prob_bad1 - prob_verybad1 gen prob_verygood2 = 1 - prob_good2 - prob_neutral2 - prob_bad2 - prob_verybad2 forvalues i = 1(1)2 { egen probhat_verygood`i'=mean(prob_verygood`i') _pctile prob_verygood`i', p(2.5,97.5) scalar low_verygood`i'=r(r1) gen lowbound_verygood`i'=low_verygood`i' scalar high_verygood`i'=r(r2) gen highbound_verygood`i'=high_verygood`i' } gen diff_verygood = probhat_verygood2 - probhat_verygood1 gen diff_good = probhat_good2 - probhat_good1 gen diff_neutral = probhat_neutral2 - probhat_neutral1 gen diff_bad = probhat_bad2 - probhat_bad1 gen diff_verybad = probhat_verybad2 - probhat_verybad1 gen low_verygood = lowbound_verygood2 - lowbound_verygood1 gen low_good = lowbound_good2 - lowbound_good1 gen low_neutral = lowbound_neutral2 - lowbound_neutral1 gen low_bad = lowbound_bad2 - lowbound_bad1 gen low_verybad = lowbound_verybad2 - lowbound_verybad1 gen high_verygood = highbound_verygood2 - highbound_verygood1 gen high_good = highbound_good2 - highbound_good1 gen high_neutral = highbound_neutral2 - highbound_neutral1 gen high_bad = highbound_bad2 - highbound_bad1 gen high_verybad = highbound_verybad2 - highbound_verybad1 *Graph gen n=_n rename diff_verygood diff1 rename diff_good diff2 rename diff_neutral diff3 rename diff_bad diff4 rename diff_verybad diff5 rename low_verygood low1 rename low_good low2 rename low_neutral low3 rename low_bad low4 rename low_verybad low5 rename high_verygood high1 rename high_good high2 rename high_neutral high3 rename high_bad high4 rename high_verybad high5 keep n diff* low* high* drop if n>1 reshape long diff low high, i(n) j(j) capture label drop j capture label define j 1"Very Good" 2"Good" 3"Neutral" 4"Bad" 5"Very bad" label val j j graph twoway (bar diff j, /// graphregion(color(white)) title("Effect party discourse", size(small)) /// ytitle("P(Y|High discourse)-P(Y|Low discourse)", size(small)) ylabel(-0.25(0.05)0.2, labsize(small)) /// xlabel(#4, valuelabel labsize(small)) fcolor(gs6) xtitle(j, color(white)) legend(off)) /// (rcap low high j, lcolor(black)), saving(discourse9) scheme(lean2)