Below are the packages necessary for the analysis.
# Load all the necessary packages
library(estimatr)
library(huxtable)
library(jtools)
library(car)
library(broom.mixed)
library(modelsummary)
library(ggplot2)
library(gridExtra)
# Load the dataset
load('all_data_may24.rda')
# Subset by country
US_data <- all_data[all_data$country == "US",]
GB_data <- all_data[all_data$country == "GB",]
FR_data <- all_data[all_data$country == "FR",]
PL_data <- all_data[all_data$country == "PL",]
Personality is a puzzle. How does FBD help us understand the relationship between conspiracy belief and personality traits? Personality traits are working through FBD?
Personality is a puzzle. How does FBD help us understand the relationship between conspiracy belief and personality traits? Personality traits are working through FBD?
PopulismUS_MainEffect = lm(populism_rw_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
PopulismPL_MainEffect = lm(populism_rw_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
PopulismFR_MainEffect = lm(populism_rw_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
PopulismGB_MainEffect = lm(populism_rw_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
PopulismUS_personality = lm(populism_rw_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
PopulismPL_personality = lm(populism_rw_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
PopulismFR_personality = lm(populism_rw_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
PopulismGB_personality = lm(populism_rw_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
PopulismUS_fullFBD = lm(populism_rw_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
PopulismPL_fullFBD = lm(populism_rw_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
PopulismFR_fullFBD = lm(populism_rw_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
PopulismGB_fullFBD = lm(populism_rw_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
# for the US
PopulismmodelsUS <- plot_summs(PopulismUS_MainEffect, PopulismUS_personality, PopulismUS_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Populism-Main Effects Model", "Populism-Personality Model", "Populism-Full Model"))
PopulismmodelsUS + labs(title="Populism Models (US only)")+ theme(plot.title=element_text(family="sans", face="bold"))
# for PL
PopulismmodelsPL <- plot_summs(PopulismPL_MainEffect, PopulismPL_personality, PopulismPL_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Populism-Main Effects Model", "Populism-Personality Model", "Populism-Full Model"))
PopulismmodelsPL + labs(title="Populism Models (PL only)")+ theme(plot.title=element_text(family="sans", face="bold"))
# for FR
PopulismmodelsFR <- plot_summs(PopulismFR_MainEffect, PopulismFR_personality, PopulismFR_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Populism-Main Effects Model", "Populism-Personality Model", "Populism-Full Model"))
PopulismmodelsFR + labs(title="Populism Models (FR only)")+ theme(plot.title=element_text(family="sans", face="bold"))
# for GB
PopulismmodelsGB <- plot_summs(PopulismGB_MainEffect, PopulismGB_personality, PopulismGB_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Populism-Main Effects Model", "Populism-Personality Model", "Populism-Full Model"))
PopulismmodelsGB + labs(title="Populism Models (GB only)")+ theme(plot.title=element_text(family="sans", face="bold"))
comparison_modelsUSPopulism<-export_summs(PopulismUS_MainEffect, PopulismUS_personality, PopulismUS_fullFBD,
scale=TRUE, model.names=c("Populism-Main Effects Model", "Populism-Personality Model", "Populism-Full Model"),
statistics=c("adjusted R-Squared" ="adj.r.squared","p-value"="p.value", "F statistic"="statistic"),
stars = c(`***` = 0.001, `**` = 0.01, `*` = 0.05, `Ā·` = 0.1))#, to.file="word", file.name = "modelsUS.docx")
comparison_modelsUSPopulism
Populism-Main Effects Model | Populism-Personality Model | Populism-Full Model | |
---|---|---|---|
(Intercept) | -0.08Ā Ā Ā Ā | -0.08Ā Ā Ā Ā | -0.09 Ā·Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
ethnocentrism_std | 0.06 **Ā | 0.05 Ā·Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
church_attendance_std | -0.07 *** | -0.08 *** | -0.06 **Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ideology_std | 0.29 *** | 0.28 *** | 0.24 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ethnic_majority | 0.05Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.06Ā Ā Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
age_std | -0.08 *** | -0.08 **Ā | 0.00Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
education_collapse | -0.06 **Ā | -0.06 *Ā Ā | -0.06 **Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
Q1_interest_in_politics_std | 0.16 *** | 0.17 *** | 0.13 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
income | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
marital_status | 0.08 Ā·Ā Ā | 0.08 Ā·Ā Ā | 0.07 Ā·Ā Ā |
(0.04)Ā Ā Ā | (0.04)Ā Ā Ā | (0.04)Ā Ā Ā | |
rwa_std | Ā Ā Ā Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.04 Ā·Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
sdo_std | Ā Ā Ā Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.03)Ā Ā Ā | |
big5_conscientiousness_std | Ā Ā Ā Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.09 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_agreeableness_std | Ā Ā Ā Ā Ā Ā Ā | -0.06 *Ā Ā | -0.04Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_extraversion_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_openness_std | Ā Ā Ā Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_stability_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.07 **Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
devalued_std | Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | 0.45 *** |
Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | |
adjusted R-Squared | 0.17Ā Ā Ā Ā | 0.17Ā Ā Ā Ā | 0.33Ā Ā Ā Ā |
p-value | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
F statistic | 45.84Ā Ā Ā Ā | 26.69Ā Ā Ā Ā | 58.08Ā Ā Ā Ā |
All continuous predictors are mean-centered and scaled by 1 standard deviation. *** p < 0.001; ** p < 0.01; * p < 0.05; Ā· p < 0.1. |
conspiracyUS_MainEffect = lm(conspiratorial_orientation_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
conspiracyPL_MainEffect = lm(conspiratorial_orientation_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
conspiracyFR_MainEffect = lm(conspiratorial_orientation_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
conspiracyGB_MainEffect = lm(conspiratorial_orientation_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
conspiracyUS_personality = lm(conspiratorial_orientation_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
conspiracyPL_personality = lm(conspiratorial_orientation_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
conspiracyFR_personality = lm(conspiratorial_orientation_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
conspiracyGB_personality = lm(conspiratorial_orientation_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
conspiracyUS_fullFBD = lm(conspiratorial_orientation_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
conspiracyPL_fullFBD = lm(conspiratorial_orientation_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
conspiracyFR_fullFBD = lm(conspiratorial_orientation_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
conspiracyGB_fullFBD = lm(conspiratorial_orientation_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
# for the US
conspiracymodelsUS <- plot_summs(conspiracyUS_MainEffect, conspiracyUS_personality, conspiracyUS_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Conspiracism-Main Effects Model", "Conspiracism-Personality Model", "Conspiracism-Full Model"))
conspiracymodelsUS + labs(title="Conspiracism Models (US only)")+ theme(plot.title=element_text(family="sans", face="bold"))
# for PL
conspiracymodelsPL <- plot_summs(conspiracyPL_MainEffect, conspiracyPL_personality, conspiracyPL_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Conspiracism-Main Effects Model", "Conspiracism-Personality Model", "Conspiracism-Full Model"))
conspiracymodelsPL + labs(title="Conspiracism Models (PL only)")+ theme(plot.title=element_text(family="sans", face="bold"))
# for FR
conspiracymodelsFR <- plot_summs(conspiracyFR_MainEffect, conspiracyFR_personality, conspiracyFR_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Conspiracism-Main Effects Model", "Conspiracism-Personality Model", "Conspiracism-Full Model"))
conspiracymodelsFR + labs(title="Conspiracism Models (FR only)")+ theme(plot.title=element_text(family="sans", face="bold"))
# for GB
conspiracymodelsGB <- plot_summs(conspiracyGB_MainEffect, conspiracyGB_personality, conspiracyGB_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Conspiracism-Main Effects Model", "Conspiracism-Personality Model", "Conspiracism-Full Model"))
conspiracymodelsGB + labs(title="Conspiracism Models (GB only)")+ theme(plot.title=element_text(family="sans", face="bold"))
comparison_modelsUSConspiracy<-export_summs(conspiracyUS_MainEffect, conspiracyUS_personality, conspiracyUS_fullFBD,
scale=TRUE, model.names=c("Conspiracism-Main Effects Model", "Conspiracism-Personality Model", "Conspiracism-Full Model"),
statistics=c("adjusted R-Squared" ="adj.r.squared","p-value"="p.value", "F statistic"="statistic"),
stars = c(`***` = 0.001, `**` = 0.01, `*` = 0.05, `Ā·` = 0.1))#, to.file="word", file.name = "modelsUS.docx")
comparison_modelsUSConspiracy
Conspiracism-Main Effects Model | Conspiracism-Personality Model | Conspiracism-Full Model | |
---|---|---|---|
(Intercept) | -0.06Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | -0.04Ā Ā Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.04)Ā Ā Ā | |
ethnocentrism_std | 0.13 *** | 0.04 Ā·Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
church_attendance_std | -0.07 **Ā | -0.05 *Ā Ā | -0.03Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ideology_std | 0.35 *** | 0.31 *** | 0.27 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ethnic_majority | -0.00Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | -0.02Ā Ā Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
age_std | -0.22 *** | -0.19 *** | -0.12 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
education_collapse | -0.09 *** | -0.08 *** | -0.09 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
Q1_interest_in_politics_std | 0.02Ā Ā Ā Ā | 0.04 *Ā Ā | 0.01Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
income | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.00Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
marital_status | 0.10 *Ā Ā | 0.10 *Ā Ā | 0.10 **Ā |
(0.04)Ā Ā Ā | (0.04)Ā Ā Ā | (0.04)Ā Ā Ā | |
rwa_std | Ā Ā Ā Ā Ā Ā Ā | 0.07 **Ā | 0.07 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
sdo_std | Ā Ā Ā Ā Ā Ā Ā | 0.12 *** | 0.11 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_conscientiousness_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_agreeableness_std | Ā Ā Ā Ā Ā Ā Ā | -0.05 *Ā Ā | -0.03Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_extraversion_std | Ā Ā Ā Ā Ā Ā Ā | -0.04 Ā·Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_openness_std | Ā Ā Ā Ā Ā Ā Ā | 0.05 *Ā Ā | 0.05 **Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_stability_std | Ā Ā Ā Ā Ā Ā Ā | -0.06 **Ā | 0.02Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
devalued_std | Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | 0.37 *** |
Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | |
adjusted R-Squared | 0.26Ā Ā Ā Ā | 0.28Ā Ā Ā Ā | 0.39Ā Ā Ā Ā |
p-value | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
F statistic | 79.45Ā Ā Ā Ā | 49.63Ā Ā Ā Ā | 75.80Ā Ā Ā Ā |
All continuous predictors are mean-centered and scaled by 1 standard deviation. *** p < 0.001; ** p < 0.01; * p < 0.05; Ā· p < 0.1. |
## corrplot 0.92 loaded
all_data_numeric_only = subset(all_data, select = c(devalued_std, populism_rw_std, populism_main_std, conspiratorial_orientation_std, big5_openness_std, big5_conscientiousness_std, big5_extraversion_std, big5_agreeableness_std, big5_stability_std, rwa_std, sdo_std, ethnic_majority, income, gender, age_std, ideology_std))
correlation_matrix_allcountries= cor(all_data_numeric_only, method="pearson", use="pairwise.complete.obs")
corrplot(correlation_matrix_allcountries, method="color", order="alphabet", tl.col = 'steelblue4', tl.pos="lt", tl.cex=0.7, tl.srt=45, number.cex=0.7, addgrid.col = 'white', addCoef.col = 'black')
US_data_numeric_only = subset(US_data, select = c(devalued_std, populism_rw_std, populism_main_std, conspiratorial_orientation_std, big5_openness_std, big5_conscientiousness_std, big5_extraversion_std, big5_agreeableness_std, big5_stability_std, rwa_std, sdo_std, ethnic_majority, income, gender, age_std, ideology_std))
correlation_matrix_US= cor(US_data_numeric_only, method="pearson", use="pairwise.complete.obs")
corrplot(correlation_matrix_US, method="color", order="alphabet", tl.col = 'steelblue4', tl.pos="lt", tl.cex=0.7, tl.srt=45, number.cex=0.7, addgrid.col = 'white', addCoef.col = 'black')
PL_data_numeric_only = subset(PL_data, select = c(devalued_std, populism_rw_std, populism_main_std, conspiratorial_orientation_std, big5_openness_std, big5_conscientiousness_std, big5_extraversion_std, big5_agreeableness_std, big5_stability_std, rwa_std, sdo_std, ethnic_majority, income, gender, age_std, ideology_std))
correlation_matrix_PL= cor(PL_data_numeric_only, method="pearson", use="pairwise.complete.obs")
corrplot(correlation_matrix_PL, method="color", order="alphabet", tl.col = 'steelblue4', tl.pos="lt", tl.cex=0.7, tl.srt=45, number.cex=0.7, addgrid.col = 'white', addCoef.col = 'black')
FR_data_numeric_only = subset(FR_data, select = c(devalued_std, populism_rw_std, populism_main_std, conspiratorial_orientation_std, big5_openness_std, big5_conscientiousness_std, big5_extraversion_std, big5_agreeableness_std, big5_stability_std, rwa_std, sdo_std, ethnic_majority, income, gender, age_std, ideology_std))
correlation_matrix_FR= cor(FR_data_numeric_only, method="pearson", use="pairwise.complete.obs")
corrplot(correlation_matrix_FR, method="color", order="alphabet", tl.col = 'steelblue4', tl.pos="lt", tl.cex=0.7, tl.srt=45, number.cex=0.7, addgrid.col = 'white', addCoef.col = 'black')
GB_data_numeric_only = subset(GB_data, select = c(devalued_std, populism_rw_std, populism_main_std, conspiratorial_orientation_std, big5_openness_std, big5_conscientiousness_std, big5_extraversion_std, big5_agreeableness_std, big5_stability_std, rwa_std, sdo_std, ethnic_majority, income, gender, age_std, ideology_std))
correlation_matrix_GB= cor(GB_data_numeric_only, method="pearson", use="pairwise.complete.obs")
corrplot(correlation_matrix_GB, method="color", order="alphabet", tl.col = 'steelblue4', tl.pos="lt", tl.cex=0.7, tl.srt=45, number.cex=0.7, addgrid.col = 'white', addCoef.col = 'black')
# Create the density plot for Feelings of Being Devalued (FBD) in all_data
ggplot(all_data, aes(x=devalued)) +
geom_density(fill="darkorange", alpha=0.5) +
labs(title="Feelings of Being Devalued (all countries)", x="devalued_std", y="Density") +ylim(0, 0.4)
# Create the density plot for FBD in US_data
ggplot(US_data, aes(x=devalued)) +
geom_density(fill="darkred", alpha=0.5) +
labs(title="Feelings of Being Devalued (United States)", x="devalued_std", y="Density") +ylim(0, 0.4)
# Create the density plot for FBD in PL_data
ggplot(PL_data, aes(x=devalued)) +
geom_density(fill="darkred", alpha=0.5) +
labs(title="Feelings of Being Devalued (Poland)", x="devalued_std", y="Density") +ylim(0, 0.4)
# Create the density plot for FBD in FR_data
ggplot(FR_data, aes(x=devalued)) +
geom_density(fill="darkred", alpha=0.5) +
labs(title="Feelings of Being Devalued (France)", x="devalued_std", y="Density") +ylim(0, 0.4)
# Create the density plot for FBD in GB_data
ggplot(GB_data, aes(x=devalued)) +
geom_density(fill="darkred", alpha=0.5) +
labs(title="Feelings of Being Devalued (United Kingdom)", x="devalued_std", y="Density") +ylim(0, 0.4)
## āā Attaching core tidyverse packages āāāāāāāāāāāāāāāāāāāāāāāā tidyverse 2.0.0 āā
## ā dplyr 1.1.2 ā readr 2.1.4
## ā forcats 1.0.0 ā stringr 1.5.0
## ā lubridate 1.9.2 ā tibble 3.2.1
## ā purrr 1.0.1 ā tidyr 1.3.0
## āā Conflicts āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā tidyverse_conflicts() āā
## ā dplyr::add_rownames() masks huxtable::add_rownames()
## ā dplyr::combine() masks gridExtra::combine()
## ā dplyr::filter() masks stats::filter()
## ā dplyr::lag() masks stats::lag()
## ā dplyr::recode() masks car::recode()
## ā purrr::some() masks car::some()
## ā ggplot2::theme_grey() masks huxtable::theme_grey()
## ā¹ Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
##
## Attaching package: 'scales'
##
## The following object is masked from 'package:purrr':
##
## discard
##
## The following object is masked from 'package:readr':
##
## col_factor
##
## The following object is masked from 'package:huxtable':
##
## number_format
# scatterplot populism x FBD
populismFBD_scatter <- ggplot(data = all_data, mapping = aes(x = devalued_std, y = populism_rw_std)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.2) +
geom_point(alpha = 0.2) +
geom_smooth(method = "lm") +
labs(x = "Feelings of Being Devalued", y = "Populism", title = "FBD x Populism (all countries)") +
facet_wrap(~ country)
# scatterplot conspiratorial orientation x FBD
conspiracyFBD_scatter <- ggplot(data = all_data, mapping = aes(x = devalued_std, y = conspiratorial_orientation_std)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.2) +
geom_point(alpha = 0.2) +
geom_smooth(method = "lm") +
labs(x = "Feelings of Being Devalued", y = "Conspiracy Orientation", title = "FBD x Conspiracism (all countries)") +
facet_wrap(~ country)
populismFBD_scatter + theme_minimal() + theme(panel.grid.minor = element_blank())
## `geom_smooth()` using formula = 'y ~ x'
## `geom_smooth()` using formula = 'y ~ x'
# Create the scatter plot
big5_scatter <- ggplot(data = all_data, aes(x = devalued_std)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.2) + # Reduces overplotting
geom_smooth(method = "lm", color = "blue", se = FALSE) + # Adds a linear model fit line without confidence interval
facet_wrap(~ trait, scales = "free_y") + # One plot per Big 5 trait with independent y scaling
labs(x = "Feelings of Being Devalued", y = "Standardized Score", title = "Relationship between FBD and Big 5 Personality Traits") +
theme_minimal() + # Minimal theme for clean visualization
theme(panel.grid.minor = element_blank()) # Remove minor grid lines for clarity
# To make 'big5_scatter' work, you need to reshape your data from wide to long format using tidyr
library(tidyr)
all_data_long <- pivot_longer(all_data,
cols = c(big5_openness_std, big5_agreeableness_std, big5_conscientiousness_std, big5_stability_std, big5_extraversion_std),
names_to = "trait",
values_to = "trait_value")
# Update the ggplot call with the reshaped data and correct mappings
big5_scatter <- ggplot(data = all_data_long, aes(x = devalued_std, y = trait_value)) +
geom_jitter(width = 0.1, height = 0.1, alpha = 0.2) +
geom_point(alpha = 0.2) +
geom_smooth(method = "lm", color = "blue", se = FALSE) +
facet_wrap(~ trait, scales = "free_y") +
labs(x = "Feelings of Being Devalued", y = "Standardized Score", title = "Relationship between FBD and Big 5 Personality Traits (all countries)") +
theme_minimal() +
theme(panel.grid.minor = element_blank())
# Plot
print(big5_scatter)
## `geom_smooth()` using formula = 'y ~ x'
TrumpUS_MainEffect = lm(vote_trump~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
TrumpUS_personality = lm(vote_trump~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
TrumpUS_fullFBD = lm(vote_trump~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=US_data)
TrumpmodelsUS <- plot_summs(TrumpUS_MainEffect, TrumpUS_personality, TrumpUS_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Trump-Main Effects Model", "Trump-Personality Model", "Trump-Full Model"))
TrumpmodelsUS + labs(title="Trump Models (US only)")+ theme(plot.title=element_text(family="sans", face="bold"))
comparison_modelsUSTrump<-export_summs(TrumpUS_MainEffect, TrumpUS_personality, TrumpUS_fullFBD,
scale=TRUE, model.names=c("Trump-Main Effects Model", "Trump-Personality Model", "Trump-Full Model"),
statistics=c("adjusted R-Squared" ="adj.r.squared","p-value"="p.value", "F statistic"="statistic"),
stars = c(`***` = 0.001, `**` = 0.01, `*` = 0.05, `Ā·` = 0.1))#, to.file="word", file.name = "modelsUS.docx")
comparison_modelsUSPopulism
Populism-Main Effects Model | Populism-Personality Model | Populism-Full Model | |
---|---|---|---|
(Intercept) | -0.08Ā Ā Ā Ā | -0.08Ā Ā Ā Ā | -0.09 Ā·Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
ethnocentrism_std | 0.06 **Ā | 0.05 Ā·Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
church_attendance_std | -0.07 *** | -0.08 *** | -0.06 **Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ideology_std | 0.29 *** | 0.28 *** | 0.24 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ethnic_majority | 0.05Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.06Ā Ā Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
age_std | -0.08 *** | -0.08 **Ā | 0.00Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
education_collapse | -0.06 **Ā | -0.06 *Ā Ā | -0.06 **Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
Q1_interest_in_politics_std | 0.16 *** | 0.17 *** | 0.13 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
income | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
marital_status | 0.08 Ā·Ā Ā | 0.08 Ā·Ā Ā | 0.07 Ā·Ā Ā |
(0.04)Ā Ā Ā | (0.04)Ā Ā Ā | (0.04)Ā Ā Ā | |
rwa_std | Ā Ā Ā Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.04 Ā·Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
sdo_std | Ā Ā Ā Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.03)Ā Ā Ā | |
big5_conscientiousness_std | Ā Ā Ā Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.09 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_agreeableness_std | Ā Ā Ā Ā Ā Ā Ā | -0.06 *Ā Ā | -0.04Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_extraversion_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_openness_std | Ā Ā Ā Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_stability_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.07 **Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
devalued_std | Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | 0.45 *** |
Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | |
adjusted R-Squared | 0.17Ā Ā Ā Ā | 0.17Ā Ā Ā Ā | 0.33Ā Ā Ā Ā |
p-value | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
F statistic | 45.84Ā Ā Ā Ā | 26.69Ā Ā Ā Ā | 58.08Ā Ā Ā Ā |
All continuous predictors are mean-centered and scaled by 1 standard deviation. *** p < 0.001; ** p < 0.01; * p < 0.05; Ā· p < 0.1. |
lepenUS_MainEffect = lm(vote_lepen~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
lepenUS_personality = lm(vote_lepen~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
lepenUS_fullFBD = lm(vote_lepen~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=FR_data)
lepenmodelsUS <- plot_summs(lepenUS_MainEffect, lepenUS_personality, lepenUS_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("lepen-Main Effects Model", "lepen-Personality Model", "lepen-Full Model"))
lepenmodelsUS + labs(title="Le Pen Vote Models (FR only)")+ theme(plot.title=element_text(family="sans", face="bold"))
comparison_modelsUSlepen<-export_summs(lepenUS_MainEffect, lepenUS_personality, lepenUS_fullFBD,
scale=TRUE, model.names=c("Le Pen-Main Effects Model", "Le Pen-Personality Model", "Le Pen-Full Model"),
statistics=c("adjusted R-Squared" ="adj.r.squared","p-value"="p.value", "F statistic"="statistic"),
stars = c(`***` = 0.001, `**` = 0.01, `*` = 0.05, `Ā·` = 0.1))#, to.file="word", file.name = "modelsUS.docx")
comparison_modelsUSPopulism
Populism-Main Effects Model | Populism-Personality Model | Populism-Full Model | |
---|---|---|---|
(Intercept) | -0.08Ā Ā Ā Ā | -0.08Ā Ā Ā Ā | -0.09 Ā·Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
ethnocentrism_std | 0.06 **Ā | 0.05 Ā·Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
church_attendance_std | -0.07 *** | -0.08 *** | -0.06 **Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ideology_std | 0.29 *** | 0.28 *** | 0.24 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
ethnic_majority | 0.05Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.06Ā Ā Ā Ā |
(0.05)Ā Ā Ā | (0.05)Ā Ā Ā | (0.05)Ā Ā Ā | |
age_std | -0.08 *** | -0.08 **Ā | 0.00Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
education_collapse | -0.06 **Ā | -0.06 *Ā Ā | -0.06 **Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
Q1_interest_in_politics_std | 0.16 *** | 0.17 *** | 0.13 *** |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
income | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.02Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
marital_status | 0.08 Ā·Ā Ā | 0.08 Ā·Ā Ā | 0.07 Ā·Ā Ā |
(0.04)Ā Ā Ā | (0.04)Ā Ā Ā | (0.04)Ā Ā Ā | |
rwa_std | Ā Ā Ā Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.04 Ā·Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
sdo_std | Ā Ā Ā Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.03)Ā Ā Ā | |
big5_conscientiousness_std | Ā Ā Ā Ā Ā Ā Ā | 0.04Ā Ā Ā Ā | 0.09 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_agreeableness_std | Ā Ā Ā Ā Ā Ā Ā | -0.06 *Ā Ā | -0.04Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.03)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_extraversion_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_openness_std | Ā Ā Ā Ā Ā Ā Ā | -0.01Ā Ā Ā Ā | -0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
big5_stability_std | Ā Ā Ā Ā Ā Ā Ā | -0.03Ā Ā Ā Ā | 0.07 **Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
devalued_std | Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | 0.45 *** |
Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | (0.02)Ā Ā Ā | |
adjusted R-Squared | 0.17Ā Ā Ā Ā | 0.17Ā Ā Ā Ā | 0.33Ā Ā Ā Ā |
p-value | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
F statistic | 45.84Ā Ā Ā Ā | 26.69Ā Ā Ā Ā | 58.08Ā Ā Ā Ā |
All continuous predictors are mean-centered and scaled by 1 standard deviation. *** p < 0.001; ** p < 0.01; * p < 0.05; Ā· p < 0.1. |
brexitGB_MainEffect = lm(vote_brexit~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
brexitGB_personality = lm(vote_brexit~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
brexitGB_fullFBD = lm(vote_brexit~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=GB_data)
brexitmodelsGB <- plot_summs(brexitGB_MainEffect, brexitGB_personality, brexitGB_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("Brexit-Main Effects Model", "Brexit-Personality Model", "Brexit-Full Model"))
brexitmodelsGB + labs(title="Brexit Vote Models (GB only)")+ theme(plot.title=element_text(family="sans", face="bold"))
comparison_modelsGBbrexit<-export_summs(brexitGB_MainEffect, brexitGB_personality, brexitGB_fullFBD,
scale=TRUE, model.names=c("Brexit-Main Effects Model", "Brexit-Personality Model", "Brexit-Full Model"),
statistics=c("adjusted R-Squared" ="adj.r.squared","p-value"="p.value", "F statistic"="statistic"),
stars = c(`***` = 0.001, `**` = 0.01, `*` = 0.05, `Ā·` = 0.1))#, to.file="word", file.name = "modelsGB.docx")
comparison_modelsGBbrexit
Brexit-Main Effects Model | Brexit-Personality Model | Brexit-Full Model | |
---|---|---|---|
(Intercept) | 0.25 *** | 0.24 *** | 0.24 *** |
(0.03)Ā Ā Ā | (0.03)Ā Ā Ā | (0.03)Ā Ā Ā | |
ethnocentrism_std | 0.04 *** | 0.03 *Ā Ā | 0.03 *Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
church_attendance_std | 0.03 **Ā | 0.03 **Ā | 0.04 **Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
ideology_std | 0.12 *** | 0.10 *** | 0.10 *** |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
ethnic_majority | 0.12 *** | 0.14 *** | 0.14 *** |
(0.03)Ā Ā Ā | (0.03)Ā Ā Ā | (0.03)Ā Ā Ā | |
age_std | 0.12 *** | 0.10 *** | 0.10 *** |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
education_collapse | -0.04 *** | -0.03 **Ā | -0.03 **Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
Q1_interest_in_politics_std | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
income | -0.02 Ā·Ā Ā | -0.02 Ā·Ā Ā | -0.02 Ā·Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
marital_status | 0.01Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
rwa_std | Ā Ā Ā Ā Ā Ā Ā | 0.05 *** | 0.05 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
sdo_std | Ā Ā Ā Ā Ā Ā Ā | -0.00Ā Ā Ā Ā | -0.00Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_conscientiousness_std | Ā Ā Ā Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.02Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_agreeableness_std | Ā Ā Ā Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_extraversion_std | Ā Ā Ā Ā Ā Ā Ā | -0.02Ā Ā Ā Ā | -0.02Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_openness_std | Ā Ā Ā Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_stability_std | Ā Ā Ā Ā Ā Ā Ā | 0.02 Ā·Ā Ā | 0.02 *Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
devalued_std | Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | |
adjusted R-Squared | 0.18Ā Ā Ā Ā | 0.19Ā Ā Ā Ā | 0.19Ā Ā Ā Ā |
p-value | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
F statistic | 48.85Ā Ā Ā Ā | 29.91Ā Ā Ā Ā | 28.15Ā Ā Ā Ā |
All continuous predictors are mean-centered and scaled by 1 standard deviation. *** p < 0.001; ** p < 0.01; * p < 0.05; Ā· p < 0.1. |
prawoPL_MainEffect = lm(vote_prawo~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
prawoPL_personality = lm(vote_prawo~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
prawoPL_fullFBD = lm(vote_prawo~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income
+marital_status,
data=PL_data)
prawomodelsPL <- plot_summs(prawoPL_MainEffect, prawoPL_personality, prawoPL_fullFBD, scale=TRUE, legend.title="Model", coefs=c("Ethnocentrism"="ethnocentrism_std","Religiosity"="church_attendance_std","Ideology"="ideology_std",
"Ethnic Majority"="ethnic_majority","Age"="age_std","Education"="education_collapse", "Political Interest"="Q1_interest_in_politics_std","Income"="income","Marital Status"="marital_status", "RWA"="rwa_std","SDO"="sdo_std", "Big 5 - Openness"="big5_openness_std","Big 5 - Conscientiousness"="big5_conscientiousness_std", "Big 5 - Extraversion"="big5_extraversion_std","Big 5 - Agreeableness"="big5_agreeableness_std", "Big 5 - Emotional Stability"="big5_stability_std", "Feelings of Being Devalued"="devalued_std"),
model.names = c("PiS -Main Effects Model", "PiS -Personality Model", "PiS -Full Model"))
prawomodelsPL + labs(title="PiS Vote Models (PL only)")+ theme(plot.title=element_text(family="sans", face="bold"))
comparison_modelsPLprawo<-export_summs(prawoPL_MainEffect, prawoPL_personality, prawoPL_fullFBD,
scale=TRUE, model.names=c("PiS -Main Effects Model", "PiS -Personality Model", "PiS -Full Model"),
statistics=c("adjusted R-Squared" ="adj.r.squared","p-value"="p.value", "F statistic"="statistic"),
stars = c(`***` = 0.001, `**` = 0.01, `*` = 0.05, `Ā·` = 0.1))#, to.file="word", file.name = "modelsPL.docx")
comparison_modelsPLprawo
PiS -Main Effects Model | PiS -Personality Model | PiS -Full Model | |
---|---|---|---|
(Intercept) | 0.16 *** | 0.16 *** | 0.16 *** |
(0.04)Ā Ā Ā | (0.04)Ā Ā Ā | (0.04)Ā Ā Ā | |
ethnocentrism_std | 0.03 *** | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
church_attendance_std | -0.07 *** | -0.04 *** | -0.04 *** |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
ideology_std | 0.18 *** | 0.16 *** | 0.16 *** |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
ethnic_majority | 0.09 *Ā Ā | 0.09 *Ā Ā | 0.09 *Ā Ā |
(0.04)Ā Ā Ā | (0.04)Ā Ā Ā | (0.04)Ā Ā Ā | |
age_std | 0.04 *** | 0.02 *Ā Ā | 0.02 *Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
education_collapse | -0.03 **Ā | -0.02 *Ā Ā | -0.02 *Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
Q1_interest_in_politics_std | 0.04 *** | 0.04 *** | 0.04 *** |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
income | -0.00Ā Ā Ā Ā | -0.00Ā Ā Ā Ā | -0.00Ā Ā Ā Ā |
(0.01)Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
marital_status | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
(0.02)Ā Ā Ā | (0.02)Ā Ā Ā | (0.02)Ā Ā Ā | |
rwa_std | Ā Ā Ā Ā Ā Ā Ā | 0.08 *** | 0.08 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
sdo_std | Ā Ā Ā Ā Ā Ā Ā | -0.05 *** | -0.05 *** |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_conscientiousness_std | Ā Ā Ā Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_agreeableness_std | Ā Ā Ā Ā Ā Ā Ā | 0.02 *Ā Ā | 0.02 *Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_extraversion_std | Ā Ā Ā Ā Ā Ā Ā | 0.01Ā Ā Ā Ā | 0.01Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_openness_std | Ā Ā Ā Ā Ā Ā Ā | -0.03 **Ā | -0.03 **Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
big5_stability_std | Ā Ā Ā Ā Ā Ā Ā | -0.00Ā Ā Ā Ā | -0.00Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | (0.01)Ā Ā Ā | |
devalued_std | Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | -0.00Ā Ā Ā Ā |
Ā Ā Ā Ā Ā Ā Ā | Ā Ā Ā Ā Ā Ā Ā | (0.01)Ā Ā Ā | |
adjusted R-Squared | 0.28Ā Ā Ā Ā | 0.31Ā Ā Ā Ā | 0.31Ā Ā Ā Ā |
p-value | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā | 0.00Ā Ā Ā Ā |
F statistic | 85.72Ā Ā Ā Ā | 56.35Ā Ā Ā Ā | 53.01Ā Ā Ā Ā |
All continuous predictors are mean-centered and scaled by 1 standard deviation. *** p < 0.001; ** p < 0.01; * p < 0.05; Ā· p < 0.1. |
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(conspiracyUS_fullFBD, conf.int = TRUE) %>% mutate(Country = "United States")
df2 <- tidy(conspiracyFR_fullFBD, conf.int = TRUE) %>% mutate(Country = "France")
df3 <- tidy(conspiracyPL_fullFBD, conf.int = TRUE) %>% mutate(Country = "Poland")
df4 <- tidy(conspiracyGB_fullFBD, conf.int = TRUE) %>% mutate(Country = "United Kingdom")
# Extracting 99% confidence intervals
ci99_df1 <- confint(conspiracyUS_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "United States")
ci99_df2 <- confint(conspiracyFR_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "France")
ci99_df3 <- confint(conspiracyPL_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "Poland")
ci99_df4 <- confint(conspiracyGB_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "United Kingdom")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df4)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3, ci99_df4)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3, df4)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Country"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)" & term != "age_std" &
term != "education_collapse" & term != "church_attendance_std" & term != "Q1_interest_in_politics_std" & term != "marital_status")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "income" ~ "Income",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Income", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Creating the plot with multi-level confidence intervals
plot1 <- ggplot(coefficients_df, aes(x = estimate, y = Country, color = Country)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("United States" = "black", "France" = "black", "Poland" = "black", "United Kingdom" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Conspiratorial Orientation") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(PopulismUS_fullFBD, conf.int = TRUE) %>% mutate(Country = "United States")
df2 <- tidy(PopulismFR_fullFBD, conf.int = TRUE) %>% mutate(Country = "France")
df3 <- tidy(PopulismPL_fullFBD, conf.int = TRUE) %>% mutate(Country = "Poland")
df4 <- tidy(PopulismGB_fullFBD, conf.int = TRUE) %>% mutate(Country = "United Kingdom")
# Extracting 99% confidence intervals
ci99_df1 <- confint(PopulismUS_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "United States")
ci99_df2 <- confint(PopulismFR_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "France")
ci99_df3 <- confint(PopulismPL_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "Poland")
ci99_df4 <- confint(PopulismGB_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "United Kingdom")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df4)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3, ci99_df4)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3, df4)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Country"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)" & term != "age_std" &
term != "education_collapse" & term != "church_attendance_std" & term != "Q1_interest_in_politics_std" & term != "marital_status")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "income" ~ "Income",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Income", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Creating the plot with multi-level confidence intervals
plot2 <- ggplot(coefficients_df, aes(x = estimate, y = Country, color = Country)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("United States" = "black", "France" = "black", "Poland" = "black", "United Kingdom" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Populist Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
if (!require(grid)) install.packages("grid")
library(grid)
# Creating the combined plot object with arrangeGrob
combined_plot <- arrangeGrob(
plot1, plot2,
ncol = 2,
top = textGrob("Comparison of Conspiratorial and Populist Attitudes Across Countries\n",
gp = gpar(fontface = "bold", fontsize = 20), vjust = 1),
bottom = textGrob("\nNote: Age, education, marital status, religiosity, and political interest not displayed.",
gp = gpar(fontsize = 10), hjust = 0)
)
# Printing the combined plot with annotations
grid.draw(combined_plot)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(conspiracyUS_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(conspiracyUS_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(conspiracyUS_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(conspiracyUS_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(conspiracyUS_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(conspiracyUS_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot3 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Conspiratorial Orientation") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(PopulismUS_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(PopulismUS_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(PopulismUS_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(PopulismUS_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(PopulismUS_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(PopulismUS_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot4 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Populist Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Creating the combined plot object with arrangeGrob
combined_plot <- arrangeGrob(
plot3, plot4,
ncol = 2,
top = textGrob("Comparison of Conspiratorial and Populist Attitudes (US only)\n",
gp = gpar(fontface = "bold", fontsize = 20), vjust = 1)
)
# Printing the combined plot with annotations
grid.draw(combined_plot)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(conspiracyFR_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(conspiracyFR_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(conspiracyFR_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(conspiracyFR_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(conspiracyFR_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(conspiracyFR_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot5 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Conspiratorial Orientation") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(PopulismFR_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(PopulismFR_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(PopulismFR_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(PopulismFR_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(PopulismFR_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(PopulismFR_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot6 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Populist Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Creating the combined plot object with arrangeGrob
combined_plot <- arrangeGrob(
plot5, plot6,
ncol = 2,
top = textGrob("Comparison of Conspiratorial and Populist Attitudes (FR only)\n",
gp = gpar(fontface = "bold", fontsize = 20), vjust = 1)
)
# Printing the combined plot with annotations
grid.draw(combined_plot)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(conspiracyPL_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(conspiracyPL_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(conspiracyPL_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(conspiracyPL_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(conspiracyPL_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(conspiracyPL_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot7 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Conspiratorial Orientation") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(PopulismPL_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(PopulismPL_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(PopulismPL_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(PopulismPL_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(PopulismPL_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(PopulismPL_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot8 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Populist Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Creating the combined plot object with arrangeGrob
combined_plot <- arrangeGrob(
plot7, plot8,
ncol = 2,
top = textGrob("Comparison of Conspiratorial and Populist Attitudes (PL only)\n",
gp = gpar(fontface = "bold", fontsize = 20), vjust = 1)
)
# Printing the combined plot with annotations
grid.draw(combined_plot)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(conspiracyGB_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(conspiracyGB_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(conspiracyGB_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(conspiracyGB_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(conspiracyGB_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(conspiracyGB_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot9 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Conspiratorial Orientation") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(PopulismGB_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(PopulismGB_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(PopulismGB_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(PopulismGB_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(PopulismGB_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(PopulismGB_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plot10 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Populist Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Creating the combined plot object with arrangeGrob
combined_plot <- arrangeGrob(
plot9, plot10,
ncol = 2,
top = textGrob("Comparison of Conspiratorial and Populist Attitudes (GB only)\n",
gp = gpar(fontface = "bold", fontsize = 20), vjust = 1)
)
# Printing the combined plot with annotations
grid.draw(combined_plot)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(TrumpUS_fullFBD, conf.int = TRUE) %>% mutate(Country = "United States")
df2 <- tidy(lepenUS_fullFBD, conf.int = TRUE) %>% mutate(Country = "France")
df3 <- tidy(prawoPL_fullFBD, conf.int = TRUE) %>% mutate(Country = "Poland")
df4 <- tidy(brexitGB_fullFBD, conf.int = TRUE) %>% mutate(Country = "United Kingdom")
# Extracting 99% confidence intervals
ci99_df1 <- confint(TrumpUS_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "United States")
ci99_df2 <- confint(lepenUS_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "France")
ci99_df3 <- confint(prawoPL_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "Poland")
ci99_df4 <- confint(brexitGB_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Country = "United Kingdom")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df4)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3, ci99_df4)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3, df4)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Country"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Creating the plot with multi-level confidence intervals
plot_rwpvote <- ggplot(coefficients_df, aes(x = estimate, y = Country, color = Country)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("United States" = "black", "France" = "black", "Poland" = "black", "United Kingdom" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Right-Wing Populist Vote") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
print(plot_rwpvote)
All_Populism_MainEffect = lm(populism_rw_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income_num_std
+marital_status
+country.GB
+country.PL
+country.US,
data=all_data_dum)
All_Populism_personality = lm(populism_rw_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income_num_std
+marital_status
+country.GB
+country.PL
+country.US,
data=all_data_dum)
All_Populism_fullFBD = lm(populism_rw_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income_num_std
+marital_status
+country.GB
+country.PL
+country.US,
data=all_data_dum)
All_Conspiracy_MainEffect = lm(conspiratorial_orientation_std~ethnocentrism_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income_num_std
+marital_status
+country.GB
+country.PL
+country.US,
data=all_data_dum)
All_Conspiracy_personality = lm(conspiratorial_orientation_std~ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income_num_std
+marital_status
+country.GB
+country.PL
+country.US,
data=all_data_dum)
All_Conspiracy_fullFBD = lm(conspiratorial_orientation_std~devalued_std+ethnocentrism_std
+rwa_std
+sdo_std
+big5_conscientiousness_std
+big5_agreeableness_std
+big5_extraversion_std
+big5_openness_std
+big5_stability_std
+church_attendance_std
+ideology_std
+ethnic_majority
+age_std
+education_collapse
+Q1_interest_in_politics_std
+income_num_std
+marital_status
+country.GB
+country.PL
+country.US,
data=all_data_dum)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(All_Populism_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(All_Populism_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(All_Populism_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(All_Populism_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(All_Populism_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(All_Populism_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income_num_std" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
term == "country.PL" ~ "Country: Poland",
term == "country.US" ~ "Country: United States",
term == "country.GB" ~ "Country: United Kingdom",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued", "Country: United States", "Country: United Kingdom", "Country: Poland")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plotall1 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Populist Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Extracting coefficients and creating a tidy data frame with confidence intervals
df1 <- tidy(All_Conspiracy_fullFBD, conf.int = TRUE) %>% mutate(Model = "Full FBD Model")
df2 <- tidy(All_Conspiracy_personality, conf.int = TRUE) %>% mutate(Model = "Personality Effects")
df3 <- tidy(All_Conspiracy_MainEffect, conf.int = TRUE) %>% mutate(Model = "Main Effects")
# Extracting 99% confidence intervals
ci99_df1 <- confint(All_Conspiracy_fullFBD, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Full FBD Model")
ci99_df2 <- confint(All_Conspiracy_personality, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Personality Effects")
ci99_df3 <- confint(All_Conspiracy_MainEffect, level = 0.99) %>% as.data.frame() %>% mutate(term = rownames(.), Model = "Main Effects")
# Renaming columns to match
colnames(ci99_df1)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df2)[1:2] <- c("conf.low2", "conf.high2")
colnames(ci99_df3)[1:2] <- c("conf.low2", "conf.high2")
# Combining the 99% CIs into one data frame
ci99_df <- bind_rows(ci99_df1, ci99_df2, ci99_df3)
# Preparing the combined dataframe
coefficients_df <- bind_rows(df1, df2, df3)
coefficients_df <- coefficients_df %>%
left_join(ci99_df, by = c("term", "Model"))
# Filter out the intercept and other unwanted coefficients
coefficients_df <- coefficients_df %>%
filter(term != "(Intercept)")
# Rename terms for readability
coefficients_df <- coefficients_df %>%
mutate(term = case_when(
term == "rwa_std" ~ "Right-Wing Authoritarianism",
term == "sdo_std" ~ "Social Dominance Orientation",
term == "devalued_std" ~ "Feelings of Being Devalued",
term == "ethnocentrism_std" ~ "Ethnocentrism",
term == "ideology_std" ~ "Ideology",
term == "ethnic_majority" ~ "Ethnic Majority",
term == "big5_openness_std" ~ "Openness to Experience",
term == "big5_agreeableness_std" ~ "Agreeableness",
term == "big5_stability_std" ~ "Emotional Stability",
term == "big5_conscientiousness_std" ~ "Conscientiousness",
term == "big5_extraversion_std" ~ "Extraversion",
term == "age_std" ~ "Age",
term == "church_attendance_std" ~ "Religiosity",
term == "income_num_std" ~ "Income",
term == "Q1_interest_in_politics_std" ~ "Political Interest",
term == "marital_status" ~ "Marital Status",
term == "education_collapse" ~ "Education",
term == "country.PL" ~ "Country: Poland",
term == "country.US" ~ "Country: United States",
term == "country.GB" ~ "Country: United Kingdom",
TRUE ~ term
))
# Define the desired order for facets
facet_order <- c("Age", "Income", "Marital Status", "Education", "Political Interest", "Religiosity", "Ethnocentrism", "Ideology", "Ethnic Majority",
"Right-Wing Authoritarianism", "Social Dominance Orientation",
"Openness to Experience", "Conscientiousness", "Extraversion",
"Agreeableness", "Emotional Stability", "Feelings of Being Devalued", "Country: United States", "Country: United Kingdom", "Country: Poland")
# Relevel the 'term' factor according to the desired facet order
coefficients_df <- coefficients_df %>%
mutate(term = factor(term, levels = facet_order))
# Now redefine the Model factor to specify the order of the models
coefficients_df <- coefficients_df %>%
mutate(Model = factor(Model, levels = c("Full FBD Model", "Personality Effects", "Main Effects")))
# Creating the plot with multi-level confidence intervals
plotall2 <- ggplot(coefficients_df, aes(x = estimate, y = Model, color = Model)) +
facet_wrap(~ term, scales = "free_y", ncol = 1) +
geom_point(size = 2, shape = 16) +
geom_linerange(aes(xmin = conf.low2, xmax = conf.high2), height = 0.2, color = "gray70", size = 0.25) + # Wider CI in lighter gray
geom_linerange(aes(xmin = conf.low, xmax = conf.high), height = 0.2, color = "gray20", size = 0.25) + # Narrower CI in darker gray
geom_vline(xintercept = 0, color = "black", size = .5, linetype = "solid") + # Add vertical line for intercept
scale_color_manual(values = c("Full FBD Model" = "black", "Personality Effects" = "black", "Main Effects" = "black")) +
labs(x = "Point estimates", y = NULL, title = "DV: Conspiracism Attitudes") +
theme_minimal() +
theme(
legend.position = "none",
axis.text.y = element_text(size = 8),
axis.title.x = element_text(size = 12),
plot.title = element_text(hjust = 0.5, size = 14),
strip.text = element_text(size = 12),
panel.grid.major.y = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_line(size = .5, color = "gray", linetype = "dotted")
)
# Creating the combined plot object with arrangeGrob
combined_plot <- arrangeGrob(
plotall1, plotall2,
ncol = 2,
top = textGrob("Comparison of Conspiratorial and Populist Attitudes (all countries)\n",
gp = gpar(fontface = "bold", fontsize = 20), vjust = 1)
)
# Printing the combined plot with annotations
grid.draw(combined_plot)