For this analysis, an omnibus statistical model was built to explore the three-way interaction between political party (Republican = 0.5, Democrat = -0.5), statement directness (Direct = 0.5, Indirect = -0.5), and statement types, with the latter coded as planned contrasts that compare how disavowed political conspiracy statements (“Obama” or “Bush”) were answered relative to: a) each other (Obama = 0.5, Bush = -0.5), b) general political knowledge (“GK”) as control baseline (Obama or Bush = 0.5, GK = -0.5), and c) disavowed general conspiracies (“GC”) as control baseline (Obama or Bush = 0.5, GC = -0.5).
#### Read Data ####
fromprep = read.delim("/Users/nduran/Dropbox (ASU)/POLIBELIEFS/analysis/JESP/REDO/3_Ranalysis/Mouse-Traj-2GIT.csv", header = TRUE,sep=',')
Recoding:
fromprep <- within( fromprep, {
group.id <- subjnum ## subject number
item.id <- questionType ## item code
dependent.variable <- value ## action dynamic response variables
## Factor 1: Identification as Republican or Democrat (2-levels; between-subject)
political.identity <- poliID2
## Factor 2: Wording of item direct or indirect (2-levels; within-subject)
statement.direct <- explicit
## Factor 3: Item conspiracy about Bush, Obama, or general, or a general knowledge (4-levels; within-subject)
BO.GB.GK.GC <- resp_type
condition <- ifelse( BO.GB.GK.GC=="Gen Conspiracy", "Gen Conspiracy",
ifelse( BO.GB.GK.GC=="Right-wing", "Obama",
ifelse( BO.GB.GK.GC=="Left-wing", "Bush",
ifelse( BO.GB.GK.GC=="Gen Knowledge", "Gen Knowledge", NA )) ) )
} )
c_scale <- function(x) {
scale(x, scale = FALSE) }
fromprep <- within( fromprep, age.c <- c_scale(fromprep$age) )
Descriptives of main variables:
statement.direct | political.identity | condition | mean | se |
---|---|---|---|---|
Accept as True | Democrat | Bush | 504.8944 | 10.520377 |
Accept as True | Democrat | Gen Knowledge | 435.2607 | 4.504852 |
Accept as True | Democrat | Obama | 471.9945 | 7.560783 |
Accept as True | Republican | Bush | 468.0907 | 13.277617 |
Accept as True | Republican | Gen Knowledge | 434.1863 | 7.363304 |
Accept as True | Republican | Obama | 512.7238 | 20.777794 |
Reject as False | Democrat | Bush | 445.1085 | 8.690229 |
Reject as False | Democrat | Gen Conspiracy | 447.2218 | 4.810697 |
Reject as False | Democrat | Gen Knowledge | 472.7092 | 4.772405 |
Reject as False | Democrat | Obama | 478.0344 | 8.882470 |
Reject as False | Republican | Bush | 427.7033 | 10.978599 |
Reject as False | Republican | Gen Conspiracy | 465.6186 | 8.912417 |
Reject as False | Republican | Gen Knowledge | 464.2847 | 6.700528 |
Reject as False | Republican | Obama | 467.1679 | 13.116067 |
Contrast structure:
nonbelief.data <- within( subset( fromprep, endorse!="C" ), {
## for doing follow-up simple effects analyses if three-way is significant
Reject.as.False <- ifelse( statement.direct=="Reject as False", 0,
ifelse( statement.direct=="Accept as True", 1, NA ) )
## for doing follow-up simple effects analyses if three-way is significant
Accept.as.True <- ifelse( statement.direct=="Reject as False", 1,
ifelse( statement.direct=="Accept as True", 0, NA ) )
political.identity.b <- ifelse( political.identity=="Democrat", -1/2,
ifelse( political.identity=="Republican", 1/2, NA ) )
statement.direct.w <- ifelse( statement.direct=="Reject as False", 1/2,
ifelse( statement.direct=="Accept as True", -1/2, NA ) )
ObamaVsKnowledge <- ifelse( condition=="Bush", 0,
ifelse( condition=="Obama", 1/2,
ifelse( condition=="Gen Conspiracy", 0,
ifelse( condition=="Gen Knowledge", -1/2, NA ))))
BushVsKnowledge <- ifelse( condition=="Bush", 1/2,
ifelse( condition=="Obama", 0,
ifelse( condition=="Gen Conspiracy", 0,
ifelse( condition=="Gen Knowledge", -1/2, NA ))))
GeneralVsKnowledge <- ifelse( condition=="Bush", 0,
ifelse( condition=="Obama", 0,
ifelse( condition=="Gen Conspiracy", 1/2,
ifelse( condition=="Gen Knowledge", -1/2, NA ))))
} )
omnibus.nonbeliever.model <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + political.identity.b * statement.direct.w * (ObamaVsKnowledge + BushVsKnowledge + GeneralVsKnowledge), data=nonbelief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
## Estimate
## (Intercept) 469.761002
## age.c 3.390742
## political.identity.b -7.489793
## statement.direct.w -13.418422
## ObamaVsKnowledge 43.735805
## BushVsKnowledge -6.970058
## GeneralVsKnowledge 7.431752
## political.identity.b:statement.direct.w -18.623772
## political.identity.b:ObamaVsKnowledge 51.861862
## political.identity.b:BushVsKnowledge -70.369420
## political.identity.b:GeneralVsKnowledge 37.382983
## statement.direct.w:ObamaVsKnowledge -1.953055
## statement.direct.w:BushVsKnowledge -66.573438
## political.identity.b:statement.direct.w:ObamaVsKnowledge -73.126469
## political.identity.b:statement.direct.w:BushVsKnowledge 49.619711
## R2c
## 0.3387527
Test for relevant two-way interaction:
twoway.nonbeliever.model = update(omnibus.nonbeliever.model,.~.-political.identity.b:ObamaVsKnowledge-political.identity.b:BushVsKnowledge-political.identity.b:GeneralVsKnowledge)
## twoway.nonbeliever.model
## df 2.000000e+00
## chi 1.758475e+01
## p 1.518866e-04
Test for relevant three-way interaction:
threeway.nonbeliever.model = update(omnibus.nonbeliever.model,.~.-political.identity.b:statement.direct.w:ObamaVsKnowledge-political.identity.b:statement.direct.w:BushVsKnowledge)
## threeway.nonbeliever.model
## df 1.00000000
## chi 4.48616530
## p 0.03417024
Interpreting the omnibus coefficients:
planCont = rbind(
# note that "Bush" becomes the new baseline; Obama vs. Bush
"RQ1.2way" = c(0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0),
# Obama vs. GK
"RQ2.2way" = c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0),
# Bush vs. GK
"RQ3.2way" = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0),
# note that GC becomes the new baseline; Obama vs. GC
"RQ4.2way" = c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0),
# note that GC becomes the new baseline; Bush vs. GC
"RQ5.2way" = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0),
# Obama vs. Bush vs. directness
"RQ1.3way" = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1),
# Obama vs. GK vs. directness
"RQ2.3way" = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0),
# Bush vs. GK vs. directness
"RQ3.3way" = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1))
## Estimate Std..Error t.value p.values DV
## RQ1.2way 122.23128 29.14492 4.1939138 2.741822e-05 nonbelief
## RQ2.2way 51.86186 18.55350 2.7952600 5.185799e-03 nonbelief
## RQ3.2way -70.36942 16.16660 -4.3527655 1.344309e-05 nonbelief
## RQ4.2way 14.47888 31.78027 0.4555933 6.486825e-01 nonbelief
## RQ5.2way -107.75240 28.79747 -3.7417311 1.827570e-04 nonbelief
## RQ1.3way -122.74618 57.94918 -2.1181695 3.416072e-02 nonbelief
## RQ2.3way -73.12647 32.73139 -2.2341385 2.547396e-02 nonbelief
## RQ3.3way 49.61971 29.65599 1.6731768 9.429250e-02 nonbelief
Simple effects follow-up (assuming sig 3-way):
##// Reject as False
raf.omnibus.nonbeliever <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + political.identity.b * Reject.as.False * (ObamaVsKnowledge + BushVsKnowledge), data=nonbelief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
##// test for two-way interaction in order to follow-up
raf.nonbeliever = update( raf.omnibus.nonbeliever, .~.-political.identity.b:ObamaVsKnowledge-political.identity.b:BushVsKnowledge)
## rejectasfalse.nonbeliever.model
## df 2.0000000
## chi 3.0750110
## p 0.2149165
##// Accept as True
aat.omnibus.nonbeliever <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + political.identity.b * Accept.as.True * (ObamaVsKnowledge + BushVsKnowledge), data=nonbelief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
##// test for two-way interaction in order to follow-up
aat.nonbeliever = update( aat.omnibus.nonbeliever, .~.-political.identity.b:ObamaVsKnowledge-political.identity.b:BushVsKnowledge)
## acceptastrue.nonbeliever.model
## df 2.000000e+00
## chi 2.068597e+01
## p 3.221801e-05
## Estimate
## (Intercept) 475.236170
## age.c 3.389620
## political.identity.b -4.409069
## Accept.as.True -11.365266
## ObamaVsKnowledge 47.288305
## BushVsKnowledge 28.781642
## political.identity.b:Accept.as.True -9.920295
## political.identity.b:ObamaVsKnowledge 101.075652
## political.identity.b:BushVsKnowledge -82.737205
## Accept.as.True:ObamaVsKnowledge 2.578576
## Accept.as.True:BushVsKnowledge -68.067295
## political.identity.b:Accept.as.True:ObamaVsKnowledge -61.800576
## political.identity.b:Accept.as.True:BushVsKnowledge 50.513171
planCont = rbind(
# testing "political.identity.b:ObamaVsKnowledge" vs. "political.identity.b:BushVsKnowledge"
"PI:OvB" = c(0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0),
# testing "political.identity.b:ObamaVsKnowledge"
"PI:OvK" = c(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0),
# testing "political.identity.b:BushVsKnowledge"
"PI:BvK" = c(0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0))
## Estimate Std..Error t.value p.values DV
## PI:OvB 183.8129 40.84213 4.500570 6.777163e-06 acceptastrue/nonbelief
## PI:OvK 101.0757 22.78116 4.436809 9.130221e-06 acceptastrue/nonbelief
## PI:BvK -82.7372 21.25903 -3.891862 9.947786e-05 acceptastrue/nonbelief
We continue to examine nonbelief responses using the same omnibus model as above, but rather than comparing relative differences between Republicans and Democrats, the goal here is to evaluate how partisans answer political conspiracies (relative to baseline statements) as a self-contained ideological group. Accordingly, the interaction term with political party is removed and replaced with a dummy-coded variable that allows Republicans and Democrats to be evaluated separately, with a focus on the main effect of statement types as a series of planned contrasts, and their interaction with statement directness.
nonbelief.data <- within( subset( nonbelief.data, endorse!="C" ), {
## for within subjects analysis
republican <- ifelse( poliID2=="Republican", 0,
ifelse( poliID2=="Democrat", 1, NA ) )
## for within subjects analysis
democrat <- ifelse( poliID2=="Democrat", 0,
ifelse( poliID2=="Republican", 1, NA ) )
} )
Republicans
republican.omnibus.nonbeliever.model <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + statement.direct.w * republican * (ObamaVsKnowledge + BushVsKnowledge + GeneralVsKnowledge), data=nonbelief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
## Estimate
## (Intercept) 466.016105
## age.c 3.390742
## statement.direct.w -22.730308
## republican 7.489793
## ObamaVsKnowledge 69.666736
## BushVsKnowledge -42.154767
## GeneralVsKnowledge 26.123244
## statement.direct.w:republican 18.623772
## statement.direct.w:ObamaVsKnowledge -38.516289
## statement.direct.w:BushVsKnowledge -41.763582
## republican:ObamaVsKnowledge -51.861861
## republican:BushVsKnowledge 70.369420
## republican:GeneralVsKnowledge -37.382984
## statement.direct.w:republican:ObamaVsKnowledge 73.126469
## statement.direct.w:republican:BushVsKnowledge -49.619712
##// test for main effect in order to follow-up
republican.nonbeliever.main = update( republican.omnibus.nonbeliever.model, .~.-ObamaVsKnowledge-BushVsKnowledge-GeneralVsKnowledge)
## republican.nonbeliever.main
## df 2.00000000
## chi 7.72404253
## p 0.02102546
planCont = rbind(
# note that "Bush" items become the new baseline
"OvB" = c(0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"OvK" = c(0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"BvK" = c(0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0),
# note that "General Conspiracy" items become the new baseline
"OvGC" = c(0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0),
"BvGC" = c(0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0))
# note that "General Conspiracy" items become the new baseline
# "OvB:Direct" = c(0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 1, -1),
# "OvK:Direct" = c(0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 1, 0),
# "BvK:Direct" = c(0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1))
## Estimate Std..Error t.value p.values DV
## OvB 111.82150 53.03854 2.1083066 0.03500448 republican/nonbelief
## OvK 69.66674 33.55760 2.0760344 0.03789077 republican/nonbelief
## BvK -42.15477 32.16239 -1.3106853 0.18996411 republican/nonbelief
## OvGC 43.54349 65.36832 0.6661253 0.50533103 republican/nonbelief
## BvGC -68.27801 63.86895 -1.0690330 0.28505479 republican/nonbelief
##// test for two-way interaction in order to follow-up
republican.nonbeliever.twoway = update( republican.omnibus.nonbeliever.model, .~.-statement.direct.w:ObamaVsKnowledge-statement.direct.w:BushVsKnowledge)
## republican.nonbeliever.twoway
## df 1.0000000000
## chi 0.0009400276
## p 0.9755407950
Democrats
democrat.omnibus.nonbeliever.model <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + statement.direct.w * democrat * (ObamaVsKnowledge + BushVsKnowledge + GeneralVsKnowledge), data=nonbelief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
## Estimate
## (Intercept) 473.505898
## age.c 3.390742
## statement.direct.w -4.106536
## democrat -7.489793
## ObamaVsKnowledge 17.804874
## BushVsKnowledge 28.214653
## GeneralVsKnowledge -11.259739
## statement.direct.w:democrat -18.623772
## statement.direct.w:ObamaVsKnowledge 34.610181
## statement.direct.w:BushVsKnowledge -91.383292
## democrat:ObamaVsKnowledge 51.861862
## democrat:BushVsKnowledge -70.369420
## democrat:GeneralVsKnowledge 37.382983
## statement.direct.w:democrat:ObamaVsKnowledge -73.126469
## statement.direct.w:democrat:BushVsKnowledge 49.619711
##// test for main effect in order to follow-up
democrat.nonbeliever.main = update( democrat.omnibus.nonbeliever.model, .~.-ObamaVsKnowledge-BushVsKnowledge-GeneralVsKnowledge)
## democrat.nonbeliever.main
## df 2.0000000
## chi 3.3137465
## p 0.1907344
##// test for two-way interaction in order to follow-up
democrat.nonbeliever.twoway = update( democrat.omnibus.nonbeliever.model, .~.-statement.direct.w:ObamaVsKnowledge-statement.direct.w:BushVsKnowledge)
## democrat.nonbeliever.twoway
## df 1.0000000
## chi 1.6481647
## p 0.1992089
For this final analysis, we now examine belief responses for Republicans and Democrats as separate groups (within groups analysis). The main research question is concerned with whether participants show accuracy/self-presentation biases when endorsing party concordant political conspiracies; for Republicans, these are unique to Obama political conspiracies, for Democrats, these are unique to Bush political conspiracies. Changes in initial latency and average deviation for these items were assessed relative to how participants responded to general political knowledge items as a baseline.
Recoding:
#### Read Data ####
fromprep = read.delim("/Users/nduran/Dropbox (ASU)/POLIBELIEFS/analysis/JESP/REDO/3_Ranalysis/Mouse-Traj-1GIT.csv", header = TRUE,sep=',')
fromprep <- within( fromprep, {
group.id <- subjnum ## subject number
item.id <- questionType ## item code
dependent.variable <- value ## action dynamic response variables
## Factor 1: Wording of item direct or indirect (2-levels; within-subject)
statement.direct <- explicit
## Factor 2: Item conspiracy about Bush, Obama, or general, or a general knowledge (4-levels; within-subject)
BO.GB.GK.GC <- resp_type
condition.belief <- ifelse( BO.GB.GK.GC=="Gen Conspiracy", "Gen Conspiracy",
ifelse( BO.GB.GK.GC=="Right-wing" & poliID2=="Republican", "Party Concordant",
ifelse( BO.GB.GK.GC=="Left-wing" & poliID2=="Democrat", "Party Concordant",
ifelse( BO.GB.GK.GC=="Right-wing" & poliID2=="Democrat", "Party Discordant",
ifelse( BO.GB.GK.GC=="Left-wing" & poliID2=="Republican", "Party Discordant",
ifelse( BO.GB.GK.GC=="Gen Knowledge", "Gen Knowledge", NA )))) ) )
} )
c_scale <- function(x) {
scale(x, scale = FALSE) }
fromprep <- within( fromprep, age.c <- c_scale(fromprep$age) )
Contrast structure:
belief.data <- within( subset( fromprep, endorse!="NC" ), {
## for within subjects analysis
republican <- ifelse( poliID2=="Republican", 0,
ifelse( poliID2=="Democrat", 1, NA ) )
## for within subjects analysis
democrat <- ifelse( poliID2=="Democrat", 0,
ifelse( poliID2=="Republican", 1, NA ) )
statement.direct.w <- ifelse( statement.direct=="Reject as False", 1/2,
ifelse( statement.direct=="Accept as True", -1/2, NA ) )
noGCPD.PartyVsKnowledge <- ifelse( condition.belief=="Party Concordant", 1/2,
ifelse( condition.belief=="Party Discordant", NA,
ifelse( condition.belief=="Gen Conspiracy", NA,
ifelse( condition.belief=="Gen Knowledge", -1/2, NA ))))
} )
Republicans
Descriptives of main variables:
statement.direct | condition.belief | mean | se |
---|---|---|---|
Accept as True | Gen Conspiracy | 475.3064 | 14.699888 |
Accept as True | Gen Knowledge | 434.1863 | 7.363304 |
Accept as True | Party Concordant | 469.5859 | 14.990646 |
Accept as True | Party Discordant | 496.0000 | 56.483357 |
Reject as False | Gen Knowledge | 464.2847 | 6.700528 |
Reject as False | Party Concordant | 500.7500 | 17.401942 |
Reject as False | Party Discordant | 528.4510 | 29.817248 |
republican.omnibus.believer.model <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + statement.direct.w * republican * (noGCPD.PartyVsKnowledge), data=belief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
## Estimate
## (Intercept) 456.121668
## age.c 3.157937
## statement.direct.w 26.099987
## republican 25.205933
## noGCPD.PartyVsKnowledge 34.478090
## statement.direct.w:republican 29.111752
## statement.direct.w:noGCPD.PartyVsKnowledge 15.550880
## republican:noGCPD.PartyVsKnowledge 15.934709
## statement.direct.w:republican:noGCPD.PartyVsKnowledge 45.893537
## R2c
## 0.3299292
planCont = rbind(
# testing "noGCPD.PartyVsKnowledge"
"RQ1" = c(0, 0, 0, 0, 1, 0, 0, 0, 0),
# testing "statement.direct.w:noGCPD.PartyVsKnowledge"
"RQ1.2way" = c(0, 0, 0, 0, 0, 0, 1, 0, 0))
## Estimate Std..Error t.value p.values DV
## RQ1 34.47809 23.65301 1.4576619 0.1449338 Republican/belief
## RQ1.2way 15.55088 42.88316 0.3626338 0.7168785 Republican/belief
Democrats
Descriptives of main variables:
statement.direct | condition.belief | mean | se |
---|---|---|---|
Accept as True | Gen Conspiracy | 502.8127 | 11.423828 |
Accept as True | Gen Knowledge | 435.2607 | 4.504852 |
Accept as True | Party Concordant | 477.4874 | 14.222764 |
Accept as True | Party Discordant | 519.9764 | 23.856787 |
Reject as False | Gen Knowledge | 472.7092 | 4.772405 |
Reject as False | Party Concordant | 546.1751 | 15.956916 |
Reject as False | Party Discordant | 519.0409 | 21.795002 |
democrat.omnibus.believer.model <- lmer( dependent.variable ~ (1|group.id) + (1|item.id) + age.c + statement.direct.w * democrat * (noGCPD.PartyVsKnowledge), data=belief.data, REML=FALSE, na.action = na.exclude, subset=variable=="latency" )
## Estimate
## (Intercept) 481.327601
## age.c 3.157937
## statement.direct.w 55.211739
## democrat -25.205933
## noGCPD.PartyVsKnowledge 50.412798
## statement.direct.w:democrat -29.111752
## statement.direct.w:noGCPD.PartyVsKnowledge 61.444417
## democrat:noGCPD.PartyVsKnowledge -15.934708
## statement.direct.w:democrat:noGCPD.PartyVsKnowledge -45.893537
## R2c
## 0.3299292
planCont = rbind(
# testing "noGCPD.PartyVsKnowledge"
"RQ2" = c(0, 0, 0, 0, 1, 0, 0, 0, 0),
# testing "statement.direct.w:noGCPD.PartyVsKnowledge"
"RQ2.2way" = c(0, 0, 0, 0, 0, 0, 1, 0, 0))
## Estimate Std..Error t.value p.values DV
## RQ2 50.41280 22.59714 2.230937 0.02568531 Democrat/belief
## RQ2.2way 61.44442 40.59028 1.513772 0.13008373 Democrat/belief