Prep

Data & libraries

library(tidyverse)
library(psych)
library(ggplot2)
library(lmerTest)
library(lme4)
library(knitr)
library(interactions)
library(patchwork)
library(sjPlot)
library(cowplot)
library(hrbrthemes)
library(ordinal)
library(marginaleffects)

d1 <- read.csv("Sexism_PostElection_Study1comb.csv", header = T)
d2 <- read.csv("Sexism_PostElection_Study2comb.csv", header = T)
d3 <- read.csv("Sexism_PostElection_Study3comb.csv", header = T)

Study 1

VotedFor: If you could have voted in the 2024 U.S. Presidential Election/were an American citizen this week, who would you have voted for?

Var Construction

d1$ASI_3.r <- 5 - d1$ASI_3
d1$ASI_6.r <- 5 - d1$ASI_6
d1$ASI_7.r <- 5 - d1$ASI_7
d1$ASI_13.r <- 5 - d1$ASI_13
d1$ASI_18.r <- 5 - d1$ASI_18
d1$ASI_21.r <- 5 - d1$ASI_21

d1$ASI <- rowMeans(d1[,c("ASI_1", "ASI_2", "ASI_3.r", "ASI_4", "ASI_5", "ASI_6.r", "ASI_7.r", "ASI_8", "ASI_9", "ASI_10", "ASI_11", "ASI_12", "ASI_13.r", "ASI_14", "ASI_15", "ASI_16", "ASI_17", "ASI_18.r", "ASI_19", "ASI_20", "ASI_21.r", "ASI_22")], na.rm = T) # ambivalent sexism inventory
d1$BS <- rowMeans(d1[,c("ASI_1",  "ASI_3.r", "ASI_6.r", "ASI_8", "ASI_9", "ASI_12", "ASI_13.r", "ASI_17", "ASI_19", "ASI_20", "ASI_22")], na.rm = T) # benevolent sexism
d1$HS <- rowMeans(d1[,c("ASI_2",  "ASI_4", "ASI_5", "ASI_7.r", "ASI_10", "ASI_11",   "ASI_14", "ASI_15", "ASI_16", "ASI_18.r", "ASI_21.r")], na.rm = T) # hostile sexism

d1$SRQ_1.r <- 100 - d1$SRQ_1
d1$SRQ_2.r <- 100 - d1$SRQ_2
d1$SRQ_3.r <- 100 - d1$SRQ_3
d1$SRQ_4.r <- 100 - d1$SRQ_4
d1$SRQ_5.r <- 100 - d1$SRQ_5
d1$SRQ <- rowMeans(d1[,c("SRQ_1.r", "SRQ_2.r", "SRQ_3.r", "SRQ_4.r", "SRQ_5.r", "SRQ_6", "SRQ_7", "SRQ_8", "SRQ_9", "SRQ_10", "SRQ_11", "SRQ_12", "SRQ_13")], na.rm = T) # Social roles questionnaire

d1$SDO7_3.r <- 8 - d1$SDO7_3
d1$SDO7_4.r <- 8 - d1$SDO7_4
d1$SDO7_7.r <- 8 - d1$SDO7_7
d1$SDO7_8.r <- 8 - d1$SDO7_8

d1$SDO <- rowMeans(d1[,c("SDO7_1", "SDO7_2", "SDO7_3.r", "SDO7_4.r", "SDO7_5", "SDO7_6", "SDO7_7.r", "SDO7_8.r")], na.rm = T) # social dominance orientation


d1$VotedHarris_num <- ifelse(d1$VotedFor == 1, 1, 0)
d1$VotedHarris <- as.factor(d1$VotedHarris_num)


psych::alpha(d1[,c("Mood", "MentalHealth", "StressAnxiety", "Safety")])
## 
## Reliability analysis   
## Call: psych::alpha(x = d1[, c("Mood", "MentalHealth", "StressAnxiety", 
##     "Safety")])
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean  sd median_r
##       0.92      0.92     0.9      0.74  11 0.0084  4.4 1.8     0.74
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.9  0.92  0.93
## Duhachek   0.9  0.92  0.94
## 
##  Reliability if an item is dropped:
##               raw_alpha std.alpha G6(smc) average_r S/N alpha se   var.r med.r
## Mood               0.91      0.91    0.87      0.76 9.7    0.011 0.00251  0.78
## MentalHealth       0.87      0.87    0.82      0.69 6.8    0.014 0.00022  0.70
## StressAnxiety      0.90      0.90    0.86      0.75 9.1    0.011 0.00231  0.78
## Safety             0.90      0.90    0.87      0.75 9.2    0.011 0.00447  0.78
## 
##  Item statistics 
##                 n raw.r std.r r.cor r.drop mean  sd
## Mood          244  0.87  0.88  0.82   0.78  4.9 1.8
## MentalHealth  244  0.94  0.94  0.92   0.88  4.1 2.0
## StressAnxiety 244  0.90  0.89  0.84   0.80  4.1 2.1
## Safety        244  0.89  0.89  0.83   0.80  4.3 2.0
## 
## Non missing response frequency for each item
##                  1    2    3    4    5    6    7 miss
## Mood          0.07 0.06 0.09 0.16 0.23 0.15 0.25    0
## MentalHealth  0.16 0.11 0.09 0.16 0.21 0.12 0.16    0
## StressAnxiety 0.18 0.11 0.11 0.12 0.16 0.13 0.19    0
## Safety        0.14 0.08 0.12 0.16 0.17 0.11 0.21    0
d1$Impact_index <- rowMeans(d1[,c("Mood", "MentalHealth", "StressAnxiety", "Safety")], na.rm = T)

Setting Classes & centering

# classes
d1$Demo_Age <- as.numeric(d1$Demo_Age) #Participant age
d1$Demo_Gender_num <- as.factor(d1$Demo_Gender) #0 = male, 1 = female
d1$Demo_Gender <- recode_factor(d1$Demo_Gender_num,
                                `0` = "Man",
                                `1` = "Woman") #0 = male, 1 = female
d1$Demo_Ethnicity <- as.factor(d1$Demo_Ethnicity) #Participant ethnicity (0 = non-Hispanic, 1 = Hispanic)
d1$Demo_Race <- as.factor(d1$Demo_Race) #Participant race
d1$Demo_Education <- as.numeric(d1$Demo_Education, na.rm = TRUE)
d1$BS <- as.numeric(d1$BS) #Benevolent sexism
d1$HS <- as.numeric(d1$HS) #Hostile sexism
d1$SRQ <- as.numeric(d1$SRQ) #Traditional gender role beliefs (higher = more traditional)
d1$SDO <- as.numeric(d1$SDO)
d1$CanadianCitizen <- as.factor(d1$CanadianCitizen)
d1$OftenThought <- as.numeric(d1$OftenThought)
d1$InfluenceCanada <- as.numeric(d1$InfluenceCanada)
d1$VotedFor <- as.factor(d1$VotedFor)

# centering
d1$age.c <- d1$Demo_Age - mean(d1$Demo_Age, na.rm = T)
d1$edu.c <- d1$Demo_Education - mean(d1$Demo_Education, na.rm = T)
d1$BS.c <- d1$BS - mean(d1$BS, na.rm = T)
d1$HS.c <- d1$HS - mean(d1$HS, na.rm = T)
d1$SRQ.c <- d1$SRQ - mean(d1$SRQ, na.rm = T)
d1$SDO.c <- d1$SDO - mean(d1$SDO, na.rm = T)
d1$Impact.c <- d1$Impact_index - mean(d1$Impact_index, na.rm = T)
d1$InfluenceCanada <- d1$InfluenceCanada - mean(d1$InfluenceCanada, na.rm = T)

Assessing between country metrics, normality, etc.

ASI & factors

describeBy(d1$ASI, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 121 1.62 0.86    1.5    1.59 1.01   0 3.68  3.68 0.26     -0.9 0.08
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad  min  max range  skew kurtosis   se
## X1    1 123 1.83 0.88   1.91    1.84 1.08 0.05 3.68  3.64 -0.12    -0.94 0.08
d1 %>%
  ggplot( aes(x=ASI, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Ambivalent Sexism Inventory") +
  facet_grid(Country~.)

describeBy(d1$BS, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 121 1.94 0.93   1.91     1.9 0.94   0 4.45  4.45 0.31    -0.32 0.08
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 123 2.18 1.03   2.18     2.2 1.21   0 4.09  4.09 -0.17    -0.84 0.09
d1 %>%
  ggplot( aes(x=BS, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Benevolent Sexism")+
  facet_grid(Country~.)

describeBy(d1$HS, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis  se
## X1    1 121  1.3 1.09   1.09    1.17 1.08   0 4.36  4.36 0.85    -0.19 0.1
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis  se
## X1    1 123 1.48 1.13   1.27    1.42 1.35   0 4.73  4.73 0.46    -0.77 0.1
d1 %>%
  ggplot( aes(x=HS, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Hostile Sexism")+
  facet_grid(Country~.)

SRQ

describeBy(d1$SRQ, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 121 26.15 15.81  23.08   25.28 17.11   0 64.62 64.62 0.43    -0.67 1.44
## ------------------------------------------------------------ 
## group: US
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 123 31.34 17.47     30   31.22 21.67   0 72.31 72.31 0.11    -1.01 1.58
d1 %>%
  ggplot( aes(x=SRQ, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 5) +
#  coord_cartesian(xlim = c(0,100)) +
  scale_x_continuous(breaks = seq(0,70,5)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Social Roles Questionnaire")+
  facet_grid(Country~.)

SDO

describeBy(d1$SDO, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 121 2.34 1.17      2     2.2 1.11   1 5.75  4.75    1     0.43 0.11
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 123 2.43 1.26   2.12     2.3 1.48   1 6.62  5.62 0.79    -0.02 0.11
d1 %>%
  ggplot( aes(x=SDO, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .5) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Social Dominance Orientation")+
  facet_grid(Country~.)

Personal Impact Measures

Mood = “How much has the U.S. election result impacted your overall mood this week?”

OftenThought = “How often have you thought about the U.S. election results in the past few days?”

StressAnxiety = “How much stress or anxiety do you feel regarding the outcome of the U.S. election?”

Safety = “Do you feel the U.S. election results have affected your sense of safety or well-being?”

MentalHealth = “How have the election results affected your overall mental health this week?”

describeBy(d1$Mood, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 121 4.64 1.71      5    4.76 1.48   1   7     6 -0.53    -0.46 0.16
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 123 5.11 1.87      5    5.33 2.97   1   7     6 -0.68    -0.64 0.17
d1 %>%
  ggplot( aes(x=Mood, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Mood")+
  facet_grid(Country~.)

describeBy(d1$StressAnxiety, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 121 3.99 2.06      4    3.99 2.97   1   7     6 -0.11    -1.31 0.19
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis  se
## X1    1 123 4.26 2.23      4    4.32 2.97   1   7     6 -0.17    -1.44 0.2
d1 %>%
  ggplot( aes(x=StressAnxiety, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Stress & Anxiety")+
  facet_grid(Country~.)

describeBy(d1$Safety, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 121 4.16 1.89      4     4.2 1.48   1   7     6 -0.23    -0.98 0.17
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 123  4.5 2.16      5    4.63 2.97   1   7     6 -0.27    -1.32 0.19
d1 %>%
  ggplot( aes(x=Safety, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Stress & Anxiety")+
  facet_grid(Country~.)

describeBy(d1$MentalHealth, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 121  3.9 1.93      4    3.88 1.48   1   7     6 -0.15     -1.1 0.18
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 123 4.39 2.07      5    4.48 2.97   1   7     6 -0.3    -1.25 0.19
d1 %>%
  ggplot( aes(x=MentalHealth, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Mental Health")+
  facet_grid(Country~.)

describeBy(d1$OftenThought, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean  sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 121 5.48 1.4      6    5.66 1.48   2   7     5 -0.83    -0.04 0.13
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 123  5.6 1.61      6    5.83 1.48   1   7     6 -0.93    -0.33 0.15
d1 %>%
  ggplot( aes(x=OftenThought, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "How often have you thought about the U.S. election this week?")+
  facet_grid(Country~.)

describeBy(d1$MentalHealth, d1$Country)
## 
##  Descriptive statistics by group 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 121  3.9 1.93      4    3.88 1.48   1   7     6 -0.15     -1.1 0.18
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 123 4.39 2.07      5    4.48 2.97   1   7     6 -0.3    -1.25 0.19
d1 %>%
  ggplot( aes(x=MentalHealth, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Mental Health")+
  facet_grid(Country~.)

Study 2

VotedFor: If you could have voted in the 2024 U.S. Presidential Election/were an American citizen this week, who would you have voted for?

Var Construction

d2$ASI_3.r <- 5 - d2$ASI_3
d2$ASI_6.r <- 5 - d2$ASI_6
d2$ASI_7.r <- 5 - d2$ASI_7
d2$ASI_13.r <- 5 - d2$ASI_13
d2$ASI_18.r <- 5 - d2$ASI_18
d2$ASI_21.r <- 5 - d2$ASI_21

d2$ASI <- rowMeans(d2[,c("ASI_1", "ASI_2", "ASI_3.r", "ASI_4", "ASI_5", "ASI_6.r", "ASI_7.r", "ASI_8", "ASI_9", "ASI_10", "ASI_11", "ASI_12", "ASI_13.r", "ASI_14", "ASI_15", "ASI_16", "ASI_17", "ASI_18.r", "ASI_19", "ASI_20", "ASI_21.r", "ASI_22")], na.rm = T) # ambivalent sexism inventory
d2$BS <- rowMeans(d2[,c("ASI_1",  "ASI_3.r", "ASI_6.r", "ASI_8", "ASI_9", "ASI_12", "ASI_13.r", "ASI_17", "ASI_19", "ASI_20", "ASI_22")], na.rm = T) # benevolent sexism
d2$HS <- rowMeans(d2[,c("ASI_2",  "ASI_4", "ASI_5", "ASI_7.r", "ASI_10", "ASI_11",   "ASI_14", "ASI_15", "ASI_16", "ASI_18.r", "ASI_21.r")], na.rm = T) # hostile sexism

d2$SRQ_1.r <- 100 - d2$SRQ_1
d2$SRQ_2.r <- 100 - d2$SRQ_2
d2$SRQ_3.r <- 100 - d2$SRQ_3
d2$SRQ_4.r <- 100 - d2$SRQ_4
d2$SRQ_5.r <- 100 - d2$SRQ_5
d2$SRQ <- rowMeans(d2[,c("SRQ_1.r", "SRQ_2.r", "SRQ_3.r", "SRQ_4.r", "SRQ_5.r", "SRQ_6", "SRQ_7", "SRQ_8", "SRQ_9", "SRQ_10", "SRQ_11", "SRQ_12", "SRQ_13")], na.rm = T) # Social roles questionnaire

d2$SDO7_3.r <- 8 - d2$SDO7_3
d2$SDO7_4.r <- 8 - d2$SDO7_4
d2$SDO7_7.r <- 8 - d2$SDO7_7
d2$SDO7_8.r <- 8 - d2$SDO7_8

d2$SDO <- rowMeans(d2[,c("SDO7_1", "SDO7_2", "SDO7_3.r", "SDO7_4.r", "SDO7_5", "SDO7_6", "SDO7_7.r", "SDO7_8.r")], na.rm = T) # social dominance orientation

d2$VotedHarris_num <- ifelse(d2$VotedFor == 1, 1, 0)
d2$VotedHarris <- as.factor(d2$VotedHarris_num)

psych::alpha(d2[,c("Mood", "StressAnxiety", "Safety")])
## 
## Reliability analysis   
## Call: psych::alpha(x = d2[, c("Mood", "StressAnxiety", "Safety")])
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean  sd median_r
##       0.84      0.84    0.79      0.63 5.1 0.012  3.7 1.7     0.57
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.81  0.84  0.86
## Duhachek  0.81  0.84  0.86
## 
##  Reliability if an item is dropped:
##               raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## Mood               0.86      0.86    0.76      0.76 6.3    0.011    NA  0.76
## StressAnxiety      0.72      0.72    0.56      0.56 2.5    0.023    NA  0.56
## Safety             0.73      0.73    0.57      0.57 2.7    0.022    NA  0.57
## 
##  Item statistics 
##                 n raw.r std.r r.cor r.drop mean  sd
## Mood          593  0.81  0.82  0.65   0.60  3.9 1.9
## StressAnxiety 593  0.90  0.89  0.84   0.76  3.6 2.0
## Safety        593  0.89  0.89  0.83   0.75  3.7 2.0
## 
## Non missing response frequency for each item
##                  1    2    3    4    5    6    7 miss
## Mood          0.16 0.13 0.11 0.18 0.23 0.09 0.10    0
## StressAnxiety 0.22 0.14 0.13 0.16 0.16 0.11 0.09    0
## Safety        0.20 0.15 0.08 0.15 0.20 0.12 0.09    0
d2$Impact_index <- rowMeans(d2[,c("Mood", "StressAnxiety", "Safety")], na.rm = T)


d2$ideology <- rowMeans(d2[,grep("Ideology", colnames(d2))], na.rm = T)
d2$Ideology <- 8 - d2$ideology

describe(d2[,c("Country","Ideology","Ideology_1","Ideology_2","Ideology_3","Ideology_4")])
##            vars   n mean   sd median trimmed  mad min max range  skew kurtosis
## Country*      1 593 2.50 1.12   3.00    2.50 1.48   1   4     3  0.00    -1.36
## Ideology      2 593 3.36 1.46   3.25    3.28 1.11   1   7     6  0.44    -0.16
## Ideology_1    3 593 4.51 1.64   5.00    4.57 1.48   1   7     6 -0.33    -0.62
## Ideology_2    4 593 4.89 1.60   5.00    5.02 1.48   1   7     6 -0.58    -0.40
## Ideology_3    5 593 4.45 1.58   4.00    4.49 1.48   1   7     6 -0.31    -0.45
## Ideology_4    6 593 4.74 1.50   5.00    4.83 1.48   1   7     6 -0.48    -0.16
##              se
## Country*   0.05
## Ideology   0.06
## Ideology_1 0.07
## Ideology_2 0.07
## Ideology_3 0.06
## Ideology_4 0.06

Setting Classes

# classes
d2$Demo_Age <- as.numeric(d2$Demo_Age) #Participant age
d2$Demo_Gender_num <- as.factor(d2$Demo_Gender) #0 = male, 1 = female
d2$Demo_Gender <- recode_factor(d2$Demo_Gender_num,
                                `0` = "Man",
                                `1` = "Woman") #0 = male, 1 = female
d2$Demo_Ethnicity <- as.factor(d2$Demo_Ethnicity) #Participant ethnicity (0 = non-Hispanic, 1 = Hispanic)
d2$Demo_Race <- as.factor(d2$Demo_Race) #Participant race
d2$Demo_Education <- as.numeric(d2$Demo_Education, na.rm = TRUE)
d2$BS <- as.numeric(d2$BS) #Benevolent sexism
d2$HS <- as.numeric(d2$HS) #Hostile sexism
d2$SRQ <- as.numeric(d2$SRQ) #Traditional gender role beliefs (higher = more traditional)
d2$SDO <- as.numeric(d2$SDO)
d2$CanadianCitizen <- as.factor(d2$CanadianCitizen)
d2$OftenThought <- as.numeric(d2$OftenThought)
d2$InfluenceCanada <- as.numeric(d2$InfluenceCanada)
d2$VotedFor <- as.factor(d2$VotedFor)
d2$Country <- as.factor(d2$Country)

# centering
d2$age.c <- d2$Demo_Age - mean(d2$Demo_Age, na.rm = T)
d2$edu.c <- d2$Demo_Education - mean(d2$Demo_Education, na.rm = T)
d2$BS.c <- d2$BS - mean(d2$BS, na.rm = T)
d2$HS.c <- d2$HS - mean(d2$HS, na.rm = T)
d2$SRQ.c <- d2$SRQ - mean(d2$SRQ, na.rm = T)
d2$SDO.c <- d2$SDO - mean(d2$SDO, na.rm = T)
d2$Impact.c <- d2$Impact_index - mean(d2$Impact_index, na.rm = T)
d2$InfluenceCanada.c <- d2$InfluenceCanada - mean(d2$InfluenceCanada, na.rm = T)
d2$Ideology.c <- d2$Ideology - 4 # meaningful midpoint--midpoint centering

Assessing between country metrics, normality, etc.

ASI & factors

describeBy(d2$ASI, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad  min  max range skew kurtosis   se
## X1    1 147 1.77 0.94   1.82    1.75 1.01 0.05 4.05     4 0.19    -0.72 0.08
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 149 1.73 0.98   1.86    1.73 1.21   0 3.73  3.73 -0.07    -1.11 0.08
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 150 2.01 0.95   2.07    2.03 1.11   0 4.09  4.09 -0.15    -0.86 0.08
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 147 1.89 0.93   1.86    1.89 1.01   0 4.45  4.45 0.01    -0.54 0.08
d2 %>%
  ggplot( aes(x=ASI, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Ambivalent Sexism Inventory") +
  facet_wrap(~Country)

describeBy(d2$BS, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 147 2.03 0.99   2.18    2.02 0.94   0 4.73  4.73 0.04    -0.55 0.08
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 149 1.92 1.07      2    1.91 1.21   0 4.73  4.73 0.05    -0.73 0.09
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 150 2.25 0.97   2.32    2.27 0.88   0 4.45  4.45 -0.14    -0.24 0.08
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 147 2.19 1.09   2.27    2.19 1.08   0   5     5 0.05    -0.26 0.09
d2 %>%
  ggplot( aes(x=BS, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Benevolent Sexism")+
  facet_wrap(~Country)

describeBy(d2$HS, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 147 1.51 1.13   1.45    1.45 1.35   0 4.36  4.36 0.39    -0.95 0.09
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 149 1.53 1.16   1.45    1.47 1.48   0 4.36  4.36 0.29    -1.03 0.09
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis  se
## X1    1 150 1.76 1.17   1.64    1.71 1.35   0 4.64  4.64 0.31    -0.92 0.1
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis  se
## X1    1 147 1.58 1.17   1.45     1.5 1.48   0 4.18  4.18 0.42    -0.87 0.1
d2 %>%
  ggplot( aes(x=HS, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Hostile Sexism") +
  facet_wrap(~Country)

SRQ

describeBy(d2$SRQ, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n  mean    sd median trimmed   mad min max range skew kurtosis   se
## X1    1 147 27.26 16.33  26.15   26.48 17.11   0  70    70 0.39    -0.65 1.35
## ------------------------------------------------------------ 
## group: Canada
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 149 25.74 17.82  25.38    25.2 23.95   0 66.92 66.92 0.22    -1.14 1.46
## ------------------------------------------------------------ 
## group: UK
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 150 31.13 16.05     30   31.04 19.39   0 66.92 66.92 0.09    -1.03 1.31
## ------------------------------------------------------------ 
## group: US
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 147 31.21 18.62  30.77   31.03 23.95   0 76.15 76.15 0.07    -1.05 1.54
d2 %>%
  ggplot( aes(x=SRQ, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 5) +
#  coord_cartesian(xlim = c(0,100)) +
  scale_x_continuous(breaks = seq(0,70,5)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Social Roles Questionnaire")+
  facet_wrap(~Country)

SDO

describeBy(d2$SDO, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 147  2.6 1.12    2.5    2.53 1.11   1 6.25  5.25 0.59     0.06 0.09
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis  se
## X1    1 149 2.51 1.25   2.38    2.41 1.48   1   7     6 0.81     0.59 0.1
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed mad min  max range skew kurtosis  se
## X1    1 150 2.77 1.17   2.88    2.74 1.3   1 5.75  4.75 0.16    -0.79 0.1
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 147 2.44 1.39   2.25     2.3 1.85   1 5.88  4.88 0.57    -0.85 0.11
d2 %>%
  ggplot( aes(x=SDO, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .5) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Social Dominance Orientation")+
  facet_wrap(~Country)

Personal Impact Measures

Mood = “How much has the U.S. election result impacted your overall mood this week?”

StressAnxiety = “How much stress or anxiety do you feel regarding the outcome of the U.S. election?”

Safety = “Do you feel the U.S. election results have affected your sense of safety or well-being?”

describeBy(d2$Mood, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 147 3.91 1.78      4    3.89 1.48   1   7     6 -0.09    -0.85 0.15
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 149 3.79 1.82      4    3.77 1.48   1   7     6 -0.06    -1.12 0.15
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 150 3.53 1.82      4    3.46 1.48   1   7     6  0.1    -1.05 0.15
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 147 4.28 2.07      5    4.34 2.97   1   7     6 -0.29    -1.21 0.17
d2 %>%
  ggplot( aes(x=Mood, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Mood") +
  facet_wrap(~Country)

describeBy(d2$StressAnxiety, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 147 3.52 1.79      4    3.46 1.48   1   7     6 0.13    -1.02 0.15
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 149 3.66 1.92      4    3.61 2.97   1   7     6 0.06    -1.25 0.16
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 150 3.43 1.85      3    3.34 2.97   1   7     6 0.21     -1.1 0.15
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 147 3.73 2.28      4    3.66 2.97   1   7     6 0.14    -1.51 0.19
d2 %>%
  ggplot( aes(x=StressAnxiety, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Stress & Anxiety")+
  facet_wrap(~Country)

describeBy(d2$Safety, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 147 3.73 1.86      4    3.71 2.97   1   7     6 -0.04    -1.19 0.15
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 149 3.62 1.95      4    3.57 2.97   1   7     6 0.05    -1.31 0.16
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 150 3.53 1.86      4    3.46 2.97   1   7     6 0.15    -1.18 0.15
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 147 4.06 2.25      4    4.08 2.97   1   7     6 -0.15    -1.47 0.19
d2 %>%
  ggplot( aes(x=Safety, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Stress & Anxiety")+
  facet_wrap(~Country)

describeBy(d2$OftenThought, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 147  4.5 1.69      5    4.56 1.48   1   7     6 -0.33     -0.8 0.14
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 149 4.34 1.59      4    4.32 1.48   1   7     6 -0.06    -0.92 0.13
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean  sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 150 4.03 1.8      4    4.03 1.48   1   7     6 -0.09    -0.96 0.15
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 147 4.59 1.86      5    4.72 1.48   1   7     6 -0.45    -0.81 0.15
d2 %>%
  ggplot( aes(x=OftenThought, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 1) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "How often have you thought about the U.S. election this week?")+
  facet_wrap(~Country)

Ideology

describeBy(d2$Ideology, d2$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis  se
## X1    1 147 3.12 1.17      3    3.08 1.48   1   7     6 0.41     0.48 0.1
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 149 3.36 1.49      3    3.29 1.48   1   7     6 0.48    -0.29 0.12
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis  se
## X1    1 150 3.41 1.26    3.5    3.35 0.93   1   7     6 0.39     0.27 0.1
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 147 3.54 1.81   3.75    3.46 2.22   1   7     6 0.23       -1 0.15
d2 %>%
  ggplot( aes(x=Ideology, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .5) +
  scale_x_continuous(breaks = seq(1,7,1)) +
  coord_cartesian(xlim = c(1,7)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Ideology (Liberal to Conservative)")+
  facet_wrap(~Country)

Study 3

VotedFor: If you could have voted in the 2024 U.S. Presidential Election/were an American citizen this week, who would you have voted for?

Var Construction

d3$ASI_3.r <- 5 - d3$ASI_3
d3$ASI_6.r <- 5 - d3$ASI_6
d3$ASI_7.r <- 5 - d3$ASI_7
d3$ASI_13.r <- 5 - d3$ASI_13
d3$ASI_18.r <- 5 - d3$ASI_18
d3$ASI_21.r <- 5 - d3$ASI_21

d3$ASI <- rowMeans(d3[,c("ASI_1", "ASI_2", "ASI_3.r", "ASI_4", "ASI_5", "ASI_6.r", "ASI_7.r", "ASI_8", "ASI_9", "ASI_10", "ASI_11", "ASI_12", "ASI_13.r", "ASI_14", "ASI_15", "ASI_16", "ASI_17", "ASI_18.r", "ASI_19", "ASI_20", "ASI_21.r", "ASI_22")], na.rm = T) # ambivalent sexism inventory
d3$BS <- rowMeans(d3[,c("ASI_1",  "ASI_3.r", "ASI_6.r", "ASI_8", "ASI_9", "ASI_12", "ASI_13.r", "ASI_17", "ASI_19", "ASI_20", "ASI_22")], na.rm = T) # benevolent sexism
d3$HS <- rowMeans(d3[,c("ASI_2",  "ASI_4", "ASI_5", "ASI_7.r", "ASI_10", "ASI_11",   "ASI_14", "ASI_15", "ASI_16", "ASI_18.r", "ASI_21.r")], na.rm = T) # hostile sexism

d3$SRQ_1.r <- 100 - d3$SRQ_1
d3$SRQ_2.r <- 100 - d3$SRQ_2
d3$SRQ_3.r <- 100 - d3$SRQ_3
d3$SRQ_4.r <- 100 - d3$SRQ_4
d3$SRQ_5.r <- 100 - d3$SRQ_5
d3$SRQ <- rowMeans(d3[,c("SRQ_1.r", "SRQ_2.r", "SRQ_3.r", "SRQ_4.r", "SRQ_5.r", "SRQ_6", "SRQ_7", "SRQ_8", "SRQ_9", "SRQ_10", "SRQ_11", "SRQ_12", "SRQ_13")], na.rm = T) # Social roles questionnaire

d3$SDO7_3.r <- 8 - d3$SDO7_3
d3$SDO7_4.r <- 8 - d3$SDO7_4
d3$SDO7_7.r <- 8 - d3$SDO7_7
d3$SDO7_8.r <- 8 - d3$SDO7_8

d3$SDO <- rowMeans(d3[,c("SDO7_1", "SDO7_2", "SDO7_3.r", "SDO7_4.r", "SDO7_5", "SDO7_6", "SDO7_7.r", "SDO7_8.r")], na.rm = T) # social dominance orientation


d3$VotedHarris_num <- ifelse(d3$VotedFor == 1, 1, 0)
d3$VotedHarris <- as.factor(d3$VotedHarris_num)


d3$ideology <- rowMeans(d3[,grep("Ideology", colnames(d3))], na.rm = T)
d3$Ideology <- 8 - d3$ideology

describe(d3[,c("Country","Ideology","Ideology_1","Ideology_2","Ideology_3","Ideology_4")])
##            vars   n mean   sd median trimmed  mad min max range  skew kurtosis
## Country*      1 995 2.50 1.12   3.00    2.50 1.48   1   4     3  0.00    -1.36
## Ideology      2 995 3.49 1.55   3.25    3.43 1.85   1   7     6  0.32    -0.59
## Ideology_1    3 995 4.36 1.71   4.00    4.39 1.48   1   7     6 -0.23    -0.88
## Ideology_2    4 995 4.79 1.72   5.00    4.92 1.48   1   7     6 -0.54    -0.63
## Ideology_3    5 995 4.32 1.66   4.00    4.35 1.48   1   7     6 -0.19    -0.77
## Ideology_4    6 995 4.59 1.59   5.00    4.66 1.48   1   7     6 -0.38    -0.63
##              se
## Country*   0.04
## Ideology   0.05
## Ideology_1 0.05
## Ideology_2 0.05
## Ideology_3 0.05
## Ideology_4 0.05
psych::alpha(d3[,c("WomanTraits_1", "WomanTraits_2", "WomanTraits_3", "WomanTraits_4", "WomanTraits_5")])
## 
## Reliability analysis   
## Call: psych::alpha(x = d3[, c("WomanTraits_1", "WomanTraits_2", "WomanTraits_3", 
##     "WomanTraits_4", "WomanTraits_5")])
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.77      0.78    0.75      0.41 3.5 0.011  6.2 0.67      0.4
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.75  0.77   0.8
## Duhachek  0.75  0.77   0.8
## 
##  Reliability if an item is dropped:
##               raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## WomanTraits_1      0.78      0.78    0.74      0.48 3.6    0.012 0.0074  0.46
## WomanTraits_2      0.75      0.75    0.71      0.43 3.0    0.012 0.0195  0.42
## WomanTraits_3      0.70      0.71    0.65      0.38 2.4    0.015 0.0056  0.36
## WomanTraits_4      0.71      0.72    0.68      0.39 2.6    0.014 0.0122  0.36
## WomanTraits_5      0.71      0.71    0.66      0.38 2.5    0.014 0.0099  0.37
## 
##  Item statistics 
##                 n raw.r std.r r.cor r.drop mean   sd
## WomanTraits_1 994  0.56  0.62  0.45   0.40  6.7 0.67
## WomanTraits_2 994  0.73  0.70  0.57   0.51  6.0 1.08
## WomanTraits_3 994  0.79  0.78  0.73   0.63  6.1 0.98
## WomanTraits_4 994  0.78  0.76  0.68   0.60  5.9 1.03
## WomanTraits_5 994  0.76  0.78  0.71   0.63  6.4 0.80
## 
## Non missing response frequency for each item
##               1    2    3    4    5    6    7 miss
## WomanTraits_1 0 0.00 0.00 0.01 0.04 0.19 0.75    0
## WomanTraits_2 0 0.00 0.02 0.07 0.16 0.35 0.40    0
## WomanTraits_3 0 0.01 0.01 0.04 0.18 0.37 0.39    0
## WomanTraits_4 0 0.00 0.01 0.08 0.21 0.34 0.36    0
## WomanTraits_5 0 0.00 0.00 0.02 0.11 0.34 0.53    0
psych::alpha(d3[,c("WomanTraits_6", "WomanTraits_7", "WomanTraits_8", "WomanTraits_9", "WomanTraits_10")])
## 
## Reliability analysis   
## Call: psych::alpha(x = d3[, c("WomanTraits_6", "WomanTraits_7", "WomanTraits_8", 
##     "WomanTraits_9", "WomanTraits_10")])
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean  sd median_r
##       0.91      0.91     0.9      0.67  10 0.0045  5.4 1.1     0.67
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.9  0.91  0.92
## Duhachek   0.9  0.91  0.92
## 
##  Reliability if an item is dropped:
##                raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## WomanTraits_6       0.89      0.89    0.87      0.67 8.1   0.0058 0.0086  0.68
## WomanTraits_7       0.89      0.89    0.87      0.67 8.2   0.0057 0.0046  0.67
## WomanTraits_8       0.91      0.91    0.88      0.71 9.7   0.0049 0.0026  0.71
## WomanTraits_9       0.88      0.88    0.87      0.65 7.6   0.0061 0.0056  0.65
## WomanTraits_10      0.89      0.89    0.88      0.67 8.2   0.0057 0.0062  0.67
## 
##  Item statistics 
##                  n raw.r std.r r.cor r.drop mean  sd
## WomanTraits_6  994  0.87  0.87  0.83   0.79  5.2 1.3
## WomanTraits_7  994  0.86  0.86  0.83   0.78  5.6 1.3
## WomanTraits_8  994  0.82  0.81  0.75   0.71  5.4 1.3
## WomanTraits_9  994  0.89  0.89  0.86   0.82  5.5 1.3
## WomanTraits_10 994  0.86  0.86  0.82   0.78  5.4 1.3
## 
## Non missing response frequency for each item
##                   1    2    3    4    5    6    7 miss
## WomanTraits_6  0.01 0.03 0.06 0.18 0.31 0.23 0.19    0
## WomanTraits_7  0.01 0.02 0.03 0.12 0.25 0.28 0.29    0
## WomanTraits_8  0.01 0.02 0.04 0.17 0.27 0.28 0.22    0
## WomanTraits_9  0.01 0.02 0.04 0.13 0.25 0.30 0.26    0
## WomanTraits_10 0.01 0.03 0.03 0.15 0.27 0.28 0.25    0
d3$WomanTraits_competence <- rowMeans(d3[,c("WomanTraits_1", "WomanTraits_2", "WomanTraits_3", "WomanTraits_4", "WomanTraits_5")], na.rm = T)

d3$WomanTraits_warmth <- rowMeans(d3[,c("WomanTraits_6", "WomanTraits_7", "WomanTraits_8", "WomanTraits_9", "WomanTraits_10")], na.rm = T)

Setting Classes & Centering

# classes
d3$Demo_Age <- as.numeric(d3$Demo_Age) #Participant age
d3$Demo_Gender_num <- as.factor(d3$Demo_Gender) #0 = male, 1 = female
d3$Demo_Gender <- recode_factor(d3$Demo_Gender_num,
                                `0` = "Man",
                                `1` = "Woman") #0 = male, 1 = female
d3$Demo_Ethnicity <- as.factor(d3$Demo_Ethnicity) #Participant ethnicity (0 = non-Hispanic, 1 = Hispanic)
d3$Demo_Race <- as.factor(d3$Demo_Race) #Participant race
d3$Demo_Education <- as.numeric(d3$Demo_Education, na.rm = TRUE)
d3$BS <- as.numeric(d3$BS) #Benevolent sexism
d3$HS <- as.numeric(d3$HS) #Hostile sexism
d3$SRQ <- as.numeric(d3$SRQ) #Traditional gender role beliefs (higher = more traditional)
d3$SDO <- as.numeric(d3$SDO)
d3$Citizen <- as.factor(d3$Citizen)
d3$VotedFor <- as.factor(d3$VotedFor)
d3$Country <- as.factor(d3$Country)

# centering
d3$age.c <- d3$Demo_Age - mean(d3$Demo_Age, na.rm = T)
d3$edu.c <- d3$Demo_Education - mean(d3$Demo_Education, na.rm = T)
d3$BS.c <- d3$BS - mean(d3$BS, na.rm = T)
d3$HS.c <- d3$HS - mean(d3$HS, na.rm = T)
d3$SRQ.c <- d3$SRQ - mean(d3$SRQ, na.rm = T)
d3$SDO.c <- d3$SDO - mean(d3$SDO, na.rm = T)
d3$Ideology.c <- d3$Ideology - 4 # meaningful midpoint--midpoint centering
d3$warmth.c <- d3$WomanTraits_warmth - mean(d3$WomanTraits_warmth, na.rm = T)
d3$competence.c <- d3$WomanTraits_competence - mean(d3$WomanTraits_competence, na.rm = T)

Assessing between country metrics, normality, etc.

ASI & factors

describeBy(d3$ASI, d3$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean  sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 247  1.7 0.9   1.68    1.67 1.01   0 3.95  3.95 0.27    -0.56 0.06
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 250 1.85 0.86   1.86    1.86 0.98   0 4.05  4.05 -0.01    -0.71 0.05
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 249 1.87 0.91      2    1.88 1.01   0   4     4 -0.15    -0.73 0.06
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 249 1.71 1.05   1.64    1.68 1.21   0 4.45  4.45 0.25    -0.84 0.07
d3 %>%
  ggplot( aes(x=ASI, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Ambivalent Sexism Inventory") +
  facet_wrap(~Country)

describeBy(d3$BS, d3$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 247    2 0.94      2    1.99 0.94   0 4.45  4.45 0.09    -0.45 0.06
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 250 2.09 0.92   2.09     2.1 0.94   0 4.64  4.64 -0.08     -0.3 0.06
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean sd median trimmed  mad min  max range  skew kurtosis   se
## X1    1 249 2.06  1   2.09    2.08 1.08   0 4.55  4.55 -0.11    -0.57 0.06
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 249 1.94 1.13      2    1.93 1.35   0   5     5 0.08    -0.76 0.07
d3 %>%
  ggplot( aes(x=BS, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Benevolent Sexism")+
  facet_wrap(~Country)

describeBy(d3$HS, d3$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 247  1.4 1.12   1.27     1.3 1.21   0   5     5 0.71    -0.05 0.07
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 250 1.62 1.14   1.55    1.54 1.21   0   5     5  0.5    -0.29 0.07
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min  max range skew kurtosis   se
## X1    1 249 1.67 1.12   1.64    1.63 1.35   0 4.64  4.64 0.27    -0.72 0.07
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 249 1.48 1.28   1.18    1.35 1.35   0   5     5 0.69    -0.47 0.08
d3 %>%
  ggplot( aes(x=HS, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .25) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
    theme_bw() +
    labs(fill="Gender",
         x = "Hostile Sexism") +
  facet_wrap(~Country)

SRQ

describeBy(d3$SRQ, d3$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 247 27.93 16.32  26.15   27.53 20.53   0 66.15 66.15 0.21    -0.95 1.04
## ------------------------------------------------------------ 
## group: Canada
##    vars   n  mean    sd median trimmed   mad min   max range skew kurtosis   se
## X1    1 250 29.94 16.38  29.23   29.51 18.25   0 76.15 76.15 0.23     -0.6 1.04
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean    sd median trimmed   mad min max range skew kurtosis   se
## X1    1 249 29.9 17.51  29.23   29.23 19.86   0  80    80 0.34    -0.52 1.11
## ------------------------------------------------------------ 
## group: US
##    vars   n  mean    sd median trimmed   mad min max range skew kurtosis   se
## X1    1 249 29.38 20.12  27.69   28.56 26.23   0  90    90 0.34    -0.77 1.28
d3 %>%
  ggplot( aes(x=SRQ, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = 5) +
  coord_cartesian(xlim = c(0,75)) +
  scale_x_continuous(breaks = seq(0,75,5)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Social Roles Questionnaire")+
  facet_wrap(~Country)

SDO

describeBy(d3$SDO, d3$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean   sd median trimmed mad min max range skew kurtosis   se
## X1    1 247 2.43 1.17   2.25    2.33 1.3   1 6.5   5.5 0.66    -0.05 0.07
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 250 2.55 1.26    2.5    2.45 1.48   1   7     6 0.62    -0.19 0.08
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 249 2.74 1.37   2.62    2.66 1.85   1   7     6 0.44    -0.57 0.09
## ------------------------------------------------------------ 
## group: US
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis  se
## X1    1 249  2.4 1.58   1.75    2.17 1.11   1   7     6 0.98    -0.05 0.1
d3 %>%
  ggplot( aes(x=SDO, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .5) +
  scale_x_continuous(breaks = seq(1,7,1)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Social Dominance Orientation")+
  facet_wrap(~Country)

Ideology

describeBy(d3$Ideology, d3$Country)
## 
##  Descriptive statistics by group 
## group: Aus
##    vars   n mean  sd median trimmed  mad min max range skew kurtosis   se
## X1    1 247 3.22 1.3      3    3.15 1.48   1   7     6 0.45    -0.11 0.08
## ------------------------------------------------------------ 
## group: Canada
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis  se
## X1    1 250 3.59 1.52   3.75    3.57 1.85   1   7     6 0.16    -0.64 0.1
## ------------------------------------------------------------ 
## group: UK
##    vars   n mean   sd median trimmed  mad min max range skew kurtosis  se
## X1    1 249 3.68 1.51    3.5    3.64 1.85   1   7     6 0.23    -0.66 0.1
## ------------------------------------------------------------ 
## group: US
##    vars   n mean  sd median trimmed  mad min max range skew kurtosis   se
## X1    1 249 3.45 1.8   3.25    3.35 1.85   1   7     6 0.36    -0.92 0.11
d3 %>%
  ggplot( aes(x=Ideology, fill=Demo_Gender)) +
    geom_histogram( color="#e9ecef", alpha=0.6, position = 'identity',
                    binwidth = .5) +
  scale_x_continuous(breaks = seq(1,7,1)) +
  coord_cartesian(xlim = c(1,7)) +
    scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
    labs(fill="Gender",
         x = "Ideology (Liberal to Conservative)")+
  facet_wrap(~Country)

Analyses: Voting for Harris

Study 1

Codes

d1$US_Can <- NA
d1$US_Can[d1$Country == "US"] <- -1/2
d1$US_Can[d1$Country == "Canada"] <- 1/2

d1$Country <- factor(d1$Country, levels = c("US","Canada"))

d1$man_woman <- NA
d1$man_woman[d1$Demo_Gender == "Woman"] <- 1/2
d1$man_woman[d1$Demo_Gender == "Man"] <- -1/2


contrasts(d1$Demo_Race) <- contr.poly(nlevels(d1$Demo_Race))

Original Models

Models

Dropping interaction terms with country because of model instability

Sexist Attitudes x Gender

s1_glm1 <- glm(VotedHarris ~ (HS.c + BS.c + SRQ.c + SDO.c) * man_woman + Country
            + (edu.c + age.c + Demo_Race + Demo_Ethnicity),
              data = d1,
              family = binomial)

# summary(s1_glm1)
tab_model(s1_glm1,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 0.58 0.29 0.21 – 1.53 -1.11 0.266
HS c 0.30 0.09 0.16 – 0.51 -4.14 <0.001
BS c 0.92 0.23 0.56 – 1.52 -0.31 0.756
SRQ c 0.99 0.02 0.95 – 1.02 -0.78 0.433
SDO c 0.63 0.14 0.40 – 0.96 -2.13 0.034
man woman 0.79 0.34 0.33 – 1.80 -0.56 0.579
Country [Canada] 1.63 0.65 0.75 – 3.61 1.22 0.222
edu c 0.88 0.07 0.75 – 1.03 -1.60 0.109
age c 1.02 0.02 0.98 – 1.05 0.93 0.353
Demo Race [.L] 0.64 0.78 0.06 – 8.81 -0.36 0.716
Demo Race [.Q] 0.18 0.20 0.02 – 1.73 -1.54 0.124
Demo Race [.C] 2.91 2.61 0.52 – 18.84 1.19 0.234
Demo Race [^4] 0.46 0.32 0.12 – 1.76 -1.12 0.263
Demo Race [^5] 2.49 1.31 0.89 – 7.06 1.74 0.081
Demo Ethnicity [1] 5.30 4.26 1.12 – 26.69 2.08 0.038
HS c × man woman 0.12 0.07 0.03 – 0.37 -3.51 <0.001
BS c × man woman 1.90 0.97 0.71 – 5.25 1.27 0.206
SRQ c × man woman 0.97 0.03 0.90 – 1.04 -0.91 0.364
SDO c × man woman 3.47 1.65 1.40 – 9.15 2.62 0.009
Observations 242
R2 Tjur 0.446

Reported Personal Impact x Gender

s1_glm2 <- glm(VotedHarris ~ man_woman * Impact.c
            + (age.c + edu.c + Demo_Race + Demo_Ethnicity + Country),
              data = d1,
              family = binomial)

# summary(s1_glm2)
tab_model(s1_glm2,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 0.91 0.41 0.37 – 2.23 -0.21 0.834
man woman 1.99 0.69 1.01 – 3.99 1.98 0.048
Impact c 2.21 0.25 1.79 – 2.81 6.89 <0.001
age c 0.99 0.01 0.96 – 1.01 -1.03 0.304
edu c 0.96 0.07 0.84 – 1.10 -0.55 0.583
Demo Race [.L] 3.33 4.09 0.30 – 46.25 0.98 0.328
Demo Race [.Q] 0.84 0.94 0.08 – 8.22 -0.16 0.876
Demo Race [.C] 2.72 2.39 0.49 – 17.05 1.13 0.257
Demo Race [^4] 1.33 0.86 0.37 – 4.78 0.44 0.657
Demo Race [^5] 1.45 0.68 0.58 – 3.64 0.80 0.425
Demo Ethnicity [1] 2.53 1.78 0.65 – 10.34 1.32 0.186
Country [Canada] 3.24 1.22 1.57 – 6.92 3.12 0.002
man woman × Impact c 1.15 0.25 0.75 – 1.78 0.65 0.516
Observations 242
R2 Tjur 0.335

Full Model: Impact Index & Sexist Attitudes x Gender

s1_glm3 <- glm(VotedHarris ~ man_woman * (Impact.c + HS.c + BS.c + SRQ.c + SDO.c ) 
               + (age.c + edu.c + Demo_Race + Country),
              data = d1,
              family = binomial)

summary(s1_glm3)
## 
## Call:
## glm(formula = VotedHarris ~ man_woman * (Impact.c + HS.c + BS.c + 
##     SRQ.c + SDO.c) + (age.c + edu.c + Demo_Race + Country), family = binomial, 
##     data = d1)
## 
## Coefficients:
##                     Estimate Std. Error z value Pr(>|z|)    
## (Intercept)         0.257592   0.476828   0.540  0.58905    
## man_woman          -0.398945   0.503405  -0.792  0.42807    
## Impact.c            0.774115   0.144871   5.343 9.12e-08 ***
## HS.c               -0.842090   0.336671  -2.501  0.01238 *  
## BS.c               -0.316316   0.285617  -1.107  0.26809    
## SRQ.c              -0.008923   0.019933  -0.448  0.65439    
## SDO.c              -0.587368   0.252581  -2.325  0.02005 *  
## age.c              -0.002275   0.017471  -0.130  0.89641    
## edu.c              -0.135079   0.085349  -1.583  0.11350    
## Demo_Race.L        -0.084813   1.325243  -0.064  0.94897    
## Demo_Race.Q        -0.651606   1.195202  -0.545  0.58563    
## Demo_Race.C         0.821435   0.992173   0.828  0.40772    
## Demo_Race^4        -0.452393   0.761557  -0.594  0.55249    
## Demo_Race^5         0.307842   0.574083   0.536  0.59180    
## CountryCanada       0.785682   0.441183   1.781  0.07494 .  
## man_woman:Impact.c -0.089828   0.282170  -0.318  0.75022    
## man_woman:HS.c     -1.823945   0.693774  -2.629  0.00856 ** 
## man_woman:BS.c      1.154907   0.564780   2.045  0.04087 *  
## man_woman:SRQ.c    -0.021067   0.038970  -0.541  0.58879    
## man_woman:SDO.c     0.850898   0.527576   1.613  0.10678    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 319.27  on 242  degrees of freedom
## Residual deviance: 163.07  on 223  degrees of freedom
##   (1 observation deleted due to missingness)
## AIC: 203.07
## 
## Number of Fisher Scoring iterations: 6
tab_model(s1_glm3,
          show.stat = T,
          show.se = T) 
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 1.29 0.62 0.51 – 3.37 0.54 0.589
man woman 0.67 0.34 0.24 – 1.76 -0.79 0.428
Impact c 2.17 0.31 1.66 – 2.94 5.34 <0.001
HS c 0.43 0.15 0.21 – 0.80 -2.50 0.012
BS c 0.73 0.21 0.41 – 1.28 -1.11 0.268
SRQ c 0.99 0.02 0.95 – 1.03 -0.45 0.654
SDO c 0.56 0.14 0.33 – 0.91 -2.33 0.020
age c 1.00 0.02 0.96 – 1.03 -0.13 0.896
edu c 0.87 0.07 0.74 – 1.03 -1.58 0.113
Demo Race [.L] 0.92 1.22 0.07 – 15.15 -0.06 0.949
Demo Race [.Q] 0.52 0.62 0.05 – 5.99 -0.55 0.586
Demo Race [.C] 2.27 2.26 0.34 – 17.46 0.83 0.408
Demo Race [^4] 0.64 0.48 0.14 – 2.78 -0.59 0.552
Demo Race [^5] 1.36 0.78 0.43 – 4.17 0.54 0.592
Country [Canada] 2.19 0.97 0.93 – 5.32 1.78 0.075
man woman × Impact c 0.91 0.26 0.52 – 1.59 -0.32 0.750
man woman × HS c 0.16 0.11 0.04 – 0.58 -2.63 0.009
man woman × BS c 3.17 1.79 1.08 – 9.99 2.04 0.041
man woman × SRQ c 0.98 0.04 0.91 – 1.06 -0.54 0.589
man woman × SDO c 2.34 1.24 0.85 – 6.82 1.61 0.107
Observations 243
R2 Tjur 0.563

Data Visualization

d1 %>% ggplot(aes(x = Country, 
                  y = VotedHarris_num, 
                  fill = Demo_Gender)) +
  geom_bar(stat = "summary", 
           fun = "mean", 
           position = position_dodge(.9), 
           alpha = .8) +
  stat_summary(geom = "errorbar", 
               color = "black", 
               width = .1, 
               show.legend = F, 
               position = position_dodge(.9)) +
  theme_bw() +
  scale_y_continuous(breaks = seq(0,1,.2)) +
  coord_cartesian(ylim = c(0,1)) +
  scale_fill_manual("Gender", 
                    values = c("#69b3a2", "#404080")) +
  labs(y = "Proportion Voted for Harris",
       title = "Vote Choice by Gender and Country")

d1 %>% ggplot() +
  geom_jitter(aes(x = Impact_index, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender),
              alpha = .7) + 
#  geom_smooth(aes(x = Impact_index, 
#                  y = VotedHarris, 
#                  color = Demo_Gender, 
#                  group = Demo_Gender), 
#              method = "loess", se = F) +
  geom_smooth(aes(x = Impact_index, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender), 
              method = "lm", se = F, fullrange = T) +
  labs(x = "Election Impact on Wellbeing",
       y = "Voted for Harris",
       title = "Likelihood of Voting Harris by Election Impact, Gender, and Country") +
  scale_x_continuous(breaks = seq(1,7,1)) +
  scale_y_discrete(labels = c("No","Yes")) +
  theme_bw() +
  scale_color_manual("Gender", 
                     values = c("#69b3a2", "#404080")) +
  facet_wrap(~Country)

d1 %>% ggplot() +
  geom_jitter(aes(x = HS, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender),
              alpha = .7) + 
#  geom_smooth(aes(x = HS, 
#                  y = VotedHarris, 
#                  color = Demo_Gender, 
#                  group = Demo_Gender), 
#              method = "loess", se = F) +
  geom_smooth(aes(x = HS, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender), 
              method = "lm", se = F, fullrange = T) +
  labs(x = "Hostile Sexism",
       y = "Voted for Harris",
       title = "Likelihood of Voting Harris by Hostile Sexism and Gender") +
  scale_x_continuous(breaks = seq(0,7,1)) +
  scale_y_discrete(labels = c("No","Yes")) +
  coord_cartesian(xlim = c(0,5)) +
  theme_bw() +
  scale_color_manual("Gender", 
                     values = c("#69b3a2", "#404080"))

d1 %>% ggplot() +
  geom_jitter(aes(x = SDO, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender),
              alpha = .7) + 
#  geom_smooth(aes(x = SDO, 
#                  y = VotedHarris, 
#                  color = Demo_Gender, 
#                  group = Demo_Gender), 
#              method = "loess", se = F) +
  geom_smooth(aes(x = SDO, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender), 
              method = "lm", se = F, fullrange = T) +
  labs(x = "Social Dominance Orientation",
       y = "Voted for Harris",
       title = "Likelihood of Voting Harris by SDO, Gender, and Country") +
  scale_x_continuous(breaks = seq(0,7,1)) +
  scale_y_discrete(labels = c("No","Yes")) +
  coord_cartesian(xlim = c(1,7)) +
  theme_bw() +
  scale_color_manual("Gender", 
                     values = c("#69b3a2", "#404080")) 

Study 2

Codes

d2$US_oth <- NA
d2$US_oth[d2$Country == "US"] <- 3
d2$US_oth[d2$Country == "Canada"] <- -1
d2$US_oth[d2$Country == "Aus"] <- -1
d2$US_oth[d2$Country == "UK"] <- -1

d2$Can_AusUK <- NA
d2$Can_AusUK[d2$Country == "US"] <- 0
d2$Can_AusUK[d2$Country == "Canada"] <- 2
d2$Can_AusUK[d2$Country == "Aus"] <- -1
d2$Can_AusUK[d2$Country == "UK"] <- -1

d2$Aus_UK <- NA
d2$Aus_UK[d2$Country == "US"] <- 0
d2$Aus_UK[d2$Country == "Canada"] <- 0
d2$Aus_UK[d2$Country == "Aus"] <- -1
d2$Aus_UK[d2$Country == "UK"] <- 1

d2$Country <- factor(d2$Country, levels = c("US","Canada", "Aus", "UK"))

d2$man_woman <- ifelse(d2$Demo_Gender == "Woman", 1/2, -1/2)

contrasts(d2$Demo_Race) <- contr.poly(nlevels(d2$Demo_Race))

Models

Insufficient power in race, ethnicity variables; omitting for these

Sexist Attitudes x Gender x Country

s2_glm1 <- glm(VotedHarris ~ (HS.c + BS.c + SRQ.c + SDO.c) * (US_oth + Can_AusUK + Aus_UK) * man_woman
            + (age.c + edu.c),
              data = d2,
              family = binomial)

# summary(s2_glm1)
tab_model(s2_glm1,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 1.65 0.21 1.30 – 2.13 3.99 <0.001
HS c 0.50 0.08 0.36 – 0.68 -4.41 <0.001
BS c 1.11 0.18 0.80 – 1.54 0.60 0.545
SRQ c 0.96 0.01 0.94 – 0.98 -3.70 <0.001
SDO c 0.83 0.10 0.65 – 1.04 -1.61 0.107
US oth 0.81 0.05 0.70 – 0.92 -3.19 0.001
Can AusUK 0.84 0.08 0.69 – 1.02 -1.73 0.084
Aus UK 0.71 0.14 0.48 – 1.04 -1.74 0.081
man woman 1.17 0.29 0.71 – 1.91 0.61 0.540
age c 1.02 0.01 1.00 – 1.04 2.47 0.014
edu c 1.01 0.04 0.94 – 1.09 0.27 0.788
HS c × US oth 0.97 0.08 0.82 – 1.14 -0.33 0.745
HS c × Can AusUK 1.18 0.15 0.91 – 1.53 1.28 0.200
HS c × Aus UK 1.30 0.30 0.82 – 2.08 1.11 0.267
BS c × US oth 0.93 0.08 0.79 – 1.10 -0.81 0.418
BS c × Can AusUK 0.92 0.13 0.70 – 1.21 -0.63 0.528
BS c × Aus UK 0.99 0.25 0.60 – 1.61 -0.05 0.962
SRQ c × US oth 1.01 0.01 1.00 – 1.02 1.62 0.106
SRQ c × Can AusUK 1.01 0.01 0.99 – 1.02 0.81 0.418
SRQ c × Aus UK 1.00 0.02 0.97 – 1.04 0.24 0.807
SDO c × US oth 0.97 0.06 0.85 – 1.09 -0.55 0.580
SDO c × Can AusUK 0.85 0.08 0.70 – 1.03 -1.67 0.096
SDO c × Aus UK 1.15 0.21 0.81 – 1.65 0.79 0.428
HS c × man woman 0.96 0.30 0.52 – 1.79 -0.12 0.905
BS c × man woman 1.38 0.45 0.72 – 2.65 0.96 0.336
SRQ c × man woman 1.01 0.02 0.97 – 1.05 0.31 0.757
SDO c × man woman 0.93 0.22 0.58 – 1.48 -0.31 0.758
US oth × man woman 1.00 0.13 0.77 – 1.30 0.01 0.989
Can AusUK × man woman 1.04 0.21 0.70 – 1.55 0.19 0.852
Aus UK × man woman 0.91 0.35 0.42 – 1.97 -0.24 0.808
(HS c × US oth) × man
woman
1.17 0.20 0.85 – 1.65 0.95 0.340
(HS c × Can AusUK) × man
woman
0.68 0.18 0.41 – 1.13 -1.47 0.142
(HS c × Aus UK) × man
woman
2.00 0.93 0.80 – 5.10 1.48 0.140
(BS c × US oth) × man
woman
0.97 0.16 0.70 – 1.34 -0.20 0.841
(BS c × Can AusUK) × man
woman
1.72 0.48 1.00 – 3.02 1.93 0.053
(BS c × Aus UK) × man
woman
0.32 0.16 0.12 – 0.83 -2.30 0.022
(SRQ c × US oth) × man
woman
0.99 0.01 0.96 – 1.01 -1.21 0.227
(SRQ c × Can AusUK) × man
woman
0.98 0.02 0.94 – 1.01 -1.28 0.200
(SRQ c × Aus UK) × man
woman
0.98 0.03 0.92 – 1.05 -0.48 0.632
(SDO c × US oth) × man
woman
1.14 0.14 0.90 – 1.47 1.09 0.276
(SDO c × Can AusUK) × man
woman
1.21 0.24 0.83 – 1.79 0.98 0.328
(SDO c × Aus UK) × man
woman
1.02 0.37 0.50 – 2.07 0.06 0.949
Observations 581
R2 Tjur 0.357

Personal Impact Index x Gender x Country

s2_glm2 <- glm(VotedHarris ~ (US_oth + Can_AusUK + Aus_UK) * man_woman * Impact.c
            + (age.c + edu.c),
              data = d2,
              family = binomial)

# summary(s2_glm2)
tab_model(s2_glm2,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 1.60 0.18 1.29 – 2.00 4.27 <0.001
US oth 0.74 0.05 0.65 – 0.84 -4.57 <0.001
Can AusUK 0.99 0.09 0.83 – 1.20 -0.08 0.939
Aus UK 0.75 0.11 0.55 – 1.00 -1.91 0.056
man woman 2.07 0.46 1.35 – 3.22 3.30 0.001
Impact c 2.06 0.15 1.79 – 2.39 9.84 <0.001
age c 1.02 0.01 1.01 – 1.04 3.04 0.002
edu c 0.99 0.04 0.92 – 1.06 -0.27 0.784
US oth × man woman 0.80 0.10 0.62 – 1.03 -1.72 0.085
Can AusUK × man woman 1.00 0.18 0.70 – 1.46 0.01 0.989
Aus UK × man woman 0.71 0.22 0.38 – 1.28 -1.14 0.255
US oth × Impact c 1.06 0.04 0.98 – 1.16 1.49 0.136
Can AusUK × Impact c 1.04 0.06 0.93 – 1.18 0.66 0.508
Aus UK × Impact c 1.00 0.10 0.82 – 1.22 0.03 0.978
man woman × Impact c 1.26 0.18 0.95 – 1.69 1.60 0.110
(US oth × man woman) ×
Impact c
0.92 0.08 0.78 – 1.09 -0.96 0.339
(Can AusUK × man woman) ×
Impact c
1.11 0.14 0.88 – 1.43 0.88 0.379
(Aus UK × man woman) ×
Impact c
1.03 0.21 0.69 – 1.53 0.14 0.891
Observations 581
R2 Tjur 0.285

Ideology x Gender x Country

s2_glm3 <- glm(VotedHarris ~ man_woman * Ideology.c * (US_oth + Can_AusUK + Aus_UK)
            + (age.c + edu.c),
              data = d2,
              family = binomial)

# summary(s2_glm3)
tab_model(s2_glm3,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 0.78 0.10 0.61 – 0.99 -1.99 0.047
man woman 1.84 0.45 1.14 – 2.98 2.48 0.013
Ideology c 0.35 0.04 0.28 – 0.43 -9.93 <0.001
US oth 0.80 0.06 0.68 – 0.92 -2.89 0.004
Can AusUK 1.04 0.10 0.86 – 1.24 0.38 0.702
Aus UK 0.89 0.15 0.64 – 1.25 -0.67 0.506
age c 1.03 0.01 1.02 – 1.05 3.80 <0.001
edu c 0.99 0.03 0.92 – 1.06 -0.31 0.759
man woman × Ideology c 0.79 0.16 0.52 – 1.18 -1.13 0.258
man woman × US oth 0.89 0.14 0.66 – 1.22 -0.73 0.464
man woman × Can AusUK 0.93 0.17 0.64 – 1.34 -0.40 0.687
man woman × Aus UK 0.78 0.26 0.40 – 1.51 -0.73 0.463
Ideology c × US oth 0.89 0.06 0.78 – 1.00 -1.89 0.058
Ideology c × Can AusUK 1.03 0.08 0.89 – 1.20 0.44 0.661
Ideology c × Aus UK 1.16 0.18 0.86 – 1.59 0.97 0.333
(man woman × Ideology c)
× US oth
0.88 0.11 0.68 – 1.12 -1.03 0.302
(man woman × Ideology c)
× Can AusUK
0.98 0.15 0.72 – 1.33 -0.11 0.914
(man woman × Ideology c)
× Aus UK
1.02 0.31 0.56 – 1.90 0.06 0.952
Observations 581
R2 Tjur 0.351

Impact index, sexist attitudes, ideology x Gender x Country

s2_glm4 <- glm(VotedHarris ~ man_woman * (US_oth + Can_AusUK + Aus_UK) * (Impact.c + HS.c + BS.c + SRQ.c + SDO.c + Ideology.c)
               + age.c + edu.c,
              data = d2,
              family = binomial)

# summary(s2_glm4)
tab_model(s2_glm4,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 1.54 0.28 1.09 – 2.20 2.41 0.016
man woman 1.12 0.40 0.55 – 2.26 0.31 0.757
US oth 0.72 0.07 0.58 – 0.87 -3.36 0.001
Can AusUK 0.81 0.11 0.62 – 1.07 -1.48 0.138
Aus UK 0.84 0.23 0.48 – 1.45 -0.61 0.541
Impact c 1.99 0.20 1.64 – 2.44 6.76 <0.001
HS c 0.66 0.13 0.45 – 0.97 -2.12 0.034
BS c 0.93 0.19 0.62 – 1.39 -0.37 0.715
SRQ c 0.96 0.01 0.94 – 0.99 -2.97 0.003
SDO c 1.05 0.16 0.78 – 1.41 0.30 0.763
Ideology c 0.57 0.07 0.44 – 0.73 -4.39 <0.001
age c 1.03 0.01 1.01 – 1.05 2.73 0.006
edu c 0.96 0.05 0.88 – 1.05 -0.84 0.404
man woman × US oth 0.93 0.18 0.63 – 1.37 -0.35 0.727
man woman × Can AusUK 1.06 0.29 0.61 – 1.83 0.20 0.842
man woman × Aus UK 0.97 0.54 0.32 – 2.86 -0.06 0.949
man woman × Impact c 1.06 0.21 0.71 – 1.57 0.27 0.790
man woman × HS c 1.47 0.58 0.68 – 3.24 0.98 0.326
man woman × BS c 0.90 0.37 0.40 – 2.01 -0.25 0.804
man woman × SRQ c 1.02 0.03 0.97 – 1.07 0.70 0.484
man woman × SDO c 0.98 0.29 0.55 – 1.77 -0.06 0.952
man woman × Ideology c 0.70 0.18 0.42 – 1.16 -1.39 0.164
US oth × Impact c 1.07 0.07 0.95 – 1.21 1.03 0.303
US oth × HS c 1.01 0.12 0.79 – 1.28 0.06 0.954
US oth × BS c 0.79 0.10 0.61 – 1.00 -1.93 0.053
US oth × SRQ c 1.02 0.01 1.00 – 1.04 2.44 0.015
US oth × SDO c 0.96 0.08 0.81 – 1.14 -0.47 0.641
US oth × Ideology c 0.89 0.06 0.76 – 1.02 -1.67 0.096
Can AusUK × Impact c 0.99 0.07 0.85 – 1.15 -0.20 0.844
Can AusUK × HS c 1.17 0.18 0.87 – 1.58 1.02 0.309
Can AusUK × BS c 0.87 0.14 0.63 – 1.19 -0.90 0.368
Can AusUK × SRQ c 1.02 0.01 1.00 – 1.04 1.57 0.116
Can AusUK × SDO c 0.89 0.11 0.70 – 1.13 -0.96 0.337
Can AusUK × Ideology c 0.99 0.10 0.81 – 1.20 -0.10 0.919
Aus UK × Impact c 1.21 0.18 0.91 – 1.63 1.31 0.189
Aus UK × HS c 1.25 0.34 0.73 – 2.17 0.81 0.416
Aus UK × BS c 0.98 0.28 0.56 – 1.72 -0.06 0.950
Aus UK × SRQ c 1.00 0.02 0.96 – 1.03 -0.25 0.806
Aus UK × SDO c 1.24 0.26 0.82 – 1.90 1.02 0.306
Aus UK × Ideology c 0.97 0.19 0.66 – 1.43 -0.14 0.885
(man woman × US oth) ×
Impact c
0.95 0.12 0.74 – 1.21 -0.40 0.686
(man woman × US oth) × HS
c
1.11 0.27 0.70 – 1.81 0.42 0.676
(man woman × US oth) × BS
c
0.83 0.20 0.50 – 1.32 -0.76 0.447
(man woman × US oth) ×
SRQ c
1.00 0.02 0.97 – 1.03 -0.07 0.942
(man woman × US oth) ×
SDO c
1.24 0.21 0.89 – 1.76 1.25 0.210
(man woman × US oth) ×
Ideology c
0.76 0.11 0.57 – 1.01 -1.88 0.060
(man woman × Can AusUK) ×
Impact c
1.16 0.18 0.86 – 1.57 0.97 0.331
(man woman × Can AusUK) ×
HS c
0.60 0.18 0.33 – 1.09 -1.69 0.091
(man woman × Can AusUK) ×
BS c
1.78 0.57 0.96 – 3.39 1.79 0.073
(man woman × Can AusUK) ×
SRQ c
0.97 0.02 0.93 – 1.01 -1.29 0.197
(man woman × Can AusUK) ×
SDO c
1.68 0.41 1.05 – 2.75 2.11 0.035
(man woman × Can AusUK) ×
Ideology c
0.96 0.19 0.65 – 1.43 -0.18 0.856
(man woman × Aus UK) ×
Impact c
1.23 0.36 0.69 – 2.20 0.70 0.486
(man woman × Aus UK) × HS
c
3.04 1.67 1.04 – 9.18 2.02 0.044
(man woman × Aus UK) × BS
c
0.41 0.23 0.13 – 1.24 -1.57 0.117
(man woman × Aus UK) ×
SRQ c
0.96 0.04 0.89 – 1.03 -1.16 0.248
(man woman × Aus UK) ×
SDO c
0.86 0.36 0.36 – 1.94 -0.37 0.713
(man woman × Aus UK) ×
Ideology c
0.80 0.31 0.37 – 1.72 -0.59 0.558
Observations 581
R2 Tjur 0.541

Data Visualization

d2 %>% ggplot(aes(x = Country, 
                  y = VotedHarris_num, 
                  fill = Demo_Gender)) +
  geom_bar(stat = "summary", 
           fun = "mean", 
           position = position_dodge(.9), 
           alpha = .8) +
  stat_summary(geom = "errorbar", 
               color = "black", 
               width = .1, 
               show.legend = F, 
               position = position_dodge(.9)) +
  theme_bw() +
  scale_y_continuous(breaks = seq(0,1,.2)) +
  coord_cartesian(ylim = c(0,1)) +
  scale_fill_manual("Gender", 
                    values = c("#69b3a2", "#404080")) +
  labs(y = "Proportion Voted for Harris",
       title = "Vote Choice by Gender and Country")

d2 %>% ggplot(aes(x = Ideology, y = VotedHarris_num, fill = Demo_Gender, color = Demo_Gender)) +
  geom_jitter(size = 1, alpha = .7) +
#  geom_smooth(method = "loess", se = F, fullrange = T) +
  geom_smooth(method = "lm", se = F, fullrange = T, fullrange = T) +
  theme_bw() +
#  facet_wrap(~Country) +
  scale_fill_manual(values = c("#69b3a2", "#404080"))+
  scale_color_manual(values = c("#69b3a2", "#404080")) +
  labs(fill = "Gender", color = "Gender",
       y = "Voted for Harris",
       x = "Ideology (Liberal to Conseravtive)",
       title = "Likelihood of Voting Harris by Ideology and Gender",
       caption= "Interestingly, ideology has narrower range for 'yes' voters than 'no' voters") +
  scale_y_continuous(breaks = c(0,1),
                     labels = c("No", 
                              "Yes")) +
  scale_x_continuous(breaks = seq(1,7,1))

d2 %>% ggplot() +
  geom_jitter(aes(x = Impact_index, 
                  y = VotedHarris_num),
              color = "#69b3a2",
              size = 1) + 
 # geom_smooth(aes(x = Impact_index, 
 #                 y = VotedHarris_num), 
 #             method = "loess", se = F, color = "#404080") +
  geom_smooth(aes(x = Impact_index, 
                  y = VotedHarris_num), 
              method = "lm", se = F, color = "#404080", fullrange = T) +
  labs(x = "Election Impact on Wellbeing",
       y = "Voted for Harris",
       title = "Likelihood of Voting Harris by Impact Index") +
  scale_x_continuous(breaks = seq(1,7,1)) +
  scale_y_continuous(labels = c("No","Yes"),
                    breaks = c(0,1)) +
  theme_bw()

d2 %>% ggplot() +
  geom_jitter(aes(x = SRQ, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender),
              size = 1, alpha = .7) + 
#  geom_smooth(aes(x = SRQ, 
#                  y = VotedHarris, 
#                  color = Demo_Gender, 
#                  group = Demo_Gender), 
#              method = "loess", se = F, fullrange = T) +
  geom_smooth(aes(x = SRQ, 
                  y = VotedHarris, 
                  color = Demo_Gender, 
                  group = Demo_Gender), 
              method = "lm", se = F, fullrange = T, fullrange = T) +
  labs(x = "Social Roles Questionnaire",
       y = "Voted for Harris",
       title = "Likelihood of Voting Harris by SDO, Gender, and Country") +
  scale_x_continuous(breaks = seq(0,80,10)) +
  scale_y_discrete(labels = c("No", 
                              "Yes")) +
  coord_cartesian(xlim = c(0,80)) +
  theme_bw() +
  scale_color_manual("Gender", 
                     values = c("#69b3a2", "#404080")) +
  facet_wrap(~Country)

Study 3

Codes

d3$US_oth <- NA
d3$US_oth[d3$Country == "US"] <- 3
d3$US_oth[d3$Country == "Canada"] <- -1
d3$US_oth[d3$Country == "Aus"] <- -1
d3$US_oth[d3$Country == "UK"] <- -1

d3$Can_AusUK <- NA
d3$Can_AusUK[d3$Country == "US"] <- 0
d3$Can_AusUK[d3$Country == "Canada"] <- 2
d3$Can_AusUK[d3$Country == "Aus"] <- -1
d3$Can_AusUK[d3$Country == "UK"] <- -1

d3$Aus_UK <- NA
d3$Aus_UK[d3$Country == "US"] <- 0
d3$Aus_UK[d3$Country == "Canada"] <- 0
d3$Aus_UK[d3$Country == "Aus"] <- -1
d3$Aus_UK[d3$Country == "UK"] <- 1

d3$Country <- factor(d3$Country, levels = c("US","Canada", "Aus", "UK"))

d3$man_woman <- ifelse(d3$Demo_Gender == "Woman", 1/2, -1/2)

Models

Sexist attitudes x Country x Gender

s3_glm1 <- glm(VotedHarris ~ (HS.c + BS.c + SRQ.c + SDO.c) * (US_oth + Can_AusUK + Aus_UK) * man_woman
            + (age.c + edu.c),
              data = d2,
              family = binomial)

# summary(s3_glm1)
tab_model(s3_glm1,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 1.65 0.21 1.30 – 2.13 3.99 <0.001
HS c 0.50 0.08 0.36 – 0.68 -4.41 <0.001
BS c 1.11 0.18 0.80 – 1.54 0.60 0.545
SRQ c 0.96 0.01 0.94 – 0.98 -3.70 <0.001
SDO c 0.83 0.10 0.65 – 1.04 -1.61 0.107
US oth 0.81 0.05 0.70 – 0.92 -3.19 0.001
Can AusUK 0.84 0.08 0.69 – 1.02 -1.73 0.084
Aus UK 0.71 0.14 0.48 – 1.04 -1.74 0.081
man woman 1.17 0.29 0.71 – 1.91 0.61 0.540
age c 1.02 0.01 1.00 – 1.04 2.47 0.014
edu c 1.01 0.04 0.94 – 1.09 0.27 0.788
HS c × US oth 0.97 0.08 0.82 – 1.14 -0.33 0.745
HS c × Can AusUK 1.18 0.15 0.91 – 1.53 1.28 0.200
HS c × Aus UK 1.30 0.30 0.82 – 2.08 1.11 0.267
BS c × US oth 0.93 0.08 0.79 – 1.10 -0.81 0.418
BS c × Can AusUK 0.92 0.13 0.70 – 1.21 -0.63 0.528
BS c × Aus UK 0.99 0.25 0.60 – 1.61 -0.05 0.962
SRQ c × US oth 1.01 0.01 1.00 – 1.02 1.62 0.106
SRQ c × Can AusUK 1.01 0.01 0.99 – 1.02 0.81 0.418
SRQ c × Aus UK 1.00 0.02 0.97 – 1.04 0.24 0.807
SDO c × US oth 0.97 0.06 0.85 – 1.09 -0.55 0.580
SDO c × Can AusUK 0.85 0.08 0.70 – 1.03 -1.67 0.096
SDO c × Aus UK 1.15 0.21 0.81 – 1.65 0.79 0.428
HS c × man woman 0.96 0.30 0.52 – 1.79 -0.12 0.905
BS c × man woman 1.38 0.45 0.72 – 2.65 0.96 0.336
SRQ c × man woman 1.01 0.02 0.97 – 1.05 0.31 0.757
SDO c × man woman 0.93 0.22 0.58 – 1.48 -0.31 0.758
US oth × man woman 1.00 0.13 0.77 – 1.30 0.01 0.989
Can AusUK × man woman 1.04 0.21 0.70 – 1.55 0.19 0.852
Aus UK × man woman 0.91 0.35 0.42 – 1.97 -0.24 0.808
(HS c × US oth) × man
woman
1.17 0.20 0.85 – 1.65 0.95 0.340
(HS c × Can AusUK) × man
woman
0.68 0.18 0.41 – 1.13 -1.47 0.142
(HS c × Aus UK) × man
woman
2.00 0.93 0.80 – 5.10 1.48 0.140
(BS c × US oth) × man
woman
0.97 0.16 0.70 – 1.34 -0.20 0.841
(BS c × Can AusUK) × man
woman
1.72 0.48 1.00 – 3.02 1.93 0.053
(BS c × Aus UK) × man
woman
0.32 0.16 0.12 – 0.83 -2.30 0.022
(SRQ c × US oth) × man
woman
0.99 0.01 0.96 – 1.01 -1.21 0.227
(SRQ c × Can AusUK) × man
woman
0.98 0.02 0.94 – 1.01 -1.28 0.200
(SRQ c × Aus UK) × man
woman
0.98 0.03 0.92 – 1.05 -0.48 0.632
(SDO c × US oth) × man
woman
1.14 0.14 0.90 – 1.47 1.09 0.276
(SDO c × Can AusUK) × man
woman
1.21 0.24 0.83 – 1.79 0.98 0.328
(SDO c × Aus UK) × man
woman
1.02 0.37 0.50 – 2.07 0.06 0.949
Observations 581
R2 Tjur 0.357

Ideology x Country x Gender

s3_glm2 <- glm(VotedHarris ~ Ideology.c * (US_oth + Can_AusUK + Aus_UK) * man_woman
            + (age.c + edu.c),
              data = d2,
              family = binomial)

# summary(s3_glm2)
tab_model(s3_glm2,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 0.78 0.10 0.61 – 0.99 -1.99 0.047
Ideology c 0.35 0.04 0.28 – 0.43 -9.93 <0.001
US oth 0.80 0.06 0.68 – 0.92 -2.89 0.004
Can AusUK 1.04 0.10 0.86 – 1.24 0.38 0.702
Aus UK 0.89 0.15 0.64 – 1.25 -0.67 0.506
man woman 1.84 0.45 1.14 – 2.98 2.48 0.013
age c 1.03 0.01 1.02 – 1.05 3.80 <0.001
edu c 0.99 0.03 0.92 – 1.06 -0.31 0.759
Ideology c × US oth 0.89 0.06 0.78 – 1.00 -1.89 0.058
Ideology c × Can AusUK 1.03 0.08 0.89 – 1.20 0.44 0.661
Ideology c × Aus UK 1.16 0.18 0.86 – 1.59 0.97 0.333
Ideology c × man woman 0.79 0.16 0.52 – 1.18 -1.13 0.258
US oth × man woman 0.89 0.14 0.66 – 1.22 -0.73 0.464
Can AusUK × man woman 0.93 0.17 0.64 – 1.34 -0.40 0.687
Aus UK × man woman 0.78 0.26 0.40 – 1.51 -0.73 0.463
(Ideology c × US oth) ×
man woman
0.88 0.11 0.68 – 1.12 -1.03 0.302
(Ideology c × Can AusUK)
× man woman
0.98 0.15 0.72 – 1.33 -0.11 0.914
(Ideology c × Aus UK) ×
man woman
1.02 0.31 0.56 – 1.90 0.06 0.952
Observations 581
R2 Tjur 0.351

Sexist Attitudes x Gender x Country + Ideology (can’t handle fully interactive model)

s3_glm3 <- glm(VotedHarris ~ (HS.c + BS.c + SRQ.c + SDO.c + Ideology.c) * man_woman * (US_oth + Can_AusUK + Aus_UK) 
            + (age.c + edu.c),
              data = d2,
              family = binomial)

# summary(s3_glm3)
tab_model(s3_glm3,
          show.stat = T,
          show.se = T)
  Voted Harris
Predictors Odds Ratios std. Error CI Statistic p
(Intercept) 1.09 0.17 0.80 – 1.47 0.53 0.598
HS c 0.60 0.10 0.42 – 0.83 -3.02 0.003
BS c 1.11 0.20 0.78 – 1.59 0.56 0.574
SRQ c 0.96 0.01 0.94 – 0.99 -3.10 0.002
SDO c 0.99 0.13 0.77 – 1.29 -0.04 0.965
Ideology c 0.47 0.06 0.37 – 0.60 -6.09 <0.001
man woman 1.15 0.36 0.63 – 2.11 0.45 0.652
US oth 0.76 0.07 0.63 – 0.90 -3.11 0.002
Can AusUK 0.86 0.10 0.68 – 1.08 -1.27 0.205
Aus UK 0.70 0.17 0.44 – 1.11 -1.49 0.136
age c 1.03 0.01 1.01 – 1.05 3.04 0.002
edu c 0.98 0.04 0.91 – 1.07 -0.39 0.699
HS c × man woman 0.97 0.33 0.49 – 1.91 -0.10 0.923
BS c × man woman 1.11 0.40 0.55 – 2.25 0.28 0.780
SRQ c × man woman 1.02 0.02 0.97 – 1.06 0.65 0.515
SDO c × man woman 1.01 0.27 0.60 – 1.69 0.03 0.980
Ideology c × man woman 0.70 0.17 0.43 – 1.12 -1.47 0.141
HS c × US oth 1.08 0.11 0.88 – 1.32 0.75 0.451
HS c × Can AusUK 1.17 0.16 0.89 – 1.53 1.15 0.250
HS c × Aus UK 1.29 0.31 0.80 – 2.10 1.05 0.295
BS c × US oth 0.90 0.09 0.74 – 1.10 -1.02 0.308
BS c × Can AusUK 0.92 0.13 0.69 – 1.23 -0.57 0.566
BS c × Aus UK 0.98 0.25 0.58 – 1.62 -0.09 0.929
SRQ c × US oth 1.01 0.01 1.00 – 1.02 1.55 0.120
SRQ c × Can AusUK 1.01 0.01 0.99 – 1.03 0.98 0.329
SRQ c × Aus UK 1.00 0.02 0.97 – 1.03 0.04 0.968
SDO c × US oth 0.96 0.07 0.84 – 1.11 -0.50 0.616
SDO c × Can AusUK 0.90 0.10 0.73 – 1.12 -0.92 0.357
SDO c × Aus UK 1.22 0.24 0.84 – 1.80 1.04 0.299
Ideology c × US oth 0.85 0.06 0.74 – 0.97 -2.28 0.023
Ideology c × Can AusUK 0.98 0.09 0.82 – 1.18 -0.18 0.859
Ideology c × Aus UK 0.95 0.18 0.66 – 1.37 -0.28 0.781
man woman × US oth 0.98 0.17 0.70 – 1.39 -0.10 0.916
man woman × Can AusUK 1.01 0.24 0.63 – 1.61 0.04 0.966
man woman × Aus UK 0.85 0.40 0.33 – 2.15 -0.35 0.729
(HS c × man woman) × US
oth
1.24 0.25 0.84 – 1.87 1.06 0.288
(HS c × man woman) × Can
AusUK
0.67 0.18 0.39 – 1.14 -1.49 0.137
(HS c × man woman) × Aus
UK
1.89 0.92 0.73 – 5.02 1.31 0.191
(BS c × man woman) × US
oth
0.84 0.17 0.56 – 1.24 -0.84 0.399
(BS c × man woman) × Can
AusUK
1.73 0.51 0.98 – 3.13 1.86 0.063
(BS c × man woman) × Aus
UK
0.35 0.18 0.12 – 0.96 -2.02 0.044
(SRQ c × man woman) × US
oth
0.99 0.01 0.97 – 1.02 -0.61 0.539
(SRQ c × man woman) × Can
AusUK
0.98 0.02 0.94 – 1.01 -1.26 0.209
(SRQ c × man woman) × Aus
UK
0.98 0.03 0.92 – 1.05 -0.51 0.611
(SDO c × man woman) × US
oth
1.15 0.17 0.87 – 1.53 0.97 0.331
(SDO c × man woman) × Can
AusUK
1.34 0.29 0.88 – 2.07 1.35 0.178
(SDO c × man woman) × Aus
UK
1.01 0.39 0.46 – 2.15 0.02 0.985
(Ideology c × man woman)
× US oth
0.81 0.11 0.61 – 1.06 -1.49 0.137
(Ideology c × man woman)
× Can AusUK
0.99 0.18 0.68 – 1.43 -0.05 0.957
(Ideology c × man woman)
× Aus UK
0.81 0.30 0.39 – 1.68 -0.58 0.564
Observations 581
R2 Tjur 0.462

Data Visualization

d3 %>% ggplot(aes(x = Country, 
                  y = VotedHarris_num, 
                  fill = Demo_Gender)) +
  geom_bar(stat = "summary", 
           fun = "mean", 
           position = position_dodge(.9), 
           alpha = .8) +
  stat_summary(geom = "errorbar", 
               color = "black", 
               width = .1, 
               show.legend = F, 
               position = position_dodge(.9)) +
  theme_bw() +
  scale_y_continuous(breaks = seq(0,1,.2)) +
  coord_cartesian(ylim = c(0,1)) +
  scale_fill_manual("Gender", 
                    values = c("#69b3a2", "#404080")) +
  labs(y = "Proportion Voted for Harris",
       title = "Vote Choice by Gender and Country")

d3 %>% ggplot(aes(x = HS, y = VotedHarris_num, group = Demo_Gender, color = Demo_Gender)) +
  geom_jitter(size = 1, alpha = .7) +
#  geom_smooth(method = "loess", se = F, fullrange = T) +
  geom_smooth(method = "lm", se = F, fullrange = T, fullrange = T) +
  theme_bw() +
#  facet_wrap(~Country) +
  scale_fill_manual(values = c("#69b3a2", "#404080"))+
  scale_color_manual(values = c("#69b3a2", "#404080")) +
  labs(fill = "Gender", color = "Gender",
       y = "Voted for Harris",
       x = "Hostile Sexism",
       title = "Likelihood of Voting Harris by Hostile Sexism, Gender, and Country") +
  scale_y_continuous(breaks = c(0,1),
                     labels = c("No", 
                              "Yes")) +
  scale_x_continuous(breaks = seq(0,7,1)) +
  coord_cartesian(xlim = c(0,5))

d3 %>% ggplot(aes(x = SRQ, y = VotedHarris_num, group = Demo_Gender, color = Demo_Gender)) +
  geom_jitter(size = 1, alpha = .7) +
#  geom_smooth(method = "loess", se = F, fullrange = T) +
  geom_smooth(method = "lm", se = F, fullrange = T,  fullrange = T) +
  theme_bw() +
#  facet_wrap(~Country) +
  scale_fill_manual(values = c("#69b3a2", "#404080"))+
  scale_color_manual(values = c("#69b3a2", "#404080")) +
  labs(fill = "Gender", color = "Gender",
       y = "Voted for Harris",
       x = "Social Roles Questionnaire",
       title = "Likelihood of Voting Harris by SRQ, Gender, and Country") +
  scale_y_continuous(breaks = c(0,1),
                     labels = c("No", 
                              "Yes")) +
  scale_x_continuous(breaks = seq(0,90,10)) +
  coord_cartesian(xlim = c(0,90))

d3 %>% ggplot(aes(x = Ideology, y = VotedHarris_num, group = Demo_Gender, color = Demo_Gender)) +
  geom_jitter(size = 1, alpha = .7) +
#  geom_smooth(method = "loess", se = F, fullrange = T) +
  geom_smooth(method = "lm", se = F, fullrange = T,  fullrange = T) +
  theme_bw() +
  facet_wrap(~Country) +
  scale_fill_manual(values = c("#69b3a2", "#404080"))+
  scale_color_manual(values = c("#69b3a2", "#404080")) +
  labs(fill = "Gender", color = "Gender",
       y = "Voted for Harris",
       x = "Ideology (Liberal to Conseravtive)",
       title = "Likelihood of Voting Harris by Ideology, Gender, and Country") +
  scale_y_continuous(breaks = c(0,1),
                     labels = c("No", 
                              "Yes")) +
  scale_x_continuous(breaks = seq(1,7,1)) +
  coord_cartesian(xlim = c(1,7))

Analyses: Candidate Experiment

Only uses study 3 data.

Codes

d3$US_oth <- NA
d3$US_oth[d3$Country == "US"] <- 3
d3$US_oth[d3$Country == "Canada"] <- -1
d3$US_oth[d3$Country == "Aus"] <- -1
d3$US_oth[d3$Country == "UK"] <- -1

d3$Can_AusUK <- NA
d3$Can_AusUK[d3$Country == "US"] <- 0
d3$Can_AusUK[d3$Country == "Canada"] <- 2
d3$Can_AusUK[d3$Country == "Aus"] <- -1
d3$Can_AusUK[d3$Country == "UK"] <- -1

d3$Aus_UK <- NA
d3$Aus_UK[d3$Country == "US"] <- 0
d3$Aus_UK[d3$Country == "Canada"] <- 0
d3$Aus_UK[d3$Country == "Aus"] <- -1
d3$Aus_UK[d3$Country == "UK"] <- 1

d3$Country <- factor(d3$Country, levels = c("US","Canada", "Aus", "UK"))
contrasts(d3$Country) <- contr.helmert(nlevels(d3$Country))

d3$man_woman <- ifelse(d3$Demo_Gender == "Woman", 1/2, -1/2)


contrasts(d3$Demo_Race) <- contr.poly(nlevels(d3$Demo_Race))

d3$LikelihoodofVoting <- as.factor(d3$LikelihoodofVoting)

Models

Interactive models

s3_olr1 <- clm(LikelihoodofVoting ~ man_woman * (US_oth + Can_AusUK + Aus_UK)
               + age.c + edu.c,
               data = d3,
               link = "logit"
)

# summary(s3_olr1)
tab_model(s3_olr1,
          show.se = T,
          show.stat = T)
  Likelihoodof Voting
Predictors Odds Ratios std. Error CI Statistic p
1|2 0.23 0.02 0.19 – 0.27 -17.87 <0.001
2|3 0.58 0.04 0.51 – 0.66 -8.11 <0.001
3|4 1.75 0.12 1.54 – 2.00 8.26 <0.001
man woman 1.81 0.21 1.44 – 2.29 5.02 <0.001
US oth 0.99 0.03 0.93 – 1.06 -0.18 0.858
Can AusUK 0.87 0.04 0.79 – 0.95 -3.04 0.002
Aus UK 0.80 0.07 0.68 – 0.95 -2.56 0.010
age c 1.00 0.00 1.00 – 1.00 -1.17 0.242
edu c 1.09 0.02 1.05 – 1.14 4.06 <0.001
man woman × US oth 0.91 0.06 0.80 – 1.04 -1.35 0.177
man woman × Can AusUK 0.99 0.09 0.82 – 1.20 -0.06 0.949
man woman × Aus UK 1.09 0.19 0.78 – 1.52 0.50 0.617
Observations 980
R2 Nagelkerke 0.067
s3_olr2 <- clm(LikelihoodofVoting ~ man_woman * (US_oth + Can_AusUK + Aus_UK) * (HS.c + BS.c + SDO.c + SRQ.c)
               + age.c + edu.c,
               data = d3,
               link = "logit"
)

# summary(s3_olr2)
tab_model(s3_olr2,
          show.stat = T,
          show.se=T)
  Likelihoodof Voting
Predictors Odds Ratios std. Error CI Statistic p
1|2 0.17 0.02 0.14 – 0.21 -18.44 <0.001
2|3 0.53 0.04 0.46 – 0.62 -8.21 <0.001
3|4 2.02 0.16 1.74 – 2.36 9.15 <0.001
man woman 1.21 0.16 0.94 – 1.55 1.44 0.149
US oth 0.95 0.04 0.88 – 1.02 -1.38 0.167
Can AusUK 0.87 0.05 0.78 – 0.96 -2.72 0.007
Aus UK 0.88 0.08 0.73 – 1.05 -1.40 0.161
HS c 0.62 0.05 0.53 – 0.73 -5.83 <0.001
BS c 1.14 0.10 0.96 – 1.35 1.47 0.140
SDO c 0.73 0.05 0.64 – 0.82 -5.00 <0.001
SRQ c 0.98 0.01 0.97 – 1.00 -2.63 0.009
age c 1.00 0.00 1.00 – 1.00 0.00 0.999
edu c 1.07 0.03 1.02 – 1.12 2.84 0.004
man woman × US oth 0.89 0.07 0.77 – 1.03 -1.57 0.117
man woman × Can AusUK 1.05 0.11 0.85 – 1.29 0.43 0.665
man woman × Aus UK 1.16 0.21 0.81 – 1.67 0.80 0.426
man woman × HS c 0.73 0.12 0.53 – 1.01 -1.91 0.056
man woman × BS c 0.87 0.15 0.62 – 1.22 -0.81 0.420
man woman × SDO c 1.13 0.14 0.88 – 1.44 0.95 0.342
man woman × SRQ c 1.03 0.01 1.00 – 1.05 2.25 0.024
US oth × HS c 1.01 0.05 0.92 – 1.11 0.24 0.813
US oth × BS c 0.98 0.05 0.90 – 1.08 -0.37 0.715
US oth × SDO c 0.99 0.03 0.93 – 1.06 -0.21 0.837
US oth × SRQ c 1.00 0.00 1.00 – 1.01 0.88 0.381
Can AusUK × HS c 1.03 0.07 0.90 – 1.16 0.40 0.688
Can AusUK × BS c 0.98 0.07 0.85 – 1.13 -0.25 0.804
Can AusUK × SDO c 0.96 0.05 0.87 – 1.06 -0.87 0.384
Can AusUK × SRQ c 1.01 0.00 1.00 – 1.02 1.59 0.111
Aus UK × HS c 1.03 0.12 0.82 – 1.29 0.25 0.804
Aus UK × BS c 0.82 0.11 0.64 – 1.06 -1.48 0.138
Aus UK × SDO c 0.98 0.09 0.81 – 1.18 -0.21 0.831
Aus UK × SRQ c 1.01 0.01 0.99 – 1.03 0.90 0.370
(man woman × US oth) × HS
c
0.89 0.08 0.74 – 1.06 -1.30 0.194
(man woman × US oth) × BS
c
0.98 0.09 0.81 – 1.18 -0.22 0.827
(man woman × US oth) ×
SDO c
1.00 0.07 0.87 – 1.14 -0.03 0.974
(man woman × US oth) ×
SRQ c
1.01 0.01 1.00 – 1.02 1.25 0.211
(man woman × Can AusUK) ×
HS c
1.03 0.13 0.80 – 1.33 0.26 0.798
(man woman × Can AusUK) ×
BS c
0.82 0.12 0.62 – 1.09 -1.37 0.170
(man woman × Can AusUK) ×
SDO c
1.15 0.12 0.94 – 1.40 1.35 0.176
(man woman × Can AusUK) ×
SRQ c
1.01 0.01 0.99 – 1.03 0.75 0.455
(man woman × Aus UK) × HS
c
1.00 0.23 0.63 – 1.57 -0.01 0.996
(man woman × Aus UK) × BS
c
0.93 0.24 0.56 – 1.55 -0.28 0.779
(man woman × Aus UK) ×
SDO c
1.09 0.20 0.75 – 1.57 0.44 0.662
(man woman × Aus UK) ×
SRQ c
1.00 0.02 0.96 – 1.04 -0.10 0.917
Observations 980
R2 Nagelkerke 0.305
s3_olr3 <- clm(LikelihoodofVoting ~ (US_oth + Can_AusUK + Aus_UK) * man_woman + (warmth.c + competence.c)
               + age.c + edu.c,
               data = d3,
               link = "logit"
)

# summary(s3_olr3)
tab_model(s3_olr3,
          show.stat = T,
          show.se = T)
  Likelihoodof Voting
Predictors Odds Ratios std. Error CI Statistic p
1|2 0.21 0.02 0.18 – 0.25 -18.26 <0.001
2|3 0.54 0.04 0.47 – 0.62 -8.68 <0.001
3|4 1.77 0.12 1.54 – 2.03 8.14 <0.001
US oth 1.00 0.03 0.93 – 1.07 -0.03 0.977
Can AusUK 0.87 0.04 0.79 – 0.96 -2.87 0.004
Aus UK 0.86 0.07 0.72 – 1.02 -1.75 0.081
man woman 1.86 0.23 1.46 – 2.37 5.01 <0.001
warmth c 1.68 0.10 1.50 – 1.88 8.98 <0.001
competence c 0.60 0.06 0.49 – 0.72 -5.28 <0.001
age c 1.00 0.00 1.00 – 1.00 -1.57 0.117
edu c 1.10 0.02 1.06 – 1.15 4.40 <0.001
US oth × man woman 0.93 0.06 0.81 – 1.06 -1.10 0.273
Can AusUK × man woman 1.01 0.10 0.83 – 1.22 0.09 0.931
Aus UK × man woman 1.10 0.19 0.78 – 1.55 0.56 0.577
Observations 979
R2 Nagelkerke 0.165
s3_olr4 <- clm(LikelihoodofVoting ~ man_woman * (US_oth + Can_AusUK + Aus_UK) * Ideology.c
               + age.c + edu.c,
               data = d3,
               link = "logit"
)

# summary(s3_olr4)
tab_model(s3_olr4,
          show.stat = T,
          show.se = T)
  Likelihoodof Voting
Predictors Odds Ratios std. Error CI Statistic p
1|2 0.25 0.02 0.21 – 0.30 -15.84 <0.001
2|3 0.70 0.05 0.61 – 0.81 -4.82 <0.001
3|4 2.39 0.18 2.05 – 2.78 11.28 <0.001
man woman 1.47 0.19 1.14 – 1.89 3.00 0.003
US oth 0.99 0.04 0.92 – 1.06 -0.28 0.777
Can AusUK 0.89 0.05 0.81 – 0.99 -2.22 0.026
Aus UK 0.88 0.08 0.73 – 1.06 -1.32 0.187
Ideology c 0.62 0.03 0.57 – 0.68 -10.91 <0.001
age c 1.00 0.00 1.00 – 1.00 -0.33 0.742
edu c 1.09 0.02 1.04 – 1.14 3.67 <0.001
man woman × US oth 0.92 0.07 0.80 – 1.06 -1.17 0.240
man woman × Can AusUK 1.08 0.11 0.88 – 1.32 0.76 0.448
man woman × Aus UK 1.23 0.23 0.85 – 1.78 1.11 0.268
man woman × Ideology c 0.99 0.08 0.84 – 1.17 -0.09 0.925
US oth × Ideology c 1.02 0.02 0.98 – 1.06 0.99 0.320
Can AusUK × Ideology c 1.06 0.04 0.99 – 1.14 1.75 0.081
Aus UK × Ideology c 0.94 0.06 0.82 – 1.07 -1.00 0.320
(man woman × US oth) ×
Ideology c
0.98 0.04 0.90 – 1.07 -0.46 0.644
(man woman × Can AusUK) ×
Ideology c
1.03 0.07 0.90 – 1.18 0.39 0.698
(man woman × Aus UK) ×
Ideology c
1.24 0.17 0.96 – 1.62 1.63 0.103
Observations 980
R2 Nagelkerke 0.202
s3_olr5 <- clm(LikelihoodofVoting ~ man_woman * (US_oth + Can_AusUK + Aus_UK) * (Ideology.c + warmth.c + competence.c)
               + age.c + edu.c,
               data = d3,
               link = "logit"
)

# summary(s3_olr5)
tab_model(s3_olr5,
          show.stat = T,
          show.se = T)
  Likelihoodof Voting
Predictors Odds Ratios std. Error CI Statistic p
1|2 0.22 0.02 0.19 – 0.27 -16.22 <0.001
2|3 0.65 0.05 0.56 – 0.76 -5.58 <0.001
3|4 2.37 0.19 2.02 – 2.77 10.65 <0.001
man woman 1.54 0.21 1.18 – 2.01 3.21 0.001
US oth 1.00 0.04 0.93 – 1.08 0.13 0.899
Can AusUK 0.92 0.05 0.83 – 1.02 -1.57 0.117
Aus UK 0.90 0.09 0.74 – 1.09 -1.09 0.277
Ideology c 0.64 0.03 0.58 – 0.69 -9.93 <0.001
warmth c 1.61 0.10 1.43 – 1.82 7.74 <0.001
competence c 0.62 0.06 0.51 – 0.76 -4.57 <0.001
age c 1.00 0.00 1.00 – 1.00 -0.85 0.396
edu c 1.09 0.03 1.04 – 1.15 3.75 <0.001
man woman × US oth 0.94 0.07 0.81 – 1.09 -0.85 0.397
man woman × Can AusUK 1.11 0.12 0.90 – 1.37 0.96 0.338
man woman × Aus UK 1.32 0.26 0.90 – 1.96 1.41 0.157
man woman × Ideology c 0.99 0.09 0.83 – 1.18 -0.07 0.944
man woman × warmth c 0.87 0.11 0.68 – 1.10 -1.15 0.250
man woman × competence c 0.76 0.16 0.50 – 1.13 -1.36 0.175
US oth × Ideology c 1.02 0.02 0.98 – 1.07 0.94 0.349
US oth × warmth c 0.97 0.03 0.91 – 1.03 -0.97 0.332
US oth × competence c 0.96 0.06 0.85 – 1.07 -0.77 0.441
Can AusUK × Ideology c 1.07 0.04 1.00 – 1.15 1.98 0.048
Can AusUK × warmth c 0.95 0.05 0.87 – 1.05 -0.95 0.343
Can AusUK × competence c 1.03 0.08 0.87 – 1.21 0.33 0.739
Aus UK × Ideology c 0.96 0.07 0.84 – 1.11 -0.51 0.608
Aus UK × warmth c 0.89 0.08 0.74 – 1.06 -1.31 0.192
Aus UK × competence c 0.92 0.14 0.68 – 1.23 -0.57 0.568
(man woman × US oth) ×
Ideology c
0.97 0.04 0.89 – 1.06 -0.71 0.475
(man woman × US oth) ×
warmth c
0.89 0.06 0.78 – 1.01 -1.80 0.072
(man woman × US oth) ×
competence c
0.95 0.11 0.76 – 1.20 -0.42 0.675
(man woman × Can AusUK) ×
Ideology c
1.03 0.07 0.89 – 1.18 0.35 0.728
(man woman × Can AusUK) ×
warmth c
0.99 0.10 0.82 – 1.21 -0.06 0.954
(man woman × Can AusUK) ×
competence c
0.82 0.14 0.59 – 1.13 -1.20 0.231
(man woman × Aus UK) ×
Ideology c
1.16 0.16 0.88 – 1.53 1.05 0.295
(man woman × Aus UK) ×
warmth c
1.33 0.25 0.92 – 1.91 1.52 0.127
(man woman × Aus UK) ×
competence c
1.65 0.50 0.92 – 2.97 1.67 0.094
Observations 979
R2 Nagelkerke 0.282

Full model

gender main effects are pretty unstable across these models

s3_olr6 <- clm(LikelihoodofVoting ~ man_woman 
               * (warmth.c + competence.c + Ideology.c + HS.c + BS.c + SDO.c + SRQ.c)
               * (US_oth + Can_AusUK + Aus_UK)
              + age.c + edu.c,
               data = d3,
               link = "logit"
)

# summary(s3_olr6)
tab_model(s3_olr6,
          show.stat = T,
          show.se = T)
  Likelihoodof Voting
Predictors Odds Ratios std. Error CI Statistic p
1|2 0.16 0.02 0.13 – 0.20 -17.18 <0.001
2|3 0.54 0.05 0.45 – 0.64 -7.12 <0.001
3|4 2.27 0.20 1.91 – 2.70 9.28 <0.001
man woman 1.21 0.18 0.90 – 1.63 1.28 0.200
warmth c 1.52 0.10 1.34 – 1.73 6.30 <0.001
competence c 0.52 0.06 0.42 – 0.64 -6.01 <0.001
Ideology c 0.85 0.05 0.76 – 0.95 -2.80 0.005
HS c 0.64 0.06 0.54 – 0.77 -4.96 <0.001
BS c 1.12 0.10 0.93 – 1.34 1.20 0.231
SDO c 0.85 0.06 0.74 – 0.97 -2.35 0.019
SRQ c 0.98 0.01 0.97 – 0.99 -3.30 0.001
US oth 0.98 0.04 0.91 – 1.07 -0.41 0.681
Can AusUK 0.92 0.06 0.81 – 1.04 -1.38 0.167
Aus UK 0.86 0.10 0.70 – 1.07 -1.31 0.189
age c 1.00 0.00 1.00 – 1.00 -0.57 0.569
edu c 1.07 0.03 1.02 – 1.13 2.74 0.006
man woman × warmth c 0.95 0.13 0.73 – 1.23 -0.41 0.684
man woman × competence c 0.76 0.17 0.50 – 1.17 -1.24 0.215
man woman × Ideology c 0.87 0.10 0.70 – 1.09 -1.21 0.225
man woman × HS c 0.77 0.14 0.54 – 1.08 -1.50 0.134
man woman × BS c 0.85 0.16 0.59 – 1.23 -0.87 0.385
man woman × SDO c 1.09 0.16 0.83 – 1.44 0.63 0.526
man woman × SRQ c 1.03 0.01 1.00 – 1.05 2.23 0.026
man woman × US oth 0.89 0.07 0.76 – 1.05 -1.34 0.179
man woman × Can AusUK 1.04 0.13 0.82 – 1.32 0.30 0.765
man woman × Aus UK 1.48 0.33 0.96 – 2.28 1.76 0.078
warmth c × US oth 0.95 0.03 0.89 – 1.02 -1.38 0.167
warmth c × Can AusUK 0.94 0.05 0.85 – 1.05 -1.04 0.298
warmth c × Aus UK 0.96 0.10 0.79 – 1.17 -0.40 0.691
competence c × US oth 0.95 0.06 0.84 – 1.08 -0.75 0.453
competence c × Can AusUK 1.09 0.09 0.92 – 1.29 0.95 0.342
competence c × Aus UK 0.91 0.14 0.67 – 1.24 -0.60 0.546
Ideology c × US oth 1.03 0.03 0.97 – 1.09 1.05 0.293
Ideology c × Can AusUK 1.05 0.05 0.96 – 1.14 0.97 0.333
Ideology c × Aus UK 0.90 0.08 0.76 – 1.07 -1.18 0.238
HS c × US oth 0.99 0.05 0.90 – 1.09 -0.24 0.807
HS c × Can AusUK 1.04 0.07 0.90 – 1.19 0.55 0.584
HS c × Aus UK 1.01 0.13 0.79 – 1.30 0.10 0.918
BS c × US oth 1.01 0.05 0.91 – 1.11 0.18 0.857
BS c × Can AusUK 0.97 0.07 0.83 – 1.12 -0.46 0.648
BS c × Aus UK 0.88 0.12 0.67 – 1.16 -0.88 0.380
SDO c × US oth 0.97 0.04 0.90 – 1.04 -0.93 0.352
SDO c × Can AusUK 0.95 0.06 0.85 – 1.07 -0.88 0.379
SDO c × Aus UK 1.03 0.11 0.84 – 1.26 0.26 0.793
SRQ c × US oth 1.00 0.00 1.00 – 1.01 0.82 0.410
SRQ c × Can AusUK 1.01 0.01 1.00 – 1.02 1.60 0.109
SRQ c × Aus UK 1.01 0.01 0.99 – 1.03 0.77 0.442
(man woman × warmth c) ×
US oth
0.85 0.06 0.74 – 0.97 -2.36 0.018
(man woman × warmth c) ×
Can AusUK
1.04 0.11 0.84 – 1.29 0.36 0.721
(man woman × warmth c) ×
Aus UK
1.35 0.27 0.91 – 1.99 1.50 0.135
(man woman × competence
c) × US oth
0.93 0.12 0.73 – 1.18 -0.61 0.543
(man woman × competence
c) × Can AusUK
0.91 0.16 0.65 – 1.28 -0.54 0.592
(man woman × competence
c) × Aus UK
1.39 0.44 0.75 – 2.59 1.05 0.293
(man woman × Ideology c)
× US oth
0.96 0.06 0.85 – 1.07 -0.78 0.433
(man woman × Ideology c)
× Can AusUK
0.91 0.08 0.76 – 1.09 -0.98 0.327
(man woman × Ideology c)
× Aus UK
1.33 0.24 0.94 – 1.89 1.60 0.110
(man woman × HS c) × US
oth
0.92 0.09 0.76 – 1.12 -0.82 0.414
(man woman × HS c) × Can
AusUK
1.18 0.17 0.89 – 1.56 1.16 0.246
(man woman × HS c) × Aus
UK
0.79 0.20 0.48 – 1.29 -0.93 0.350
(man woman × BS c) × US
oth
1.01 0.10 0.83 – 1.23 0.13 0.896
(man woman × BS c) × Can
AusUK
0.80 0.12 0.60 – 1.08 -1.44 0.149
(man woman × BS c) × Aus
UK
0.94 0.26 0.54 – 1.62 -0.23 0.818
(man woman × SDO c) × US
oth
1.00 0.08 0.86 – 1.16 0.04 0.971
(man woman × SDO c) × Can
AusUK
1.26 0.15 1.00 – 1.59 1.96 0.049
(man woman × SDO c) × Aus
UK
1.06 0.22 0.70 – 1.60 0.28 0.780
(man woman × SRQ c) × US
oth
1.01 0.01 0.99 – 1.02 0.77 0.440
(man woman × SRQ c) × Can
AusUK
1.01 0.01 0.99 – 1.03 0.53 0.599
(man woman × SRQ c) × Aus
UK
1.00 0.02 0.96 – 1.03 -0.23 0.817
Observations 979
R2 Nagelkerke 0.391

Assumption

H0: Parallel Regression Assumption holds

Data Visualization

Experiment Vote Choice

d3 %>% ggplot(aes(x = as.numeric(LikelihoodofVoting), fill = Demo_Gender)) +
  geom_histogram( color="#e9ecef", alpha=0.8, position = 'dodge',
                  binwidth = .5) +
  scale_fill_manual(values=c("#69b3a2", "#404080")) +
  theme_bw() +
  scale_x_continuous( labels = c("Masc Man",
                                 "Femme Man",
                                 "Masc Woman",
                                 "Femme Woman"),
                       breaks = seq(1,4,1)) +
  scale_y_continuous(breaks = seq(0,80,10)) +
  labs(x = "Candidate Selected",
       y = "Frequency",
       fill = "Participant
Gender",
title = "Number Voting for Each Candidate by Gender and Country") +
  facet_wrap(~Country)

Predicting experimental vote choice

s3_olr.plot <- clm(LikelihoodofVoting ~ Demo_Gender * (Ideology + WomanTraits_warmth + WomanTraits_competence + HS + BS + SDO + SRQ) * Country,
               data = d3,
               link = "logit"
)


## Plot 1: Female candidate traits: Warmth

preds_olr.plot <- predictions(
  s3_olr.plot,
  newdata = datagrid(
    
# Plotting variables
    WomanTraits_warmth = seq(
      min(d3$WomanTraits_warmth, na.rm = TRUE), 
      max(d3$WomanTraits_warmth, na.rm = TRUE), 
      length.out = 100
    ),
    Demo_Gender = unique(na.omit(d3$Demo_Gender)),
    Country = unique(na.omit(d3$Country)),
    
# Variables to hold constant
    Ideology = mean(d3$Ideology, na.rm = TRUE),
    WomanTraits_competence = mean(d3$WomanTraits_competence, na.rm = TRUE),
    HS = mean(d3$HS, na.rm = TRUE), 
    BS = mean(d3$BS, na.rm = TRUE),
    SDO = mean(d3$SDO, na.rm = TRUE),
    SRQ = mean(d3$SRQ, na.rm = TRUE)
  )
)

# Ensure prediction data is sorted cleanly for smooth lines
preds <- preds_olr.plot[order(preds_olr.plot$Demo_Gender, preds_olr.plot$group, preds_olr.plot$WomanTraits_warmth), ]

preds$group_labeled <- factor(
  preds$group, 
  labels = c("Masc Man",
             "Femme Man",
             "Masc Woman",
             "Femme Woman")
)

# Plot
preds %>% ggplot(aes(x = WomanTraits_warmth, y = estimate, color = factor(group_labeled), group = factor(group_labeled))) +
  geom_line(linewidth = 1) +
  geom_ribbon(aes(ymin = conf.low, ymax = conf.high, fill = factor(group_labeled)), alpha = 0.15, color = NA) +
  facet_grid(Demo_Gender ~ Country) +
  labs(
    x = "Woman Traits Warmth",
    y = "Predicted Probability of Voting",
    color = "Candidate",
    fill = "Candidate",
    caption = "Note: Model-predicted values. Other continuous predictors held at mean.",
    title = "Likelihood of voting for each candidate by warmth importance, shown by gender and country"
  ) +
  scale_x_continuous(breaks = seq(1,7,1)) +
  theme_minimal()

## Plot 2: SRQ

preds_olr.plot2 <- predictions(
  s3_olr.plot,
  newdata = datagrid(
    
# Plotting variables
    SRQ = seq(
      min(d3$SRQ, na.rm = TRUE), 
      max(d3$SRQ, na.rm = TRUE), 
      length.out = 100
    ),
    Demo_Gender = unique(na.omit(d3$Demo_Gender)),
    Country = unique(na.omit(d3$Country)),
    
# Variables to hold constant
    Ideology = mean(d3$Ideology, na.rm = TRUE), 
    WomanTraits_competence = mean(d3$WomanTraits_competence, na.rm = TRUE),
    WomanTraits_warmth = mean(d3$WomanTraits_warmth, na.rm = TRUE),
    HS = mean(d3$HS, na.rm = TRUE),
    BS = mean(d3$BS, na.rm = TRUE),
    SDO = mean(d3$SDO, na.rm = TRUE)
  )
)

# Ensure prediction data is sorted cleanly for smooth lines
preds2 <- preds_olr.plot2[order(preds_olr.plot2$Demo_Gender, preds_olr.plot2$group, preds_olr.plot2$WomanTraits_warmth), ]

preds2$group_labeled <- factor(
  preds2$group, 
  labels = c("Masc Man",
             "Femme Man",
             "Masc Woman",
             "Femme Woman")
)

# Plot
preds2 %>% ggplot(aes(x = SRQ, y = estimate, color = factor(group_labeled), group = factor(group_labeled))) +
  geom_line(linewidth = 1) +
  geom_ribbon(aes(ymin = conf.low, ymax = conf.high, fill = factor(group_labeled)), alpha = 0.15, color = NA) +
  facet_grid(Demo_Gender ~ Country) +
  labs(
    x = "Social Roles Questionnaire (0 to 100)",
    y = "Predicted Probability of Voting",
    color = "Candidate",
    fill = "Candidate",
    caption = "Note: Model-predicted values. Other continuous predictors held at mean.",
    title = "Likelihood of voting for each candidate by SRQ, shown by gender and country"
  ) +
  scale_x_continuous(breaks = seq(0,100,25)) +
  theme_minimal()

Summary of Findings

DV: Voting for Harris

Conditional Effects

Across all three studies, there is no effect of gender in likelihood of voting for Harris (compared with any other choice) once controlling for other variables.

Hostile sexism consistently negatively predicts likelihood of voting Harris across all three studies, and social roles questionnaire negatively predicts it in studies 2 and 3. Impact index positively predicts and ideology (increasing conservatism) negatively predicts likelihood of voting Harris when measured (studies 1 and 2 for impact index, studies 2 and 3 for ideology).

Interaction Effects

Across all three studies, there were only two cross-country higher-order interactions (SRQ in Study 2, Ideology in Study 3). Higher-order gender interactions were only observed in study 1 (with hostile sexism and benevolent sexism).

DV: Experimental Candidate Selection

Conditional Effects

Participants’ rated importance of a female candidate’s warmth positively predicted voting for the feminine woman candidate, whereas rated importance of a female candidate’s competence negatively predicted voting for the feminine woman. Increasing conservatism, hostile sexism, social dominance orientation, and social roles questionnaire also negatively predicted voting for the feminine woman candidate. Education positively predicted voting for the feminine woman.

Interaction Effects

There was an interaction between participant gender (man vs. woman) and social roles questionnaire on voting for the feminine woman candidate. There was also a three-way interaction between gender, country, and rated importance of warmth in likelihood of voting for the feminine woman candidate.