******Replication file for article "'What do we have to lose?: Local economic decline, prospect theory, and support for Brexit"***************** ******************Auhor: Miguel Carreras (UC Riverside) --- carreras@ucr.edu******************************************************************** *** Generate pre-treatment variables*** gen log_gdhi_pc1997 = log(gdhi_pc1997) gen pop_dens_1997 = (pop1997/area) gen log_popdens1997 = log(pop_dens_1997) *** Generate other variables*** gen log_gdhi_pc2015 = log(gdhi_pc2015) gen log_comp_emp_pc2015 = log(comp_emp_pc2015) ***Divide real income change 1997-2015 by 100*** gen local_inc_change_1997_2015 = (real_gdhi_change1997_2015/100) ***Divide real compensation change 1997-2015 by 100*** gen local_comp_change_1997_2015 = (real_compemp_change_1997_2015/100) ***Divide house price change 2007-2016 by 100*** gen local_house_change_2007_2016 = (house_price_change2007_2016/100) ***Rename and recode variables for analysis*** rename profile_education_age educ recode educ 7=. recode educ 6=5 rename gender male recode male 1=1 2=0 rename profile_gross_household income recode income 17/9999=. recode leftRightW7 9999=. recode leftRightW8 9999=. recode leftRightW9 9999=. recode trustMPsW7 9999=. recode trustMPsW8 9999=. recode trustMPsW9 9999=. recode likeUKIPW7 9999=. recode likeUKIPW8 9999=. recode likeUKIPW9 9999=. recode ptvUKIPW7 9999=. recode ptvUKIPW8 9999=. recode ptvUKIPW9 9999=. recode changeImmigW7 9999=. recode changeImmigW8 9999=. recode immigEconW7 9999=. recode immigEconW8 9999=. gen anti_immigEconW7 = immigEconW7 recode anti_immigEconW7 1=7 2=6 3=5 4=4 5=3 6=2 7=1 gen anti_immigEconW8 = immigEconW8 recode anti_immigEconW8 1=7 2=6 3=5 4=4 5=3 6=2 7=1 recode immigCulturalW7 9999=. recode immigCulturalW8 9999=. gen anti_immigCulturalW7 = immigCulturalW7 recode anti_immigCulturalW7 1=7 2=6 3=5 4=4 5=3 6=2 7=1 gen anti_immigCulturalW8 = immigCulturalW8 recode anti_immigCulturalW8 1=7 2=6 3=5 4=4 5=3 6=2 7=1 recode immigSelfW7 9999=. recode immigSelfW8 9999=. gen anti_immigSelfW7 = immigSelfW7 recode anti_immigSelfW7 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 gen anti_immigSelfW8 = immigSelfW8 recode anti_immigSelfW8 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 recode britishnessW7 9999=. recode britishnessW8 9999=. recode britishnessW9 9999=. recode englishnessW7 9999=. recode englishnessW8 9999=. recode englishnessW9 9999=. recode europeannessW7 9999=. recode europeannessW8 9999=. recode europeannessW9 9999=. gen anti_europeannessW7 = europeannessW7 recode anti_europeannessW7 1=7 2=6 3=5 4=4 5=3 6=2 7=1 gen anti_europeannessW8 = europeannessW8 recode anti_europeannessW8 1=7 2=6 3=5 4=4 5=3 6=2 7=1 gen anti_europeannessW9 = europeannessW9 recode anti_europeannessW9 1=7 2=6 3=5 4=4 5=3 6=2 7=1 recode blackEqualityW6_W12 9999=. rename blackEqualityW6_W12 ethnic_equality recode immigrantsWelfareStateW7 9999=. recode immigrantsWelfareStateW8 9999=. recode polForTheRichW7 9999=. recode satDemUKW7 9999=. recode satDemUKW8 9999=. recode satDemUKW9 9999=. recode satDemEngW7 9999=. recode satDemEngW8 9999=. recode satDemEngW9 9999=. recode satDemEUW7 9999=. recode satDemEUW8 9999=. recode satDemEUW9 9999=. recode euFinancialHelpW7 9999=. recode approveUKGovtW7 9999=. recode approveUKGovtW9 9999=. recode approveLAW7 9999=. recode approveEUW7 9999=. recode approveEUW9 9999=. gen vote_intention_leaveW7 = euRefVoteW7 recode vote_intention_leaveW7 2=0 9999=. gen vote_intention_leaveW8 = euRefVoteW8 recode vote_intention_leaveW8 2=0 9999=. gen vote_leaveW9 = euRefVoteW9 recode vote_leaveW9 2=0 9999=. gen vote_leaveW9bis = euRefVoteW9 recode vote_leaveW9bis 2=0 9999=. replace vote_leaveW9bis =0 if euRefTurnoutRetroW9==0 recode asylumMoreW7 9999=. recode asylumMoreW8 9999=. gen anti_asylumW7 = asylumMoreW7 recode anti_asylumW7 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 gen anti_asylumW8 = asylumMoreW8 recode anti_asylumW8 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 recode euMoreW7 9999=. recode euMoreW8 9999=. gen anti_EUworkersW7 = euMoreW7 recode anti_EUworkersW7 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 gen anti_EUworkersW8 = euMoreW8 recode anti_EUworkersW8 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 recode noneuMoreW7 9999=. recode noneuMoreW8 9999=. gen anti_nonEUworkersW7 = noneuMoreW7 recode anti_nonEUworkersW7 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 gen anti_nonEUworkersW8 = noneuMoreW8 recode anti_nonEUworkersW8 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 recode studentsMoreW7 9999=. recode studentsMoreW8 9999=. gen anti_foreign_studentsW7 = studentsMoreW7 recode anti_foreign_studentsW7 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 gen anti_foreign_studentsW8 = studentsMoreW8 recode anti_foreign_studentsW8 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 recode familiesMoreW7 9999=. recode familiesMoreW8 9999=. gen anti_foreign_familiesW7 = familiesMoreW7 recode anti_foreign_familiesW7 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 gen anti_foreign_familiesW8 = familiesMoreW8 recode anti_foreign_familiesW8 0=10 1=9 2=8 3=7 4=6 5=5 6=4 7=3 8=2 9=1 10=0 recode populism1W7 9999=. recode populism2W7 9999=. recode populism4W7 9999=. recode populism5W7 9999=. recode populism6W7 9999=. recode euRefExpectationW7 9999=. recode euRefExpectationW8 9999=. recode ethno1W7 1=5 2=4 3=3 4=2 5=1 9999=. recode ethno1W9 1=5 2=4 3=3 4=2 5=1 9999=. recode ethno2W7 9999=. recode ethno2W9 9999=. recode ethno3W7 9999=. recode ethno3W9 9999=. recode ethno4W7 9999=. recode ethno4W9 9999=. recode ethno5W7 9999=. recode ethno5W9 9999=. gen ethno_scaleW7= ( ethno1W7 + ethno2W7 + ethno3W7 + ethno4W7 + ethno5W7)/5 gen ethno_scaleW9= ( ethno1W9 + ethno2W9 + ethno3W9 + ethno4W9 + ethno5W9)/5 recode radicalW7 9999=. recode polAttentionW7 9999=. recode polAttentionW8 9999=. recode likeFarageW7 9999=. recode likeFarageW8 9999=. recode likeFarageW9 9999=. recode likeBorisW7 9999=. recode likeBorisW8 9999=. recode likeBorisW9 9999=. recode antiIntellectualW7 9999=. recode antiIntellectualW8 9999=. recode antiIntellectualW9 9999=. recode EUIntegrationSelfW7 9999=. recode EUIntegrationSelfW8 9999=. recode EUIntegrationSelfW9 9999=. recode efficacyPolCareW7 9999=. recode efficacyPolCareW8 9999=. recode efficacyPolCareW9 9999=. recode efficacyNoMatterW7 9999=. recode efficacyNoMatterW8 9999=. recode efficacyNoMatterW9 9999=. recode ukCoopTradeW7 9999=. recode ukCoopTradeW8 9999=. recode ukCoopMovementW7 9999=. recode ukCoopMovementW8 9999=. recode effectsEUUnemploymentW7 9999=. 1=5 2=4 3=3 4=2 5=1 recode effectsEUUnemploymentW8 9999=. 1=5 2=4 3=3 4=2 5=1 recode effectsEUImmigrationW7 9999=. recode effectsEUImmigrationW8 9999=. recode effectsEUWorkersW7 9999=. recode effectsEUWorkersW8 9999=. recode effectsEUEconW7 9999=. recode effectsEUEconW8 9999=. recode effectsEUFinanceW7 9999=. recode effectsEUFinanceW8 9999=. recode effectsEUNHSW8 9999=. recode euUKRichW7 9999=. recode euUKRichW8 9999=. recode euCloserW7 9999=. recode euCloserW8 9999=. recode UKsovereigntyW7 9999=. recode UKsovereigntyW8 9999=. recode euParlOverRideW7 9999=. recode euParlOverRideW8 9999=. recode euUndermineIdentityW7 9999=. recode euUndermineIdentityW8 9999=. recode harkBackW7 9999=. gen populism_scaleW7 = ( populism1W7 + populism2W7 + populism4W7 + populism5W7)/4 recode al1W7 9999=. recode subjClassW2_W4W7W9 1=0 2=1 9999=0 3=0 4=0 rename subjClassW2_W4W7W9 working_class recode tolUncertain1W8 9999=. recode tolUncertain2W8 9999=. recode tolUncertain3W8 9999=. factor tolUncertain1W8 tolUncertain2W8 tolUncertain3W8, mine(1) rotate predict dislike_uncertaintyW8 alpha tolUncertain1W8 tolUncertain2W8 tolUncertain3W8 gen dislike_uncertaintyW8_scale = (tolUncertain1W8 + tolUncertain2W8 + tolUncertain3W8)/3 tab campaigninfoRemainW8 // The remain campaign has provided clear information about why we would be better off remaining in the European Union tab campaigninfoLeaveW8 // The leave campaign has provided clear information about why we would be better off leaving the European Union. tab proConRemainW8 // Has the remain campaign focused more on the downsides of leaving the EU or more on the upsides of remaining? tab proConLeaveW8 // Has the leave campaign focused more on the downsides of remaining in the EU or the upsides of leaving? gen certaintyUKLeaveW7_2 = certaintyUKLeaveW7 recode certaintyUKLeaveW7_2 9999=. gen certaintyBrexit_effects_W7_dummy = certaintyUKLeaveW7 recode certaintyBrexit_effects_W7_dummy 1=0 2=0 3=1 4=1 9999=. gen certaintyBrexit_W7_dummy2 = certaintyUKLeaveW7 recode certaintyBrexit_W7_dummy2 1=0 2=0 3=1 4=1 9999=0 recode certaintyUKLeaveW7 9999=1 gen certaintyUKLeaveW8_2 = certaintyUKLeaveW8 recode certaintyUKLeaveW8_2 9999=. gen certaintyBrexit_W8_dummy = certaintyUKLeaveW8 recode certaintyBrexit_W8_dummy 1=0 2=0 3=1 4=1 9999=. gen certaintyBrexit_W8_dummy_2 = certaintyUKLeaveW8 recode certaintyBrexit_W8_dummy_2 1=0 2=0 3=1 4=1 9999=0 recode certaintyUKLeaveW8 9999=1 ***Generate post-Brexit economic assessment*** *Table A2 in the online appendix* factor effectsEUUnemploymentW7 effectsEUWorkersW7 effectsEUEconW7 effectsEUFinanceW7, mine(1) rotate predict brexit_econ_forecastW7 ***Prospective assessment models*** **Table 1** *Model 1* mixed brexit_econ_forecastW7 local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 2* mixed brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 3* mixed brexit_econ_forecastW7 unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: margins, at(unemp_change2004_2016 =(-3.4778889 -1.6910889 0.10 1.8825111 3.6693111)) *Model 4* mixed brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: **Figure 2** mixed brexit_econ_forecastW7 local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: margins, at(local_inc_change_1997_2015 =(-0.0275 0.0904 0.21 0.3262 0.4441)) **Figure 3** mixed brexit_econ_forecastW7 unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: margins, at(unemp_change2004_2016 =(-3.4778889 -1.6910889 0.10 1.8825111 3.6693111)) ***Vote Leave models*** **Table 2** *Model 1* xtmelogit vote_leaveW9 local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 2* xtmelogit vote_leaveW9 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 3* xtmelogit vote_leaveW9 unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 4* xtmelogit vote_leaveW9 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Figure 4* xtmelogit vote_leaveW9 local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: margins, at(local_inc_change_1997_2015 = (-0.0275 0.0904 0.21 0.3262 0.4441)) predict(mu fixedonly) vsquish *Figure A1* xtmelogit vote_leaveW9 unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: margins, at(unemp_change2004_2016 =(-3.4778889 -1.6910889 0.10 1.8825111 3.6693111)) predict(mu fixedonly) vsquish **Table 3 (mediation analysis)** medeff (regress brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997) (probit vote_leaveW9 brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997), med(brexit_econ_forecastW7) treat(local_inc_change_1997_2015) sims(1000) seed(1) medeff (regress brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997) (probit vote_leaveW9 brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997), med(brexit_econ_forecastW7) treat(unemp_change2004_2016) sims(1000) seed(1) **Tables in appendix** **Table A3** *Model 1* mixed brexit_econ_forecastW7 local_comp_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 2* mixed brexit_econ_forecastW7 male ageW7 educ working_class income local_comp_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 3* mixed brexit_econ_forecastW7 local_house_change_2007_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 4* mixed brexit_econ_forecastW7 male ageW7 educ working_class income local_house_change_2007_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: **Table A4** *Model 1* xtmelogit vote_leaveW9 local_comp_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 2* xtmelogit vote_leaveW9 male ageW7 educ working_class income local_comp_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 3* xtmelogit vote_leaveW9 local_house_change_2007_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: *Model 4* xtmelogit vote_leaveW9 male ageW7 educ working_class income local_house_change_2007_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 || nuts1_code: || lacode: **Table A5** *Model 1* mixed brexit_econ_forecastW7 log_gdhi_pc2015 log_popdens perc_older_65_2015 perc_foreign_pop2015 || nuts1_code: || lacode: *Model 2* mixed brexit_econ_forecastW7 male ageW7 educ working_class income log_gdhi_pc2015 log_popdens perc_older_65_2015 perc_foreign_pop2015 || nuts1_code: || lacode: *Model 3* xtmelogit vote_leaveW9 log_gdhi_pc2015 log_popdens perc_older_65_2015 perc_foreign_pop2015 || nuts1_code: || lacode: *Model 4* xtmelogit vote_leaveW9 male ageW7 educ working_class income log_gdhi_pc2015 log_popdens perc_older_65_2015 perc_foreign_pop2015 || nuts1_code: || lacode: **Table A6** *Model 1* xtmelogit vote_leaveW9 local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 if certaintyBrexit_W7_dummy2==1 || nuts1_code: || lacode: *Model 2* xtmelogit vote_leaveW9 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 if certaintyBrexit_W7_dummy2==1 || nuts1_code: || lacode: *Model 3* xtmelogit vote_leaveW9 unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 if certaintyBrexit_W7_dummy2==1 || nuts1_code: || lacode: *Model 4* xtmelogit vote_leaveW9 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997 if certaintyBrexit_W7_dummy2==1 || nuts1_code: || lacode: *Table A7 and Figure A2* drop _merge medsens (regress brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997) (probit vote_leaveW9 brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997), eps(.01) med(brexit_econ_forecastW7) treat(local_inc_change_1997_2015) sims(1000) medsens (regress brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997) (probit vote_leaveW9 brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997), eps(.01) med(brexit_econ_forecastW7) treat(unemp_change2004_2016) sims(1000) medsens (regress brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997) (probit vote_leaveW9 brexit_econ_forecastW7 male ageW7 educ working_class income local_inc_change_1997_2015 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997), eps(.01) med(brexit_econ_forecastW7) treat(local_inc_change_1997_2015) sims(1000) graph medsens (regress brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997) (probit vote_leaveW9 brexit_econ_forecastW7 male ageW7 educ working_class income unemp_change2004_2016 log_popdens1997 perc_older_65_1997 log_gdhi_pc1997), eps(.01) med(brexit_econ_forecastW7) treat(unemp_change2004_2016) sims(1000) graph