******************************************************************************************************************* ** Analyses of data for Rice et al. 2021 JOP ** "Same As It Ever Was? The Impact of Racial Resentment on White Juror Decision-Making" ** Original data here: https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/HWGUH4 ** Rice et al. data and code here: https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/LEV1RR ******************************************************************************************************************* ******************************************************************************************************************* ** Post 1 ******************************************************************************************************************* tab Vignette_treat recode Vignette_treat (1 3=0) (2 4=1), gen(treatB) tab treatB if race==1 tab UMA404 recode UMA404 (2=0) (8=.), gen(guilty) tab UMA404 guilty, mi tab guilty, mi tab guilty if race==1 tab UMA405, nol recode UMA405 (998=.), gen(length) sum length svyset [pw=teamweight] logit guilty treatB if race==1 // Check against ** Discrimination among White respondents prop guilty if race==1 & treatB==0, level(83.4) prop guilty if race==1 & treatB==1, level(83.4) prtest guilty if race==1, by(treatB) svy: reg guilty treatB if race==1 mean length if race==1 & treatB==0, level(83.4) mean length if race==1 & treatB==1, level(83.4) ttest length if race==1, by(treatB) unp une svy: reg length treatB if race==1 ** Discrimination among Black respondents prop guilty if race==2 & treatB==0, level(83.4) prop guilty if race==2 & treatB==1, level(83.4) prtest guilty if race==2, by(treatB) svy: reg guilty treatB if race==2 mean length if race==2 & treatB==0, level(83.4) mean length if race==2 & treatB==1, level(83.4) ttest length if race==2, by(treatB) unp une svy: reg length treatB if race==2 sum length if race==2 ** Comparing discrimination // no robust reg guilty treatB if race==1 estimates store whiteG reg guilty treatB if race==2 estimates store blackG suest whiteG blackG lincom [whiteG_mean]treatB - [blackG_mean]treatB reg length treatB if race==1 estimates store whiteL reg length treatB if race==2 estimates store blackL suest whiteL blackL lincom [whiteL_mean]treatB - [blackL_mean]treatB // robust reg guilty treatB if race==1 estimates store whiteG reg guilty treatB if race==2 estimates store blackG suest whiteG blackG, robust lincom [whiteG_mean]treatB - [blackG_mean]treatB reg length treatB if race==1 estimates store whiteL reg length treatB if race==2 estimates store blackL suest whiteL blackL, robust lincom [whiteL_mean]treatB - [blackL_mean]treatB // other analyses + weighted data reg guilty treatB##i.race if race==1 | race==2, robust reg length treatB##i.race if race==1 | race==2, robust svy: reg guilty treatB##i.race if race==1 | race==2 svy: reg length treatB##i.race if race==1 | race==2 ******************************************************************************************************************* ** Post 2 ******************************************************************************************************************* ** Keep only White respondents keep if race==1 ** Check for sexism as a "moderator" tab1 UMA306b UMA306c UMA306d UMA306e UMA306f UMA306g UMA306h CC18_422c CC18_422d tab1 UMA306b UMA306c UMA306d UMA306e UMA306f UMA306g UMA306h CC18_422c CC18_422d, nol recode UMA306b UMA306c UMA306d UMA306e UMA306f UMA306g UMA306h CC18_422c CC18_422d (8=.) tab1 UMA306b UMA306c UMA306d UMA306e UMA306f UMA306g UMA306h CC18_422c CC18_422d, nol factor UMA306b UMA306c UMA306d UMA306e UMA306f UMA306g UMA306h CC18_422c CC18_422d, pcf rotate factor UMA306b UMA306c UMA306f UMA306g UMA306h CC18_422c CC18_422d, pcf rotate predict sexismFACTOR pwcorr sexismFACTOR UMA306b tab UMA306b sum sexismFACTOR replace sexismFACTOR = (r(min) - sexismFACTOR)/(r(max)-r(min)) sum sexismFACTOR pwcorr sexismFACTOR UMA306b tab1 UMA306b UMA306c UMA306f UMA306g UMA306h CC18_422c CC18_422d xtile sexism5 = sexismFACTOR, nq(5) tab sexism5 reg guilty treatB if race==1 & sexism5==1, robust level(83.4) reg guilty treatB if race==1 & sexism5==2, robust level(83.4) reg guilty treatB if race==1 & sexism5==3, robust level(83.4) reg guilty treatB if race==1 & sexism5==4, robust level(83.4) reg guilty treatB if race==1 & sexism5==5, robust level(83.4) reg length treatB if race==1 & sexism5==1, robust level(83.4) reg length treatB if race==1 & sexism5==2, robust level(83.4) reg length treatB if race==1 & sexism5==3, robust level(83.4) reg length treatB if race==1 & sexism5==4, robust level(83.4) reg length treatB if race==1 & sexism5==5, robust level(83.4) ******************************************************************************************************************* ** Post 3 ******************************************************************************************************************* // Racial resentment codebook CC18_422e CC18_422f CC18_422g CC18_422h recode CC18_422e CC18_422f CC18_422g CC18_422h (8=.) replace CC18_422e = 6 - CC18_422e replace CC18_422h = 6 - CC18_422h gen RR4 = CC18_422e + CC18_422f + CC18_422g + CC18_422h - 4 pwcorr RR4 CC18_422e CC18_422f CC18_422g CC18_422h tab RR4 gen RR1 = UMA305a recode UMA305b (8=.), gen(RR2) gen RR3 = 6 - UMA305c sum RR1 RR2 RR3 pwcorr RR1 RR2 RR3 gen RRsum3 = RR1+RR2+RR3-3 sum RRsum3 // Stereotypes tab1 UMA308a UMA308b UMA308c UMA308d UMA308e UMA308f tab1 UMA308a UMA308b UMA308c UMA308d UMA308e UMA308f, nol recode UMA308b (98=.), gen(INTELw) recode UMA308e (98=.), gen(INTELb) replace INTELw = 10 - INTELw replace INTELb = 10 - INTELb tab UMA308b INTELw tab UMA308e INTELb gen INTELwb = INTELw - INTELb replace INTELwb = -1 if INTELwb >=-10 & INTELwb<0 replace INTELwb = 1 if INTELwb > 0 & INTELwb<=10 recode UMA308c (98=.), gen(VIOLw) recode UMA308f (98=.), gen(VIOLb) gen VIOLwb = VIOLw - VIOLb replace VIOLwb = -1 if VIOLwb >=-10 & VIOLwb<0 replace VIOLwb = 1 if VIOLwb > 0 & VIOLwb<=10 recode UMA308a (98=.), gen(LAZYw) recode UMA308d (98=.), gen(LAZYb) gen LAZYwb = LAZYw - LAZYb replace LAZYwb = -1 if LAZYwb >=-10 & LAZYwb<0 replace LAZYwb = 1 if LAZYwb > 0 & LAZYwb<=10 gen STEREOwb = INTELwb - VIOLwb - LAZYwb pwcorr STEREO INTELwb VIOLwb LAZYwb tab STEREOwb // Feeling thermometers tab1 UMA309a UMA309b tab1 UMA309a UMA309b, nol gen FTcoldBonly = . replace FTcoldBonly = 1 if (UMA309a>=0 & UMA309a<50) & (UMA309b>=50 & UMA309b<=100) tab FTcoldBonly gen FTcoldWonly = . replace FTcoldWonly = 1 if (UMA309b>=0 & UMA309b<50) & (UMA309a>=50 & UMA309a<=100) tab FTcoldWonly recode UMA309a (998=.), gen(FTblack100) recode UMA309b (998=.), gen(FTwhite100) gen FTwb = FTwhite100 - FTblack100 tab FTwb ** [Guilty] Testing for respondents who might have pro-White / anti-Black animus reg guilty treatB if race==1 & RR4==16 , robust level(83.4) reg guilty treatB if race==1 & RR4>=14 & RR4<=16 , robust level(83.4) reg guilty treatB if race==1 & RR4>8 & RR4<=16 , robust level(83.4) reg guilty treatB if race==1 & RRsum3==12 , robust level(83.4) reg guilty treatB if race==1 & RRsum3>=11 & RRsum3<=12 , robust level(83.4) reg guilty treatB if race==1 & RRsum3>6 & RRsum3<=12 , robust level(83.4) reg guilty treatB if race==1 & INTELwb== 1 , robust level(83.4) reg guilty treatB if race==1 & VIOLwb== -1 , robust level(83.4) reg guilty treatB if race==1 & LAZYwb== -1 , robust level(83.4) reg guilty treatB if race==1 & STEREOwb== 3 , robust level(83.4) reg guilty treatB if race==1 & STEREOwb>= 2 & STEREOwb<=3 , robust level(83.4) reg guilty treatB if race==1 & STEREOwb>= 1 & STEREOwb<=3 , robust level(83.4) reg guilty treatB if race==1 & FTcoldBonly==1 , robust level(83.4) reg guilty treatB if race==1 & FTwb>50 & FTwb<=100 , robust level(83.4) reg guilty treatB if race==1 & FTwb>0 & FTwb<=100 , robust level(83.4) ** [Guilty] Testing for respondents who might have pro-Black / anti-White animus reg guilty treatB if race==1 & RR4==0 , robust level(83.4) reg guilty treatB if race==1 & RR4>=0 & RR4<=2 , robust level(83.4) reg guilty treatB if race==1 & RR4>=0 & RR4<8 , robust level(83.4) reg guilty treatB if race==1 & RRsum3==0 , robust level(83.4) reg guilty treatB if race==1 & RRsum3>=0 & RRsum3<=1 , robust level(83.4) reg guilty treatB if race==1 & RRsum3>=0 & RRsum3<6 , robust level(83.4) reg guilty treatB if race==1 & INTELwb==-1 , robust level(83.4) reg guilty treatB if race==1 & VIOLwb== 1 , robust level(83.4) reg guilty treatB if race==1 & LAZYwb== 1 , robust level(83.4) reg guilty treatB if race==1 & STEREOwb== -3 , robust level(83.4) reg guilty treatB if race==1 & STEREOwb>= -3 & STEREOwb<=-2 , robust level(83.4) reg guilty treatB if race==1 & STEREOwb>= -3 & STEREOwb<=-1 , robust level(83.4) reg guilty treatB if race==1 & FTcoldWonly==1 , robust level(83.4) reg guilty treatB if race==1 & FTwb>=-100 & FTwb<-50 , robust level(83.4) reg guilty treatB if race==1 & FTwb>=-100 & FTwb<0 , robust level(83.4) ** tab caseid if race==1 & guilty!=. ** ** [Length] Testing for respondents who might have pro-White / anti-Black animus reg length treatB if race==1 & RR4==16 , robust level(83.4) reg length treatB if race==1 & RR4>=14 & RR4<=16 , robust level(83.4) reg length treatB if race==1 & RR4>8 & RR4<=16 , robust level(83.4) reg length treatB if race==1 & RRsum3==12 , robust level(83.4) reg length treatB if race==1 & RRsum3>=11 & RRsum3<=12 , robust level(83.4) reg length treatB if race==1 & RRsum3>6 & RRsum3<=12 , robust level(83.4) reg length treatB if race==1 & INTELwb== 1 , robust level(83.4) reg length treatB if race==1 & VIOLwb== -1 , robust level(83.4) reg length treatB if race==1 & LAZYwb== -1 , robust level(83.4) reg length treatB if race==1 & STEREOwb== 3 , robust level(83.4) reg length treatB if race==1 & STEREOwb>= 2 & STEREOwb<=3 , robust level(83.4) reg length treatB if race==1 & STEREOwb>= 1 & STEREOwb<=3 , robust level(83.4) reg length treatB if race==1 & FTcoldBonly==1 , robust level(83.4) reg length treatB if race==1 & FTwb>50 & FTwb<=100 , robust level(83.4) reg length treatB if race==1 & FTwb>0 & FTwb<=100 , robust level(83.4) ** [Length] Testing for respondents who might have pro-Black /anti-White animus reg length treatB if race==1 & RR4==0 , robust level(83.4) reg length treatB if race==1 & RR4>=0 & RR4<=2 , robust level(83.4) reg length treatB if race==1 & RR4>=0 & RR4<8 , robust level(83.4) reg length treatB if race==1 & RRsum3==0 , robust level(83.4) reg length treatB if race==1 & RRsum3>=0 & RRsum3<=1 , robust level(83.4) reg length treatB if race==1 & RRsum3>=0 & RRsum3<6 , robust level(83.4) reg length treatB if race==1 & INTELwb==-1 , robust level(83.4) reg length treatB if race==1 & VIOLwb== 1 , robust level(83.4) reg length treatB if race==1 & LAZYwb== 1 , robust level(83.4) reg length treatB if race==1 & STEREOwb== -3 , robust level(83.4) reg length treatB if race==1 & STEREOwb>= -3 & STEREOwb<=-2 , robust level(83.4) reg length treatB if race==1 & STEREOwb>= -3 & STEREOwb<=-1 , robust level(83.4) reg length treatB if race==1 & FTcoldWonly==1 , robust level(83.4) reg length treatB if race==1 & FTwb>=-100 & FTwb<-50 , robust level(83.4) reg length treatB if race==1 & FTwb>=-100 & FTwb<0 , robust level(83.4) ** tab caseid if race==1 & length!=. ** [Length] Testing for respondents who might have pro-White /anti-Black animus reg length treatB if race==1 & guilty==1 & RR4==16 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RR4>=14 & RR4<=16 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RR4>8 & RR4<=16 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RRsum3==12 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RRsum3>=11 & RRsum3<=12 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RRsum3>6 & RRsum3<=12 , robust level(83.4) reg length treatB if race==1 & guilty==1 & INTELwb== 1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & VIOLwb== -1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & LAZYwb== -1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & STEREOwb== 3 , robust level(83.4) reg length treatB if race==1 & guilty==1 & STEREOwb>= 2 & STEREOwb<=3 , robust level(83.4) reg length treatB if race==1 & guilty==1 & STEREOwb>= 1 & STEREOwb<=3 , robust level(83.4) reg length treatB if race==1 & guilty==1 & FTcoldBonly==1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & FTwb>50 & FTwb<=100 , robust level(83.4) reg length treatB if race==1 & guilty==1 & FTwb>0 & FTwb<=100 , robust level(83.4) ** [Length] Testing for respondents who might have pro-Black / anti-White animus reg length treatB if race==1 & guilty==1 & RR4==0 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RR4>=0 & RR4<=2 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RR4>=0 & RR4<8 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RRsum3==0 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RRsum3>=0 & RRsum3<=1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & RRsum3>=0 & RRsum3<6 , robust level(83.4) reg length treatB if race==1 & guilty==1 & INTELwb==-1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & VIOLwb== 1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & LAZYwb== 1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & STEREOwb== -3 , robust level(83.4) reg length treatB if race==1 & guilty==1 & STEREOwb>= -3 & STEREOwb<=-2 , robust level(83.4) reg length treatB if race==1 & guilty==1 & STEREOwb>= -3 & STEREOwb<=-1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & FTcoldWonly==1 , robust level(83.4) reg length treatB if race==1 & guilty==1 & FTwb>=-100 & FTwb<-50 , robust level(83.4) reg length treatB if race==1 & guilty==1 & FTwb>=-100 & FTwb<0 , robust level(83.4) ** tab caseid if race==1 & length!=. & guilty!=.