***Hiding Sensitive Topics by Design
***Sandra Walzenbach



*Explanatory variables
***********************

//labels
recode sex 1=0 2=1
lab def sexlbl 0 "male" 1 "female"
lab val sex sexlbl

lab def age 3"60+", modify

lab def rel 1"christian" 2 "muslim" 3 "none"
lab val rel? rel


//experimental groups
egen within_rel = diff (rel?)
lab def within_rel 1"within" 0"between"
lab val within_rel within_rel

gen exp=.
recode exp .=0 if within_rel==1
recode exp .=1 if within_rel==0 & rel1==1
recode exp .=2 if within_rel==0 & rel1==2
recode exp .=3 if within_rel==0 & rel1==3
lab def explbl 0"within" 1"between:christian" 2"between:muslim" 3"between:none"
lab val exp explbl


//respondent education
gen educ5_resp=d12
recode educ5_resp 1/6=0 7=1 8/9=2 10=.
ta educ5_resp d12
lab var educ5_resp "education (4cat)"
recode educ5_resp 1=2 if d24==6 //students to tertiary educ
lab def educ5 0"<higher sec" 1"higher sec" 2"tertiary"
lab val educ5 educ5
ta d12 educ5, m


//respondent religion
gen rr=d84
recode rr 8=0 1/3=1 4=1 7=1 9=. 10=1
ta d84 rr, m 
lab def rr 0"resp: no affiliation" 1"resp: rel affiliation"
lab val rr rr




*drop cases without variation in judgements
********************************************

egen diff = diff (vig?)
egen max = rowmax (vig?)
egen min = rowmin (vig?)
egen miss = rowmiss(vig?) 

drop if diff==0 			//[47 cases]
drop if min==max & miss!=4 	//[7 cases]

drop diff max min miss




*Graph 2. Distribution of responses dependent on experimental condition
************************************************************************

reshape long kita famstand erwerb_m erwerb_v hilfe ekla verwurzelung rel vig, i(pseudo)

ta vig within_rel, col V chi

gen vig_w = vig if within_rel==1
gen vig_b = vig if within_rel==0

graph bar (percent) vig_w vig_b, over(vig, relabel(1 `""-5" "unfairly" "low""' 6 `""0" "fair""' 11 `""5" "unfairly" "high"')) bar(1, bfcolor(gs5) blcolor(gs5)) bar(2, bfcolor(gs15) blcolor(black)) ///
graphregion(color(white)) graphregion(icolor(white)) plotregion(color(white)) plotregion(icolor(white)) ///
legend(label(1 "within") label(2 "between")) ylabel(, angle(0)) ytitle("Percent")

bysort within_rel: sum vig,de 
robvar vig, by(within_rel)	
median vig, by(within_rel) 
ranksum vig, by(within_rel) 	




*Regressions 
*(all models with vignette dimensions, controls and set effects as explanatory variables)
******************************************************************************************

char rel[omit] 3

*Graph 3. Comparison of within and between subject design
**********************************************************

//within
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0, robust cluster(pseudo)
est sto within_sexageeducrel_set

//between
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0, robust cluster(pseudo)
est sto between_sexageeducrel_set

coefplot (within_sexageeducrel_set, msymbol(D) msize(mlarge)) (between_sexageeducrel_set, msymbol(D) msize(mlarge) mfcolor(white)), coeflabels(_Irel_1="Christian vignette family" _Irel_2="Muslim vignette family") ///
drop(sex _Iage_2 _Iage_3 _Ieduc5_res_1 _Ieduc5_res_2 rr kita famstand _Ierwerb_m_2 _Ierwerb_m_3 _Ierwerb_m_4 _Ierwerb_v_2 _Ierwerb_v_3 _Ierwerb_v_4 hilfe ekla _Iverwurzel_2 _Iverwurzel_3 *block* _cons) ///
xline(0, lcolor(gs10) lpattern(dash)) plotlabels("within" "between") ///
levels(95 90) ciopts(recast(. rcap) lcolor(gs7 gs7)) graphregion(color(white)) bgcolor(white) ///
mcolor(black) grid(none) mlabel mlabposition(12) mlabcolor(gs0) format(%9.2g) mlabgap(*2)

*Significance Interactions
reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung ib3.rel##within i.block, robust cluster(pseudo)



*Graph 4. Judgements of the vignette dimension “Muslim” dependent on educational background
********************************************************************************************

//within
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & educ5_resp==0, robust cluster(pseudo)
est sto within_educ0_saer_set
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & educ5_resp==1, robust cluster(pseudo)
est sto within_educ1_saer_set
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & educ5_resp==2, robust cluster(pseudo)
est sto within_educ2_saer_set

//between
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & educ5_resp==0, robust cluster(pseudo)
est sto between_educ0_saer_set
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & educ5_resp==1, robust cluster(pseudo)
est sto between_educ1_saer_set
xi: reg vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & educ5_resp==2, robust cluster(pseudo)
est sto between_educ2_saer_set

coefplot (within_educ0_saer_set, msymbol(D) msize(mlarge)) (between_educ0_saer_set, msymbol(D) msize(mlarge) mfcolor(white)) ///
(within_educ1_saer_set, msymbol(D) msize(mlarge)) (between_educ1_saer_set, msymbol(D) msize(mlarge) mfcolor(white)) ///
(within_educ2_saer_set, msymbol(D) msize(mlarge)) (between_educ2_saer_set, msymbol(D) msize(mlarge) mfcolor(white)), ///
coeflabels(_Irel_2="rel_muslim") drop(sex _Iage_2 _Iage_3 _Ieduc5_res_1 _Ieduc5_res_2 rr _Irel_1 kita famstand _Ierwerb_m_2 _Ierwerb_m_3 _Ierwerb_m_4 _Ierwerb_v_2 _Ierwerb_v_3 _Ierwerb_v_4 hilfe ekla _Iverwurzel_2 _Iverwurzel_3 *block* _cons) ///
yline(0, lcolor(gs10) lpattern(dash)) legend(order(3 "within" 6 "between"))  ///
levels(95 90) ciopts(recast(. rcap) lcolor(gs7 gs7)) graphregion(color(white)) bgcolor(white) ///
mcolor(black) grid(between) mlabel mlabposition(1) mlabcolor(gs0) format(%9.2g) mlabgap(*2) ///
xlabel(0.7 `""below" "higher secondary""' 1 `""higher secondary" "education""' 1.3 `""tertiary education" "and students"', labsize(*0.955)) ylabel(,angle(0)) ///
vertical




*Graph 5. Judgements of the vignette dimension “Muslim” dependent on respondents’ age
**************************************************************************************

//within
xi: reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & age==1, robust cluster(pseudo)
est sto within_18_30_set
xi: reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & age==2, robust cluster(pseudo)
est sto within_30_59_set
xi: reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & age==3, robust cluster(pseudo)
est sto within_60_set
//between
xi: reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & age==1, robust cluster(pseudo)
est sto between_18_30_set
xi: reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & age==2, robust cluster(pseudo)
est sto between_30_59_set
xi: reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & age==3, robust cluster(pseudo)
est sto between_60_set

coefplot (within_18_30_set, msymbol(D) msize(mlarge)) (between_18_30_set, msymbol(D) msize(mlarge) mfcolor(white)) ///
(within_30_59_set, msymbol(D) msize(mlarge)) (between_30_59_set, msymbol(D) msize(mlarge) mfcolor(white)) ///
(within_60_set, msymbol(D) msize(mlarge)) (between_60_set, msymbol(D) msize(mlarge) mfcolor(white)), ///
coeflabels(_Irel_2="rel_muslim") drop(sex _Iage_2 _Iage_3 _Ieduc5_res_1 _Ieduc5_res_2 rel_resp _Irel_1 kita famstand _Ierwerb_m_2 _Ierwerb_m_3 _Ierwerb_m_4 _Ierwerb_v_2 _Ierwerb_v_3 _Ierwerb_v_4 hilfe ekla _Iverwurzel_2 _Iverwurzel_3 rr *block* _cons) ///
yline(0, lcolor(gs10) lpattern(dash)) legend(order(3 "within" 6 "between"))  ///
levels(95 90) ciopts(recast(. rcap) lcolor(gs7 gs7)) graphregion(color(white)) bgcolor(white) ///
mcolor(black) grid(between) mlabel mlabposition(1) mlabcolor(gs0) format(%9.2g) mlabgap(*2) ///
xlabel(0.7 "18-30" 1 "30-59" 1.3 "60+", labsize(*0.955)) ylabel(,angle(0)) ///
vertical

*Significance Interactions
reg vig sex i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel ib2.age##within_rel i.block, robust cluster(pseudo)



*Graph 6. Ingroup/outgroup differences dependent on respondents’ religious denomination
****************************************************************************************

//within
xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & rr==0, robust cluster(pseudo)
est sto within_none_saer_set
xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp==0 & rr==1, robust cluster(pseudo)
est sto within_rel_saer_set
//between
xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & rr==0, robust cluster(pseudo)
est sto between_none_saer_set
xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel i.block if exp!=0 & rr==1, robust cluster(pseudo)
est sto between_rel_saer_set

coefplot (within_none_saer_set, msymbol(D) msize(mlarge)) (between_none_saer_set, msymbol(D) msize(mlarge) mfcolor(white)) || ///
(within_rel_saer_set, msymbol(D) msize(mlarge)) (between_rel_saer_set, msymbol(D) msize(mlarge) mfcolor(white)), ///
coeflabels(_Irel_1="Christian vignette family" _Irel_2="Muslim vignette family") ///
drop(sex _Iage_2 _Iage_3 _Ieduc5_res_1 _Ieduc5_res_2 rel_resp kita famstand _Ierwerb_m_2 _Ierwerb_m_3 _Ierwerb_m_4 _Ierwerb_v_2 _Ierwerb_v_3 _Ierwerb_v_4 hilfe ekla _Iverwurzel_2 _Iverwurzel_3 *block* _cons) ///
xline(0, lcolor(gs10) lpattern(dash)) levels(95 90) ciopts(recast(. rcap) lcolor(gs7 gs7)) graphregion(fcolor(white)) plotregion(fcolor(white)) bgcolor(white) ///
mcolor(black) grid(between) mlabel mlabposition(12) mlabcolor(gs0) format(%9.2g) mlabgap(*2) ///
legend(rows(1) order(3 "within" 6 "between")) bylabels(`""respondents without" "religious denomination""' `""respondents with" "religious denomination""')


*Significance Interactions (rel*design, rr*rel)

xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung ib3.rel##within_rel i.block if rr==0, robust cluster(pseudo)
xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung ib3.rel##within_rel i.block if rr==1, robust cluster(pseudo)

xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung ib3.rel##rr i.block if exp==0, robust cluster(pseudo)
xi: reg vig sex i.age i.educ5_resp kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung ib3.rel##rr i.block if exp!=0, robust cluster(pseudo)

 


*Explained Variance in multilevel models (see footnote 5)
**********************************************************

xtmixed vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel within || block: || pseudo:  
iccvar
xtmixed vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel if within_rel==0 || block: || pseudo:  
iccvar
xtmixed vig sex i.age i.educ5_resp rr kita famstand i.erwerb_m i.erwerb_v hilfe ekla i.verwurzelung i.rel if within_rel==1 || block: || pseudo:  
iccvar

