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 | 59.87316 | 2.0944661 |
Accept as True | Democrat | Gen Knowledge | 49.82712 | 0.8002504 |
Accept as True | Democrat | Obama | 52.38536 | 1.5248915 |
Accept as True | Republican | Bush | 51.41215 | 2.6321112 |
Accept as True | Republican | Gen Knowledge | 49.97484 | 1.3073547 |
Accept as True | Republican | Obama | 55.08714 | 3.0938848 |
Reject as False | Democrat | Bush | 48.23786 | 1.5444397 |
Reject as False | Democrat | Gen Conspiracy | 44.73255 | 1.0216475 |
Reject as False | Democrat | Gen Knowledge | 51.30605 | 0.8230883 |
Reject as False | Democrat | Obama | 53.91459 | 1.6623564 |
Reject as False | Republican | Bush | 45.16264 | 2.0793151 |
Reject as False | Republican | Gen Conspiracy | 44.30030 | 1.5484605 |
Reject as False | Republican | Gen Knowledge | 51.80218 | 1.3413127 |
Reject as False | Republican | Obama | 61.77136 | 3.6105990 |
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=="avgdeviat" )
## Estimate
## (Intercept) 51.42385670
## age.c -0.25047522
## political.identity.b 0.05106686
## statement.direct.w -0.22247247
## ObamaVsKnowledge 12.14842038
## BushVsKnowledge 0.70755015
## GeneralVsKnowledge -10.34229977
## political.identity.b:statement.direct.w 3.07128902
## political.identity.b:ObamaVsKnowledge 13.00910759
## political.identity.b:BushVsKnowledge -11.38045946
## political.identity.b:GeneralVsKnowledge -3.10669299
## statement.direct.w:ObamaVsKnowledge 6.99634919
## statement.direct.w:BushVsKnowledge -11.61465931
## political.identity.b:statement.direct.w:ObamaVsKnowledge 1.74315311
## political.identity.b:statement.direct.w:BushVsKnowledge 1.39401527
## R2c
## 0.1195232
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.634228e+01
## p 2.826953e-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.0000000000
## chi 0.0008152169
## p 0.9772218915
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 24.389567 6.143203 3.970171 7.182112e-05 nonbelief
## RQ2.2way 13.009108 3.909311 3.327724 8.755853e-04 nonbelief
## RQ3.2way -11.380459 3.409488 -3.337879 8.442042e-04 nonbelief
## RQ4.2way 16.115801 6.699090 2.405670 1.614284e-02 nonbelief
## RQ5.2way -8.273766 6.073820 -1.362201 1.731343e-01 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=="avgdeviat" )
## Estimate
## (Intercept) 51.44939007
## age.c -0.25047522
## statement.direct.w 1.31317202
## republican -0.05106686
## ObamaVsKnowledge 18.65297378
## BushVsKnowledge -4.98267950
## GeneralVsKnowledge -11.89564636
## statement.direct.w:republican -3.07128911
## statement.direct.w:ObamaVsKnowledge 7.86792619
## statement.direct.w:BushVsKnowledge -10.91765245
## republican:ObamaVsKnowledge -13.00910739
## republican:BushVsKnowledge 11.38045921
## republican:GeneralVsKnowledge 3.10669307
## statement.direct.w:republican:ObamaVsKnowledge -1.74315321
## statement.direct.w:republican:BushVsKnowledge -1.39401553
##// 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.000000000
## chi 10.370375182
## p 0.005598886
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 23.635653 8.058579 2.9329801 0.003357254 republican/nonbelief
## OvK 18.652974 5.142734 3.6270543 0.000286673 republican/nonbelief
## BvK -4.982680 4.732459 -1.0528732 0.292399110 republican/nonbelief
## OvGC 30.548620 9.651358 3.1652147 0.001549686 republican/nonbelief
## BvGC 6.912967 9.196147 0.7517242 0.452216911 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.0000000
## chi 1.3559384
## p 0.2442426
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=="avgdeviat" )
## Estimate
## (Intercept) 51.39832322
## age.c -0.25047522
## statement.direct.w -1.75811709
## democrat 0.05106686
## ObamaVsKnowledge 5.64386640
## BushVsKnowledge 6.39777972
## GeneralVsKnowledge -8.78895327
## statement.direct.w:democrat 3.07128911
## statement.direct.w:ObamaVsKnowledge 6.12477295
## statement.direct.w:BushVsKnowledge -12.31166791
## democrat:ObamaVsKnowledge 13.00910741
## democrat:BushVsKnowledge -11.38045922
## democrat:GeneralVsKnowledge -3.10669308
## statement.direct.w:democrat:ObamaVsKnowledge 1.74315320
## statement.direct.w:democrat:BushVsKnowledge 1.39401549
##// 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 4.4352687
## p 0.1088663
##// 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.000000
## chi 1.828896
## p 0.176258
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 | 47.78478 | 3.046606 |
Accept as True | Gen Knowledge | 49.97484 | 1.307355 |
Accept as True | Party Concordant | 52.44802 | 3.246459 |
Accept as True | Party Discordant | 58.32611 | 6.884538 |
Reject as False | Gen Knowledge | 51.80218 | 1.341313 |
Reject as False | Party Concordant | 55.87876 | 3.444167 |
Reject as False | Party Discordant | 62.13666 | 6.536093 |
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=="avgdeviat" )
## Estimate
## (Intercept) 52.69305069
## age.c -0.24267054
## statement.direct.w 3.02985242
## republican -0.01333307
## noGCPD.PartyVsKnowledge 4.35069291
## statement.direct.w:republican 0.28945939
## statement.direct.w:noGCPD.PartyVsKnowledge 1.28842809
## republican:noGCPD.PartyVsKnowledge 1.50005718
## statement.direct.w:republican:noGCPD.PartyVsKnowledge 3.30153101
## R2c
## 0.1124773
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 4.350693 3.346155 1.3002068 0.1935301 Republican/belief
## RQ1.2way 1.288428 6.331823 0.2034845 0.8387563 Republican/belief
Democrats
Descriptives of main variables:
statement.direct | condition.belief | mean | se |
---|---|---|---|
Accept as True | Gen Conspiracy | 49.85733 | 2.0093541 |
Accept as True | Gen Knowledge | 49.82712 | 0.8002504 |
Accept as True | Party Concordant | 53.08402 | 2.6858323 |
Accept as True | Party Discordant | 58.51997 | 3.9614240 |
Reject as False | Gen Knowledge | 51.30605 | 0.8230883 |
Reject as False | Party Concordant | 58.67892 | 2.5170723 |
Reject as False | Party Discordant | 76.93151 | 4.7706114 |
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=="avgdeviat" )
## Estimate
## (Intercept) 52.67971762
## age.c -0.24267054
## statement.direct.w 3.31931180
## democrat 0.01333307
## noGCPD.PartyVsKnowledge 5.85075009
## statement.direct.w:democrat -0.28945939
## statement.direct.w:noGCPD.PartyVsKnowledge 4.58995909
## democrat:noGCPD.PartyVsKnowledge -1.50005717
## statement.direct.w:democrat:noGCPD.PartyVsKnowledge -3.30153100
## R2c
## 0.1124773
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 5.850750 3.018540 1.9382718 0.05259007 Democrat/belief
## RQ2.2way 4.589959 5.646814 0.8128405 0.41630950 Democrat/belief