*Code to replicate regressions for Fisher, Heath, Sanders and Sobolewska * "Candidate Ethnicity and Vote Choice in Britain" * in the British Journal of Political Science * Stephen Fisher, 2nd December 2013 * stephen.fisher@trinity.ox.ac.uk version 11 clear all use BES10cipswhites_forTables2n3ofFisheretalBJPSCandidateEthnicityv1.dta, clear notes **************************************************************** **** Try the following line if problems reading in the data **** *insheet using BES10cipswhites_forTables2n3ofFisheretalBJPSCandidateEthnicityv1.csv, clear **************************************************************** drop if pano==108 // speaker's seat ***** Models for Table 2 ***** local options "if white==1 [pw=post_w8], case(aaid) alternatives(party) " local options "`options' casevars(publicsec) basealternative(lab)" local controls "pidstr pty_feel ldr_feel bestmii contact dcon10 inc spend10pctshrt " foreach x in dcon10 { local controls "`controls' conx`x' ldx`x' " } eststo clear *eststo: asmprobit vote `controls' emcand `options' *eststo: asmprobit vote `controls' muslimcand `options' *eststo: asmprobit vote `controls' emcand muslimcand `options' foreach x in antiimig { local musliminteractions "`musliminteractions' conx`x' ldx`x' " local musliminteractions "`musliminteractions' muslimcand_`x' " } eststo: asmprobit vote `controls' emcand muslimcand conxmuslimcand ldxmuslimcand /// `musliminteractions' `options' estout , cells(b(star fmt(2) label(Coef.)) se(par fmt(2) label(s.e.))) /// stats(bic N, labels(BIC "N. of cases") fmt(2 0)) /// label legend *** Probabilities for Table 3 ***** *values below are alternative specific means *taken from VEMC_white_summarystats_log.txt *publicsec mean is 0.35 for all alternatives since case-secific *** Baseline probability no Muslim candidates, not antiimig estat mfx , at(con:emcand=0 lab:emcand=0 ld:emcand=0 /// con:muslimcand=0 con:conxmuslimcand=0 con:ldxmuslimcand=0 /// lab:muslimcand=0 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=0 ld:conxmuslimcand=0 ld:ldxmuslimcand=0 /// con:conxantiimig=0 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=0 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability Lab Muslim candidate, not antiimig estat mfx , at(con:emcand=0 lab:emcand=1 ld:emcand=0 /// con:muslimcand=0 con:conxmuslimcand=0 con:ldxmuslimcand=0 /// lab:muslimcand=1 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=0 ld:conxmuslimcand=0 ld:ldxmuslimcand=0 /// con:conxantiimig=0 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=0 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability if no Muslim candidate, voter is antiimig estat mfx , at(con:emcand=0 lab:emcand=0 ld:emcand=0 /// con:muslimcand=0 con:conxmuslimcand=0 con:ldxmuslimcand=0 /// lab:muslimcand=0 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=0 ld:conxmuslimcand=0 ld:ldxmuslimcand=0 /// con:conxantiimig=1 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=1 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability Lab Muslim candidate, voter is antiimig estat mfx , at(con:emcand=0 lab:emcand=1 ld:emcand=0 /// con:muslimcand=0 con:conxmuslimcand=0 con:ldxmuslimcand=0 /// lab:muslimcand=1 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=0 ld:conxmuslimcand=0 ld:ldxmuslimcand=0 /// con:conxantiimig=1 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=1 /// ld:conxantiimig=0 ld:ldxantiimig=1 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability if Con Muslim candidate, voter is antiimig estat mfx , at(con:emcand=1 lab:emcand=0 ld:emcand=0 /// con:muslimcand=1 con:conxmuslimcand=1 con:ldxmuslimcand=0 /// lab:muslimcand=0 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=0 ld:conxmuslimcand=0 ld:ldxmuslimcand=0 /// con:conxantiimig=1 con:ldxantiimig=0 con:muslimcand_antiimig=1 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=1 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability if LD Muslim candidate, voter is antiimig estat mfx , at(con:emcand=0 lab:emcand=0 ld:emcand=1 /// con:muslimcand=0 con:conxmuslimcand=0 con:ldxmuslimcand=0 /// lab:muslimcand=1 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=1 ld:conxmuslimcand=0 ld:ldxmuslimcand=1 /// con:conxantiimig=1 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=1 ld:muslimcand_antiimig=1 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability if Con Muslim candidate, not antiimig estat mfx , at(con:emcand=1 lab:emcand=0 ld:emcand=0 /// con:muslimcand=1 con:conxmuslimcand=1 con:ldxmuslimcand=0 /// lab:muslimcand=0 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=0 ld:conxmuslimcand=0 ld:ldxmuslimcand=0 /// con:conxantiimig=0 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=0 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) *** Probability if LD Muslim candidate, not antiimig estat mfx , at(con:emcand=0 lab:emcand=0 ld:emcand=1 /// con:muslimcand=0 con:conxmuslimcand=0 con:ldxmuslimcand=0 /// lab:muslimcand=0 lab:conxmuslimcand=0 lab:ldxmuslimcand=0 /// ld:muslimcand=1 ld:conxmuslimcand=0 ld:ldxmuslimcand=1 /// con:conxantiimig=0 con:ldxantiimig=0 con:muslimcand_antiimig=0 /// lab:conxantiimig=0 lab:ldxantiimig=0 lab:muslimcand_antiimig=0 /// ld:conxantiimig=0 ld:ldxantiimig=0 ld:muslimcand_antiimig=0 /// con:pidstr=0.60 con:pty_feel=4.5 con:ldr_feel=4.5 /// con:bestmii=0.35 con:contact=0.46 con:inc=0.26 /// con:dcon10=1.97 con:conxdcon10=1.97 con:ldxdcon10=0 con:spend10pctshrt=0.68 /// lab:pidstr=0.68 lab:pty_feel=5 lab:ldr_feel=5 /// lab:bestmii=0.27 lab:contact=0.42 lab:inc=0.39 /// lab:dcon10=6.06 lab:conxdcon10=0 lab:ldxdcon10=0 lab:spend10pctshrt=0.68 /// ld:pidstr=0.31 ld:pty_feel=4 ld:ldr_feel=4 /// ld:bestmii=0.11 ld:contact=0.41 ld:inc=0.10 /// ld:dcon10=6.42 ld:conxdcon10=0 ld:ldxdcon10=6.42 ld:spend10pctshrt=0.38) /// var(inc) **** Regression models for Table 4 **** clear all use BESEMBES10ethnicminorities_forTable4ofFisheretalBJPSCandidateEthnicityv1.dta, clear notes *** Try the following line if problems reading in the data ****** *insheet using BESEMBES10ethnicminorities_forTable4ofFisheretalBJPSCandidateEthnicityv1.csv, clear *************************************************************** drop if pano==108 // speaker's seat local controls "pidstr pty_feel ldr_feel bestmii contact dcon10 " ********PAKISTANI & BANGLADESHI MUSLIM MODELS ******** local options "if pakorbang & muslim [pw=weight], case(aaid) alternatives(party) nolog" local options "`options' casevars(nsw) basealternative(lab)" eststo clear eststo: asmprobit vote `controls' emcand `options' estat mfx, at(mean) var(emcand) eststo: asmprobit vote `controls' muslimcand `options' estat mfx, at(mean) var(muslimcand) ********PAKISTANI MUSLIM MODELS ******** local options "if pakistani & muslim [pw=weight], case(aaid) alternatives(party) nolog" local options "`options' casevars(nsw) basealternative(lab)" eststo: asmprobit vote `controls' coethgrpcand `options' estat mfx, at(mean) var(coethgrpcand) eststo: asmprobit vote `controls' emcand coethgrpcand muslimcand `options' ********INDIAN, BLACK (African and Caribbean) NON-MUSLIM MODELS ******** local options "if (indian|blackafric|blackcarib) & !muslim [pw=weight], case(aaid) alternatives(party) nolog" local options "`options' casevars(nsw) basealternative(lab)" eststo: asmprobit vote `controls' emcand `options' estat mfx, at(mean) var(emcand) eststo: asmprobit vote `controls' emcand coethgrpcand `options' estout , cells(b(star fmt(2) label(Coef)) se(par fmt(2) label(s.e.))) /// stats(bic N, labels(BIC "N. of cases") fmt(2 0)) modelwidth(10) /// label legend exit ***************************************** ***************************************** White data variable labels: Note descriptive stats not from estimation sample Variable Obs Unique Mean Min Max Label --------------------------------------------------------------------------------------------------------------- aaid 31125 10375 8114.471 1 16815 unique bes 2010 panel id party 31125 3 . . . Party post_w8 31125 2733 1.000779 .2158626 6.644409 standard weight variable (for post sample) vote 31125 2 .3333333 0 1 Vote GE 2010 ldr_feel 30818 11 4.886852 0 10 Leader like score white 31125 1 1 1 1 White respondent pano 31122 629 330.0073 1 650 Press Assoc Constituency Number inc 31122 2 .2470921 0 1 Incumbent MP dcon10 31122 679 4.861518 0 40.09272 Dist from contention spend10pct~t 31125 1630 .5219806 0 1.0899 Shrt Campaign Spend / Limit muslimcand 31122 2 .0249663 0 1 Muslim Candidate emcand 31122 2 .0635885 0 1 EM Candidate pty_feel 30904 11 4.835458 0 10 Party like score pidstr 31125 4 .5268112 0 3 Strength of party id contact 31125 2 .4416707 0 1 Contacted by party bestmii 31125 2 .2460402 0 1 Pty best Most Impt Issue publicsec 31125 2 .3733012 0 1 Public Sector Employee antiimig 31125 2 .7862169 0 1 Anti-immigrant sentiment con 31125 2 .3333333 0 1 Con Candidate lab 31125 2 .3333333 0 1 Lab Candidate ld 31125 2 .3333333 0 1 Lib Dem Candidate conxmuslim~d 31122 2 .007808 0 1 Con Muslim Candidate conxdcon10 31122 136 .6309414 0 30.78759 Con * Dist frm cont conxantiimig 31125 2 .2620723 0 1 Con * Anti Immigrant ldxmuslimc~d 31122 2 .008065 0 1 LD Muslim Candidate ldxdcon10 31122 330 2.113234 0 29.74727 LD * Dist frm cont ldxantiimig 31125 2 .2620723 0 1 LD * Anti Immigrant muslimcand~g 31122 2 .0188291 0 1 Muslim Cand * Anti Immigrant --------------------------------------------------------------------------------------------------------------- EM data variable labels: Note descriptive stats not from estimation sample Variable Obs Unique Mean Min Max Label --------------------------------------------------------------------------------------------------------------- aaid 8892 2964 2790.15 4 5850 BES/EMBES repondent identifier party 8892 3 . . . Party bes 8892 2 .060054 0 1 BES repondent weight 8892 2734 1.03311 .1490409 6.923619 Survey weight pty_feel 8892 14 5.136715 0 10 Party like score ldr_feel 8892 15 5.076035 0 11 Leader like score contact 8892 2 .1720648 0 1 Contacted by party vote 8892 2 .2079397 0 1 Vote GE 2010 pidstr 8892 4 .4898785 0 3 Strength of party id pano 8892 231 296.9754 1 645 Press Assoc Constituency Number nonwhite 8892 1 1 1 1 Non White respondent muslim 8892 2 .398448 0 1 Muslim respondent inc 8892 2 .2550607 0 1 Incumbent MP dcon10 8892 245 4.116232 0 37.77924 Dist from contention spend10pct~t 8892 649 58.93651 0 102.35 Spend as % of Short Limit muslimcand 8892 2 .118646 0 1 Muslim Candidate emcand 8892 2 .2396536 0 1 EM Candidate coethgrpcand 8892 2 .0781601 0 1 Co-ethnic Candidate bestmii 8892 2 .2026541 0 1 Pty best Most Impt Issue publicsec 8358 2 .1625987 0 1 Public Sector Employee nsw 8892 2 .2847503 0 1 Scotland, Wales or North of England indian 8892 2 .2115385 0 1 pakistani 8892 2 .2294197 0 1 Pakistani respondent bangladeshi 8892 2 .0931174 0 1 blackcarib 8892 2 .2091768 0 1 blackafric 8892 2 .1865722 0 1 con 8892 2 .3333333 0 1 Con Candidate lab 8892 2 .3333333 0 1 Lab Candidate ld 8892 2 .3333333 0 1 Lib Dem Candidate pakorbang 8892 2 .3225371 0 1 Pakistani or Bangladeshi respondent ---------------------------------------------------------------------------------------------------------------