Author

Marcus

Published

September 11, 2024

Setup

Libraries and functions

Code
knitr::opts_chunk$set(warning = FALSE, message = FALSE) 

Mypackages <-
  c("lme4","tidyverse","effects","ggplot2","psych",
    "MASS","Rmisc","lmerTest","ggthemes", "knitr",
    "lsmeans","pastecs","sjstats","car","ordinal",
    "Rcpp","corrplot", "ggpubr", "EnvStats",
    "easyStats", "cowplot","see","datawizard", 
    "ggcorrplot", "lavaan", "qualtRics", "effsize")

# install.packages(Mypackages) #you must remove the # in this comment if you need to install the packages! 
lapply(Mypackages,
       require,
       character.only = TRUE)

options(knitr.kable.NA = '—')
set.seed(1)  

Load Data

Code
# read in data files
setwd("~/Desktop")
data_raw <-read_survey("/Users/mtrenfield17/Desktop/Research/Boston College Research/SISC Lab Research/IS Project/Gambling/Pilot 2/IS Gambling_PILOT 2.csv")

Functions

Code
plot_fn <- function(data, iv, dv, coln = NULL, rown = NULL, facet_var = NULL, facet_var2 = NULL, 
                    x_label = "", y_label = "", title = "", 
                    x_text_size = 13, y_text_size = 13, x_title_size = 13, y_title_size = 13, 
                    plot_title_size = 16, facet_text_size = 12, 
                    x_levels = NULL, x_labels = NULL) {
  
  # Reorder the x variable if x_levels is provided
  if (!is.null(x_levels)) {
    data[[deparse(substitute(iv))]] <- factor(data[[deparse(substitute(iv))]], levels = x_levels)
  }
  
  # Rename the x variable if x_labels is provided
  if (!is.null(x_labels)) {
    data[[deparse(substitute(iv))]] <- factor(data[[deparse(substitute(iv))]], labels = x_labels)
  }

  # Create the base plot
  part1 <- ggplot(data, aes(x = {{iv}}, y = {{dv}}, fill = {{iv}})) +
    geom_violin(alpha = 0.3, scale = "count") + 
    stat_summary(fun = "mean", geom = "point", size = 3, color = "black") +
    stat_summary(fun.data = mean_cl_normal, geom = "errorbar", width = 0.2,
                 size = 1.5, color = "black") +
    theme_classic() +
    xlab(x_label) +
    ylab(y_label) +
    ggtitle(title) +
    theme(
      panel.background = element_rect(fill = "transparent"), 
      legend.position = "right", 
      plot.title = element_text(face = "bold", hjust = 0.5, size = plot_title_size), 
      plot.subtitle = element_text(hjust = 0.5),
      panel.grid.major.y = element_line(color='grey75'), 
      axis.text.x = element_text(face = "plain", size = x_text_size, color = "black"),
      axis.text.y = element_text(face = "plain", size = y_text_size, color = "black"),
      axis.title.x = element_text(face = "plain", size = x_title_size, color = "black"), 
      axis.title.y = element_text(face = "plain", size = y_title_size, color = "black", 
                                  margin = margin(t = 0, r = 10, b = 0, l = 0)),
      panel.border = element_rect(color = "black", fill = NA, size = 1),
      strip.text = element_text(size = facet_text_size)  # Adjust the facet text size
    )
  
  # Check if a facet_var (row) and facet_var2 (column) are provided
  if (!is.null(facet_var) & !is.null(facet_var2)) {
    # If both row and column variables are provided, use facet_grid
    part1 <- part1 + facet_grid(as.formula(paste(facet_var, "~", facet_var2)))
  } else if (!is.null(facet_var)) {
    # If only one facet variable is provided, facet by rows
    part1 <- part1 + facet_wrap(as.formula(paste("~", facet_var)), 
                                ncol = if (!is.null(coln)) coln else NULL, 
                                nrow = if (!is.null(rown)) rown else NULL, 
                                scales = "free", as.table = TRUE)
  }
  
  # Final plot adjustments
  ggpar(part1, legend = "none")
}

Reshaping data

Code
# making conservative, liberal, and moderate group 
data_raw <- data_raw %>%
  mutate(political_group = ifelse(pol < 4, "Conservative",
                                  ifelse(pol > 4, "Liberal", "Moderate")))

# making a column for white vs non-white
data_raw$White <- ifelse(grepl("White", data_raw$race_TEXT), "White", "Non-White")

# making a column for URM vs non-URM
urm_groups <- c("Black", "Hispanic or Latino/a/x", "American Indian and Native Alaskan", "Pacific Islander or Native Hawaiian", "Middle Eastern and North African")

data_raw$URM <- ifelse(grepl(paste(urm_groups, collapse="|"), data_raw$race_TEXT), "URM", "Non-URM")

#### filtering people who failed the attn check ####
data <- data_raw %>% filter(attentionCheck == 3)

## changing condition to factor and reordering ##
data$condition <- as.factor(data$condition)
data$condition <- factor(data$condition, levels = c("individualScope", "populationScope", "mergedScope"))

# changing numeric DVs to numeric
data <- data %>% mutate_at(vars(policyDV, donation, helpDV_1:blame_2, age, pol, pid, edu, inc, gambling, charityRealYN, `Duration (in seconds)`), as.numeric)

## renaming matrix variables
names(data)[names(data) == 'helpDV_1'] <-'usGovHelp'
names(data)[names(data) == 'helpDV_2'] <-'industryHelp'
names(data)[names(data) == 'helpDV_3'] <-'gamblerHelp'
names(data)[names(data) == 'helpDV_4'] <-'individualHelp'
names(data)[names(data) == 'helpDV_5'] <-'youHelp'

names(data)[names(data) == 'preventDV_1'] <-'usGovPrevent'
names(data)[names(data) == 'preventDV_2'] <-'industryPrevent'
names(data)[names(data) == 'preventDV_3'] <-'gamblerPrevent'
names(data)[names(data) == 'preventDV_4'] <-'individualPrevent'
names(data)[names(data) == 'preventDV_5'] <-'youPrevent'

names(data)[names(data) == 'blame_1'] <-'industryBlame'
names(data)[names(data) == 'blame_2'] <-'individualBlame'

# making a gambling binary variable
data <- data %>%
  mutate(gambling_binary = ifelse(gambling > 1, "Never gambled",
                                  ifelse(gambling == 1, "Gambled", "Not Found")))

# reordering demos
data <- data %>%
  mutate(
    Gender_TEXT = factor(gen_TEXT, levels = c("Man", "Woman", "I identify as:")),
    pol_TEXT = factor(pol_TEXT, levels = c("Very Liberal", "Liberal", "Somewhat Liberal", "Moderate",
    "Somewhat Conservative", "Conservative", "Very Conservative")),
    edu_TEXT = factor(edu_TEXT, levels = c("Some schooling, but no high school diploma or degree", 
    "High school diploma or GED", "Some college, Technical degree, or Associates degree", 
    "Bachelor's degree", "Graduate degree (Masters, PhD, etc)")),
    inc_TEXT = factor(inc_TEXT, levels = c("less than $25,000", "$25,000 - $49,999", "$50,000 - $74,999", 
    "$75,000 - $99,999", "$100,000 - $149,999", "$150,000 - $199,999","more than $200,000")),
    political_group = factor(political_group, levels = c("Liberal", "Moderate", "Conservative")),
    White = factor(White, levels = c("White", "Non-White")),
    URM = factor(URM, levels = c("Non-URM", "URM")),
    gambling_TEXT = factor(gambling_TEXT, levels = c("Not at all", "A few times a year", "Once a month", 
    "A few times a month", "Once a week or more")),
    gambling_binary = factor(gambling_binary, levels = c("Never gambled", "Gambled", "Not Found")),
  )

data$condition <- relevel(data$condition, ref = "mergedScope")
data_I <- data
data_I$condition <- relevel(data_I$condition, ref = "individualScope")

Data Quality

Charity Belief

Code
plot_fn(data, iv = condition, dv = charityRealYN, x_label = "Condition", y_label = "Charity Doubt", 
        title = "Extent Participants Doubted the Charity was real", 
        x_levels = c("individualScope", "populationScope", "mergedScope"),
        x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Data Quality Checks

Attention Check

  • 3 people failed the attention check
Code
data_raw <- data_raw %>% filter(consent == 8)

data_raw %>%
  group_by(attentionCheck) %>%
  dplyr::summarise(n = n()) %>%
  mutate(freq = n / sum(n))

Demographics

Code
# Subset your data frame to include only the demographic columns
demo_data <- data[, c("gambling_TEXT", "gen_TEXT", "race_TEXT", "inc_TEXT", "edu_TEXT", "pol_TEXT", "pid_TEXT", "area_TEXT", "political_group", "White", "URM", "gambling_binary")]

# Age
mean(data$age, na.rm=TRUE)
[1] 42.07846
Code
sd(data$age, na.rm=TRUE)
[1] 14.52027
Code
# Loop through each demographic column and calculate frequency counts
freq_tables <- list()

for (col in names(demo_data)) {
  {
    freq_table <- as.data.frame(table(demo_data[[col]]))
    freq_table$Percent <- round(freq_table$Freq / sum(freq_table$Freq) * 100, 2)
    freq_tables[[col]] <- freq_table
  }
}

# Print the frequency tables
for (i in seq_along(freq_tables)) {
  if (!is.null(freq_tables[[i]])) {
    cat("\nTable of frequencies for", names(freq_tables)[i], ":\n")
    print(freq_tables[[i]])
  }
}

Table of frequencies for gambling_TEXT :
                 Var1 Freq Percent
1          Not at all  337   56.45
2  A few times a year  157   26.30
3        Once a month   25    4.19
4 A few times a month   36    6.03
5 Once a week or more   42    7.04

Table of frequencies for gen_TEXT :
            Var1 Freq Percent
1 I identify as:    3    0.50
2            Man  298   49.75
3          Woman  298   49.75

Table of frequencies for race_TEXT :
                                                              Var1 Freq Percent
1                               American Indian and Native Alaskan    1    0.17
2  American Indian and Native Alaskan,Black,Hispanic or Latino/a/x    1    0.17
3  American Indian and Native Alaskan,Hispanic or Latino/a/x,White    1    0.17
4                         American Indian and Native Alaskan,White    3    0.50
5                                                            Black   68   11.35
6                                           Black,East Asian,White    1    0.17
7                                     Black,Hispanic or Latino/a/x    2    0.33
8                                                      Black,White    8    1.34
9                                                       East Asian   20    3.34
10                                                East Asian,White    3    0.50
11                                          Hispanic or Latino/a/x   24    4.01
12                                    Hispanic or Latino/a/x,White   14    2.34
13                                Middle Eastern and North African    2    0.33
14                          Middle Eastern and North African,White    1    0.17
15                             Pacific Islander or Native Hawaiian    3    0.50
16                                                     South Asian    7    1.17
17                              South Asian,Hispanic or Latino/a/x    1    0.17
18                                               South Asian,White    2    0.33
19                                                 Southeast Asian   13    2.17
20          Southeast Asian,Middle Eastern and North African,White    1    0.17
21                                           Southeast Asian,White    2    0.33
22                                                           White  421   70.28

Table of frequencies for inc_TEXT :
                 Var1 Freq Percent
1   less than $25,000    0    0.00
2   $25,000 - $49,999  138   28.05
3   $50,000 - $74,999  123   25.00
4   $75,000 - $99,999   92   18.70
5 $100,000 - $149,999  109   22.15
6 $150,000 - $199,999   30    6.10
7  more than $200,000    0    0.00

Table of frequencies for edu_TEXT :
                                                  Var1 Freq Percent
1 Some schooling, but no high school diploma or degree    6    1.00
2                           High school diploma or GED   90   15.03
3 Some college, Technical degree, or Associates degree  216   36.06
4                                    Bachelor's degree  213   35.56
5                  Graduate degree (Masters, PhD, etc)   74   12.35

Table of frequencies for pol_TEXT :
                   Var1 Freq Percent
1          Very Liberal   66   11.04
2               Liberal  105   17.56
3      Somewhat Liberal   74   12.37
4              Moderate  133   22.24
5 Somewhat Conservative   69   11.54
6          Conservative  108   18.06
7     Very Conservative   43    7.19

Table of frequencies for pid_TEXT :
                 Var1 Freq Percent
1            Democrat  218   36.39
2 Independent / Other  192   32.05
3          Republican  189   31.55

Table of frequencies for area_TEXT :
      Var1 Freq Percent
1    Rural  118   19.70
2 Suburban  323   53.92
3    Urban  158   26.38

Table of frequencies for political_group :
          Var1 Freq Percent
1      Liberal  245   40.97
2     Moderate  133   22.24
3 Conservative  220   36.79

Table of frequencies for White :
       Var1 Freq Percent
1     White  457   76.29
2 Non-White  142   23.71

Table of frequencies for URM :
     Var1 Freq Percent
1 Non-URM  468   78.13
2     URM  131   21.87

Table of frequencies for gambling_binary :
           Var1 Freq Percent
1 Never gambled  260   43.55
2       Gambled  337   56.45
3     Not Found    0    0.00

Demographic Plot

Code
# List of demographic columns to plot
demographic_columns <- c("gambling_TEXT", "gambling_binary", "gen_TEXT", "race_TEXT", "inc_TEXT", "edu_TEXT", "pol_TEXT", "pid_TEXT", "area_TEXT", "political_group", "White", "URM")

# Function to create percent plot
create_percent_plot <- function(data, column) {
  # Calculate the frequency and percentage for each category
  freq_table <- data %>%
    group_by(across(all_of(column))) %>%
    dplyr::summarise(Freq = n()) %>%
    mutate(Percent = Freq / sum(Freq) * 100)
  
  # Create the plot
  p <- ggplot(freq_table, aes_string(x = column, y = "Percent", fill = column)) +
    geom_bar(stat = "identity", position = "dodge") +
    scale_y_continuous(labels = scales::percent_format(scale = 1)) +
    labs(x = column, y = "Percentage", title = paste("Distribution of", column)) +
    theme_minimal() +
    theme(axis.text.x = element_text(angle = 45, hjust = 1))
  
  return(p)
}

# Loop through demographic columns and plot
plots <- lapply(demographic_columns, function(col) create_percent_plot(demo_data, col))

# Display the plots
print(plots)
[[1]]


[[2]]


[[3]]


[[4]]


[[5]]


[[6]]


[[7]]


[[8]]


[[9]]


[[10]]


[[11]]


[[12]]

Correlations

Code
DVs <- data[c("policyDV", "donation", "usGovHelp", "industryHelp", "gamblerHelp", "individualHelp", "youHelp", "usGovPrevent", "industryPrevent", "gamblerPrevent", "individualPrevent", "youPrevent", "individualBlame", "industryBlame", "pol", "edu", "inc", "age", "gambling")]

# Compute pairwise correlations
corr_DVs <- cor(DVs, use = "complete.obs")

# Plot the correlation matrix
corrplot(corr_DVs, is.corr = TRUE, type = "lower", lower = "circle", tl.cex = 0.7, insig = "label_sig", diag = TRUE)

Behavioral Outcomes

Code
data$condition <- factor(data$condition, levels = c("individualScope", "populationScope", "mergedScope"))

percep_plot_list <- list(plot_fn(data, condition, donation),
                         plot_fn(data, condition, policyDV))

# Adding titles to each plot
percep_plot_list[[1]] <- percep_plot_list[[1]] +
  ggtitle("Donations")
  
percep_plot_list[[2]] <- percep_plot_list[[2]] +
  ggtitle("Support for Policy")

percep_plot_arranged <- ggarrange(plotlist = percep_plot_list, ncol = 2, nrow = 1)

overall_percep_title <- ggdraw() +
  draw_label("Behavioral DVs", fontface = "bold")

plot_grid(overall_percep_title, percep_plot_arranged, ncol = 1, rel_heights = c(0.1, 0.9))

Code
data %>%
  group_by(condition) %>%
  dplyr::summarise(mean(policyDV))
# A tibble: 3 × 2
  condition       `mean(policyDV)`
  <fct>                      <dbl>
1 individualScope             3.91
2 populationScope             3.96
3 mergedScope                 4.26
Code
data %>%
  group_by(condition) %>%
  dplyr::summarise(mean(donation))
# A tibble: 3 × 2
  condition       `mean(donation)`
  <fct>                      <dbl>
1 individualScope             3.57
2 populationScope             2.82
3 mergedScope                 3.76
Code
data %>%
  group_by(condition, political_group) %>%
  dplyr::summarise(n())
# A tibble: 10 × 3
# Groups:   condition [3]
   condition       political_group `n()`
   <fct>           <fct>           <int>
 1 individualScope Liberal            79
 2 individualScope Moderate           42
 3 individualScope Conservative       81
 4 individualScope <NA>                1
 5 populationScope Liberal            77
 6 populationScope Moderate           50
 7 populationScope Conservative       72
 8 mergedScope     Liberal            89
 9 mergedScope     Moderate           41
10 mergedScope     Conservative       67

Donation Inferential Stats

  • Individual > Combined > Structural
Code
data$condition <- relevel(data$condition, ref = "mergedScope")
data_I <- data
data_I$condition <- relevel(data_I$condition, ref = "individualScope")

mod_donation<- lm(donation ~ condition, data = data)
summary(mod_donation)

Call:
lm(formula = donation ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7563 -2.8241 -0.7563  1.4286  7.1759 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.7563     0.2312  16.249   <2e-16 ***
conditionindividualScope  -0.1849     0.3245  -0.570   0.5690    
conditionpopulationScope  -0.9322     0.3261  -2.859   0.0044 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.245 on 596 degrees of freedom
Multiple R-squared:  0.0152,    Adjusted R-squared:  0.01189 
F-statistic: 4.598 on 2 and 596 DF,  p-value: 0.01043
Code
mod_donation_indiv<- lm(donation ~ condition, data = data_I)
summary(mod_donation_indiv)

Call:
lm(formula = donation ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7563 -2.8241 -0.7563  1.4286  7.1759 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.5714     0.2277  15.682   <2e-16 ***
conditionmergedScope       0.1849     0.3245   0.570   0.5690    
conditionpopulationScope  -0.7473     0.3237  -2.309   0.0213 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.245 on 596 degrees of freedom
Multiple R-squared:  0.0152,    Adjusted R-squared:  0.01189 
F-statistic: 4.598 on 2 and 596 DF,  p-value: 0.01043
Code
#cohen.d(data$donation ~ data$condition)

Policy Support Inferential Stats

  • Combined marginally higher than Individual (.08)
Code
mod_policy<- lm(policyDV ~ condition, data = data)
summary(mod_policy)

Call:
lm(formula = policyDV ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2640 -1.9113  0.0887  1.7360  3.0887 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                4.2640     0.1460  29.196   <2e-16 ***
conditionindividualScope  -0.3526     0.2050  -1.720   0.0859 .  
conditionpopulationScope  -0.3042     0.2060  -1.476   0.1404    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.05 on 596 degrees of freedom
Multiple R-squared:  0.005763,  Adjusted R-squared:  0.002426 
F-statistic: 1.727 on 2 and 596 DF,  p-value: 0.1787
Code
mod_policyI<- lm(policyDV ~ condition, data = data_I)
summary(mod_policyI)

Call:
lm(formula = policyDV ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2640 -1.9113  0.0887  1.7360  3.0887 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.91133    0.14387  27.186   <2e-16 ***
conditionmergedScope      0.35263    0.20501   1.720   0.0859 .  
conditionpopulationScope  0.04847    0.20449   0.237   0.8127    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.05 on 596 degrees of freedom
Multiple R-squared:  0.005763,  Adjusted R-squared:  0.002426 
F-statistic: 1.727 on 2 and 596 DF,  p-value: 0.1787
Code
#cohen.d(data$donation ~ data$condition)

Donation faceted by pol

Code
plot_fn(data %>% filter(!is.na(political_group)), condition, donation, coln = 3, rown = 1, "political_group", title = "Amount Donated", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Donation Pol Inferential Stats

Code
mod_donation_polCov <- lm(donation ~ condition+pol, data = data)
summary(mod_donation_polCov)

Call:
lm(formula = donation ~ condition + pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.1138 -2.8133 -0.6835  1.6991  7.4395 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.22889    0.38253   8.441 2.41e-16 ***
conditionindividualScope -0.18081    0.32465  -0.557  0.57777    
conditionpopulationScope -0.92121    0.32585  -2.827  0.00486 ** 
pol                       0.12641    0.07308   1.730  0.08421 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.242 on 594 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.02005,   Adjusted R-squared:  0.0151 
F-statistic: 4.051 on 3 and 594 DF,  p-value: 0.007247
Code
mod_donation_polInt <- lm(donation ~ condition*pol, data = data)
summary(mod_donation_polInt)

Call:
lm(formula = donation ~ condition * pol, data = data)

Residuals:
   Min     1Q Median     3Q    Max 
-4.228 -2.798 -0.749  1.682  7.821 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                    4.3153     0.5612   7.690 6.17e-14 ***
conditionindividualScope      -1.6806     0.7968  -2.109 0.035335 *  
conditionpopulationScope      -2.7541     0.8027  -3.431 0.000643 ***
pol                           -0.1340     0.1227  -1.092 0.275316    
conditionindividualScope:pol   0.3616     0.1765   2.049 0.040888 *  
conditionpopulationScope:pol   0.4431     0.1779   2.491 0.013028 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.228 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.03175,   Adjusted R-squared:  0.02357 
F-statistic: 3.882 on 5 and 592 DF,  p-value: 0.001804
Code
# individual as reference con
mod_donation_polCov_indiv <- lm(donation ~ condition+pol, data = data_I)
summary(mod_donation_polCov_indiv)

Call:
lm(formula = donation ~ condition + pol, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.1138 -2.8133 -0.6835  1.6991  7.4395 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.04808    0.37564   8.114 2.82e-15 ***
conditionmergedScope      0.18081    0.32465   0.557   0.5778    
conditionpopulationScope -0.74040    0.32376  -2.287   0.0226 *  
pol                       0.12641    0.07308   1.730   0.0842 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.242 on 594 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.02005,   Adjusted R-squared:  0.0151 
F-statistic: 4.051 on 3 and 594 DF,  p-value: 0.007247
Code
mod_donation_polInt_indiv <- lm(donation ~ condition*pol, data = data_I)
summary(mod_donation_polInt_indiv)

Call:
lm(formula = donation ~ condition * pol, data = data_I)

Residuals:
   Min     1Q Median     3Q    Max 
-4.228 -2.798 -0.749  1.682  7.821 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   2.63468    0.56559   4.658 3.94e-06 ***
conditionmergedScope          1.68061    0.79675   2.109   0.0353 *  
conditionpopulationScope     -1.07346    0.80579  -1.332   0.1833    
pol                           0.22763    0.12683   1.795   0.0732 .  
conditionmergedScope:pol     -0.36159    0.17646  -2.049   0.0409 *  
conditionpopulationScope:pol  0.08149    0.18079   0.451   0.6523    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.228 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.03175,   Adjusted R-squared:  0.02357 
F-statistic: 3.882 on 5 and 592 DF,  p-value: 0.001804

Donation Faceted by Gender

Code
# Create the genderMF column that retains only "Man" and "Woman" values
data <- data %>%
  mutate(genderMF = ifelse(gen_TEXT %in% c("Man", "Woman"), gen_TEXT, NA))

data_I <- data_I %>%
  mutate(genderMF = ifelse(gen_TEXT %in% c("Man", "Woman"), gen_TEXT, NA))

plot_fn(data %>% filter(!is.na(genderMF)), condition, donation, coln = 3, rown = 1, "genderMF", title = "Amount Donated", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Donation Gender Inferential Stats

Code
mod_donation_genderCov <- lm(donation ~ condition+genderMF, data = data)
summary(mod_donation_genderCov)

Call:
lm(formula = donation ~ condition + genderMF, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.9910 -2.8207 -0.5561  1.7235  7.4439 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.4469     0.2673  12.893  < 2e-16 ***
conditionindividualScope  -0.1703     0.3243  -0.525  0.59964    
conditionpopulationScope  -0.8907     0.3251  -2.740  0.00634 ** 
genderMFWoman              0.5442     0.2647   2.056  0.04022 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.23 on 592 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.02128,   Adjusted R-squared:  0.01632 
F-statistic: 4.291 on 3 and 592 DF,  p-value: 0.00522
Code
mod_donation_genderInt <- lm(donation ~ condition*genderMF, data = data)
summary(mod_donation_genderInt)

Call:
lm(formula = donation ~ condition * genderMF, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.1100 -2.8571 -0.7921  1.8416  7.2079 

Coefficients:
                                        Estimate Std. Error t value Pr(>|t|)
(Intercept)                             3.322917   0.329797  10.076   <2e-16
conditionindividualScope               -0.164501   0.460595  -0.357   0.7211
conditionpopulationScope               -0.530837   0.460595  -1.153   0.2496
genderMFWoman                           0.787083   0.461716   1.705   0.0888
conditionindividualScope:genderMFWoman -0.005499   0.648829  -0.008   0.9932
conditionpopulationScope:genderMFWoman -0.722020   0.650469  -1.110   0.2675
                                          
(Intercept)                            ***
conditionindividualScope                  
conditionpopulationScope                  
genderMFWoman                          .  
conditionindividualScope:genderMFWoman    
conditionpopulationScope:genderMFWoman    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.231 on 590 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.024, Adjusted R-squared:  0.01573 
F-statistic: 2.901 on 5 and 590 DF,  p-value: 0.01344
Code
# individual as reference con
mod_donation_genderCov_indiv <- lm(donation ~ condition+genderMF, data = data_I)
summary(mod_donation_genderCov_indiv)

Call:
lm(formula = donation ~ condition + genderMF, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.9910 -2.8207 -0.5561  1.7235  7.4439 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.2765     0.2632  12.451   <2e-16 ***
conditionmergedScope       0.1703     0.3243   0.525   0.5996    
conditionpopulationScope  -0.7204     0.3230  -2.230   0.0261 *  
genderMFWoman              0.5442     0.2647   2.056   0.0402 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.23 on 592 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.02128,   Adjusted R-squared:  0.01632 
F-statistic: 4.291 on 3 and 592 DF,  p-value: 0.00522
Code
mod_donation_genderInt_indiv <- lm(donation ~ condition*genderMF, data = data_I)
summary(mod_donation_genderInt_indiv)

Call:
lm(formula = donation ~ condition * genderMF, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.1100 -2.8571 -0.7921  1.8416  7.2079 

Coefficients:
                                        Estimate Std. Error t value Pr(>|t|)
(Intercept)                             3.158416   0.321530   9.823   <2e-16
conditionmergedScope                    0.164501   0.460595   0.357   0.7211
conditionpopulationScope               -0.366337   0.454713  -0.806   0.4208
genderMFWoman                           0.781584   0.455848   1.715   0.0869
conditionmergedScope:genderMFWoman      0.005499   0.648829   0.008   0.9932
conditionpopulationScope:genderMFWoman -0.716521   0.646317  -1.109   0.2680
                                          
(Intercept)                            ***
conditionmergedScope                      
conditionpopulationScope                  
genderMFWoman                          .  
conditionmergedScope:genderMFWoman        
conditionpopulationScope:genderMFWoman    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.231 on 590 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.024, Adjusted R-squared:  0.01573 
F-statistic: 2.901 on 5 and 590 DF,  p-value: 0.01344

Donation Faceted by Gambling History (Binary)

Code
plot_fn(data %>% filter(!is.na(gambling_binary)), condition, donation, coln = 3, rown = 1, "gambling_binary", title = "Amount Donated", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Policy support faceted by pol

Code
plot_fn(data %>% filter(!is.na(political_group)), condition, policyDV, coln = 3, rown = 1, "political_group", title = "Policy Support", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Policy Support Pol Inferential Stats

Code
mod_policy_polCov <- lm(policyDV ~ condition+pol, data = data)
summary(mod_donation_polCov)

Call:
lm(formula = donation ~ condition + pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.1138 -2.8133 -0.6835  1.6991  7.4395 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.22889    0.38253   8.441 2.41e-16 ***
conditionindividualScope -0.18081    0.32465  -0.557  0.57777    
conditionpopulationScope -0.92121    0.32585  -2.827  0.00486 ** 
pol                       0.12641    0.07308   1.730  0.08421 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.242 on 594 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.02005,   Adjusted R-squared:  0.0151 
F-statistic: 4.051 on 3 and 594 DF,  p-value: 0.007247
Code
mod_donation_polInt <- lm(policyDV ~ condition*pol, data = data)
summary(mod_donation_polInt)

Call:
lm(formula = policyDV ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5618 -1.9067  0.0933  1.7879  3.4742 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   4.65567    0.35496  13.116   <2e-16 ***
conditionindividualScope     -0.24099    0.50397  -0.478   0.6327    
conditionpopulationScope     -1.23415    0.50773  -2.431   0.0154 *  
pol                          -0.09388    0.07760  -1.210   0.2269    
conditionindividualScope:pol -0.03311    0.11161  -0.297   0.7668    
conditionpopulationScope:pol  0.22563    0.11253   2.005   0.0454 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.042 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.01704,   Adjusted R-squared:  0.008742 
F-statistic: 2.053 on 5 and 592 DF,  p-value: 0.06969
Code
# individual as reference con
mod_policy_polCov_I <- lm(donation ~ condition+pol, data = data_I)
summary(mod_donation_polCov_indiv)

Call:
lm(formula = donation ~ condition + pol, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.1138 -2.8133 -0.6835  1.6991  7.4395 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.04808    0.37564   8.114 2.82e-15 ***
conditionmergedScope      0.18081    0.32465   0.557   0.5778    
conditionpopulationScope -0.74040    0.32376  -2.287   0.0226 *  
pol                       0.12641    0.07308   1.730   0.0842 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.242 on 594 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.02005,   Adjusted R-squared:  0.0151 
F-statistic: 4.051 on 3 and 594 DF,  p-value: 0.007247
Code
mod_policy_polInt_I <- lm(donation ~ condition*pol, data = data_I)
summary(mod_donation_polInt_indiv)

Call:
lm(formula = donation ~ condition * pol, data = data_I)

Residuals:
   Min     1Q Median     3Q    Max 
-4.228 -2.798 -0.749  1.682  7.821 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   2.63468    0.56559   4.658 3.94e-06 ***
conditionmergedScope          1.68061    0.79675   2.109   0.0353 *  
conditionpopulationScope     -1.07346    0.80579  -1.332   0.1833    
pol                           0.22763    0.12683   1.795   0.0732 .  
conditionmergedScope:pol     -0.36159    0.17646  -2.049   0.0409 *  
conditionpopulationScope:pol  0.08149    0.18079   0.451   0.6523    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.228 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.03175,   Adjusted R-squared:  0.02357 
F-statistic: 3.882 on 5 and 592 DF,  p-value: 0.001804

Policy Support Faceted by Gender

Code
plot_fn(data %>% filter(!is.na(genderMF)), condition, policyDV, coln = 3, rown = 1, "genderMF", title = "Policy Support", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Policy Support Gender Inferential Stats

  • Gender is a significant predictor of policy support
Code
mod_policy_genderCov <- lm(policyDV ~ condition+genderMF, data = data)
summary(mod_policy_genderCov)

Call:
lm(formula = policyDV ~ condition + genderMF, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6923 -1.6923  0.1795  1.5978  3.5282 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.8205     0.1659  23.034  < 2e-16 ***
conditionindividualScope  -0.3488     0.2012  -1.733   0.0835 .  
conditionpopulationScope  -0.2900     0.2017  -1.438   0.1510    
genderMFWoman              0.8717     0.1642   5.309 1.56e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.004 on 592 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.05111,   Adjusted R-squared:  0.0463 
F-statistic: 10.63 on 3 and 592 DF,  p-value: 8.169e-07
Code
mod_policy_genderInt <- lm(policyDV ~ condition*genderMF, data = data)
summary(mod_policy_genderInt)

Call:
lm(formula = policyDV ~ condition * genderMF, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7100 -1.7100  0.1979  1.5408  3.5248 

Coefficients:
                                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)                             3.80208    0.20482  18.563  < 2e-16 ***
conditionindividualScope               -0.25753    0.28605  -0.900  0.36833    
conditionpopulationScope               -0.32684    0.28605  -1.143  0.25368    
genderMFWoman                           0.90792    0.28675   3.166  0.00162 ** 
conditionindividualScope:genderMFWoman -0.18247    0.40295  -0.453  0.65083    
conditionpopulationScope:genderMFWoman  0.07602    0.40397   0.188  0.85080    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.007 on 590 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.05181,   Adjusted R-squared:  0.04378 
F-statistic: 6.448 on 5 and 590 DF,  p-value: 7.569e-06
Code
# individual as reference con
mod_policy_genderCov_I <- lm(policyDV ~ condition+genderMF, data = data_I)
summary(mod_policy_genderCov_I)

Call:
lm(formula = policyDV ~ condition + genderMF, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6923 -1.6923  0.1795  1.5978  3.5282 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.47177    0.16327  21.264  < 2e-16 ***
conditionmergedScope      0.34877    0.20120   1.733   0.0835 .  
conditionpopulationScope  0.05873    0.20042   0.293   0.7696    
genderMFWoman             0.87175    0.16421   5.309 1.56e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.004 on 592 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.05111,   Adjusted R-squared:  0.0463 
F-statistic: 10.63 on 3 and 592 DF,  p-value: 8.169e-07
Code
mod_policy_genderInt_I <- lm(policyDV ~ condition*genderMF, data = data_I)
summary(mod_policy_genderInt_I)

Call:
lm(formula = policyDV ~ condition * genderMF, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7100 -1.7100  0.1979  1.5408  3.5248 

Coefficients:
                                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)                             3.54455    0.19969  17.751   <2e-16 ***
conditionmergedScope                    0.25753    0.28605   0.900   0.3683    
conditionpopulationScope               -0.06931    0.28240  -0.245   0.8062    
genderMFWoman                           0.72545    0.28310   2.562   0.0106 *  
conditionmergedScope:genderMFWoman      0.18247    0.40295   0.453   0.6508    
conditionpopulationScope:genderMFWoman  0.25849    0.40139   0.644   0.5198    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.007 on 590 degrees of freedom
  (3 observations deleted due to missingness)
Multiple R-squared:  0.05181,   Adjusted R-squared:  0.04378 
F-statistic: 6.448 on 5 and 590 DF,  p-value: 7.569e-06

Policy Support Faceted by Gambling History (Binary)

Code
plot_fn(data %>% filter(!is.na(gambling_binary)), condition, policyDV, coln = 3, rown = 2, "gambling_binary", title = "Policy Support", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Policy Support Gender Inferential Stats

  • Gender is a significant predictor of policy support
Code
mod_policy_gambleCov <- lm(policyDV ~ condition+gambling_binary, data = data)
summary(mod_policy_gambleCov)

Call:
lm(formula = policyDV ~ condition + gambling_binary, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.9765 -1.7250  0.0235  1.6558  4.0606 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.3442     0.1602  20.878   <2e-16 ***
conditionindividualScope  -0.4049     0.1885  -2.148   0.0321 *  
conditionpopulationScope  -0.2516     0.1894  -1.328   0.1847    
gambling_binaryGambled     1.6323     0.1555  10.498   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.882 on 593 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.1616,    Adjusted R-squared:  0.1574 
F-statistic: 38.11 on 3 and 593 DF,  p-value: < 2.2e-16
Code
mod_policy_gambleInt <- lm(policyDV ~ condition*gambling_binary, data = data)
summary(mod_policy_gambleInt)

Call:
lm(formula = policyDV ~ condition * gambling_binary, data = data)

Residuals:
   Min     1Q Median     3Q    Max 
-3.982 -1.682  0.018  1.663  4.108 

Coefficients:
                                                Estimate Std. Error t value
(Intercept)                                       3.3372     0.2033  16.418
conditionindividualScope                         -0.4456     0.2900  -1.536
conditionpopulationScope                         -0.1943     0.2835  -0.686
gambling_binaryGambled                            1.6448     0.2708   6.074
conditionindividualScope:gambling_binaryGambled   0.0687     0.3821   0.180
conditionpopulationScope:gambling_binaryGambled  -0.1054     0.3816  -0.276
                                                Pr(>|t|)    
(Intercept)                                      < 2e-16 ***
conditionindividualScope                           0.125    
conditionpopulationScope                           0.493    
gambling_binaryGambled                          2.24e-09 ***
conditionindividualScope:gambling_binaryGambled    0.857    
conditionpopulationScope:gambling_binaryGambled    0.782    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.885 on 591 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.1619,    Adjusted R-squared:  0.1549 
F-statistic: 22.84 on 5 and 591 DF,  p-value: < 2.2e-16
Code
# individual as reference con
mod_policy_gambleCov_I <- lm(policyDV ~ condition+gambling_binary, data = data_I)
summary(mod_policy_gambleCov_I)

Call:
lm(formula = policyDV ~ condition + gambling_binary, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.9765 -1.7250  0.0235  1.6558  4.0606 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                2.9394     0.1610  18.255   <2e-16 ***
conditionmergedScope       0.4049     0.1885   2.148   0.0321 *  
conditionpopulationScope   0.1533     0.1884   0.814   0.4162    
gambling_binaryGambled     1.6323     0.1555  10.498   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.882 on 593 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.1616,    Adjusted R-squared:  0.1574 
F-statistic: 38.11 on 3 and 593 DF,  p-value: < 2.2e-16
Code
mod_policy_gambleInt_I <- lm(policyDV ~ condition*gambling_binary, data = data_I)
summary(mod_policy_gambleInt_I)

Call:
lm(formula = policyDV ~ condition * gambling_binary, data = data_I)

Residuals:
   Min     1Q Median     3Q    Max 
-3.982 -1.682  0.018  1.663  4.108 

Coefficients:
                                                Estimate Std. Error t value
(Intercept)                                       2.8916     0.2069  13.975
conditionmergedScope                              0.4456     0.2900   1.536
conditionpopulationScope                          0.2513     0.2861   0.878
gambling_binaryGambled                            1.7135     0.2696   6.356
conditionmergedScope:gambling_binaryGambled      -0.0687     0.3821  -0.180
conditionpopulationScope:gambling_binaryGambled  -0.1741     0.3807  -0.457
                                                Pr(>|t|)    
(Intercept)                                      < 2e-16 ***
conditionmergedScope                               0.125    
conditionpopulationScope                           0.380    
gambling_binaryGambled                          4.14e-10 ***
conditionmergedScope:gambling_binaryGambled        0.857    
conditionpopulationScope:gambling_binaryGambled    0.648    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.885 on 591 degrees of freedom
  (2 observations deleted due to missingness)
Multiple R-squared:  0.1619,    Adjusted R-squared:  0.1549 
F-statistic: 22.84 on 5 and 591 DF,  p-value: < 2.2e-16

Blame

Code
data_long<-data %>% gather(stim, resp, "usGovHelp":"individualBlame")  

blameLong <- data_long %>%
  filter(grepl("Blame", stim))

plot_fn(blameLong, condition, resp, coln = 3, rown = 5, "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Inferential Stats

Code
data$condition <- relevel(data$condition, ref = "mergedScope")
data_I <- data
data_I$condition <- relevel(data_I$condition, ref = "individualScope")

mod_manufacturerBlame <- lm(industryBlame ~ condition, data = data)
summary(mod_manufacturerBlame)

Call:
lm(formula = industryBlame ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1472 -0.7488  0.2512  0.9497  1.2512 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.14721    0.08121  51.065  < 2e-16 ***
conditionindividualScope -0.39844    0.11400  -3.495 0.000509 ***
conditionpopulationScope -0.09696    0.11456  -0.846 0.397723    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.14 on 596 degrees of freedom
Multiple R-squared:  0.02191,   Adjusted R-squared:  0.01862 
F-statistic: 6.674 on 2 and 596 DF,  p-value: 0.00136
Code
mod_indBlame <- lm(individualBlame ~ condition, data = data)
summary(mod_indBlame)

Call:
lm(formula = individualBlame ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.5911 -0.5911  0.4089  0.6633  1.6633 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.43655    0.08182  42.003   <2e-16 ***
conditionindividualScope  0.15458    0.11485   1.346    0.179    
conditionpopulationScope -0.09986    0.11542  -0.865    0.387    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.148 on 596 degrees of freedom
Multiple R-squared:  0.008346,  Adjusted R-squared:  0.005018 
F-statistic: 2.508 on 2 and 596 DF,  p-value: 0.0823
Code
mod_manufacturerBlame_I <- lm(industryBlame ~ condition, data = data_I)
summary(mod_manufacturerBlame_I)

Call:
lm(formula = industryBlame ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1472 -0.7488  0.2512  0.9497  1.2512 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.7488     0.0800  46.857  < 2e-16 ***
conditionmergedScope       0.3984     0.1140   3.495 0.000509 ***
conditionpopulationScope   0.3015     0.1137   2.651 0.008231 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.14 on 596 degrees of freedom
Multiple R-squared:  0.02191,   Adjusted R-squared:  0.01862 
F-statistic: 6.674 on 2 and 596 DF,  p-value: 0.00136
Code
mod_indBlame_I <- lm(individualBlame ~ condition, data = data_I)
summary(mod_indBlame_I)

Call:
lm(formula = individualBlame ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.5911 -0.5911  0.4089  0.6633  1.6633 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)                3.5911     0.0806  44.556   <2e-16 ***
conditionmergedScope      -0.1546     0.1148  -1.346   0.1788    
conditionpopulationScope  -0.2545     0.1146  -2.221   0.0267 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.148 on 596 degrees of freedom
Multiple R-squared:  0.008346,  Adjusted R-squared:  0.005018 
F-statistic: 2.508 on 2 and 596 DF,  p-value: 0.0823

##Faceted by political orientation

Code
plot_fn(blameLong %>% filter(!is.na(political_group)), condition, resp, coln = 3, rown = 1, facet_var = "political_group", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Inferential Stats

Code
mod_manufacturerBlame_pol <- lm(industryBlame ~ condition*pol, data = data)
summary(mod_manufacturerBlame_pol)

Call:
lm(formula = industryBlame ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3882 -0.7175  0.1339  0.8675  1.6736 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   3.79155    0.19440  19.504   <2e-16 ***
conditionindividualScope     -0.60005    0.27601  -2.174   0.0301 *  
conditionpopulationScope     -0.39326    0.27807  -1.414   0.1578    
pol                           0.08524    0.04250   2.006   0.0453 *  
conditionindividualScope:pol  0.04969    0.06113   0.813   0.4166    
conditionpopulationScope:pol  0.07435    0.06163   1.206   0.2282    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.118 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.06409,   Adjusted R-squared:  0.05618 
F-statistic: 8.107 on 5 and 592 DF,  p-value: 2.058e-07
Code
mod_indBlame_pol <- lm(individualBlame ~ condition*pol, data = data)
summary(mod_indBlame_pol)

Call:
lm(formula = individualBlame ~ condition * pol, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.90335 -0.76799  0.07829  0.84290  2.07074 

Coefficients:
                              Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   4.074631   0.194774  20.920  < 2e-16 ***
conditionindividualScope      0.125515   0.276539   0.454 0.650082    
conditionpopulationScope     -0.166855   0.278602  -0.599 0.549470    
pol                          -0.152923   0.042580  -3.591 0.000356 ***
conditionindividualScope:pol  0.004523   0.061245   0.074 0.941153    
conditionpopulationScope:pol  0.013135   0.061748   0.213 0.831623    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.12 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.06243,   Adjusted R-squared:  0.05451 
F-statistic: 7.884 on 5 and 592 DF,  p-value: 3.348e-07

Faceted by Gender

Code
plot_fn(blameLong %>% filter(!is.na(genderMF)), condition, resp, coln = 3, rown = 1, facet_var = "genderMF", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Faceted by gambling history

Code
plot_fn(blameLong %>% filter(!is.na(gambling_binary)), condition, resp, coln = 3, rown = 1, facet_var = "gambling_binary", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Responsibility to help victims

Code
responsibilityHelpLong <- data_long %>%
  filter(grepl("Help", stim))

plot_fn(responsibilityHelpLong, condition, resp, coln = 3, rown = 5, "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Inferential Stats

Code
mod_usGovHelp <- lm(usGovHelp ~ condition, data = data)
summary(mod_usGovHelp)

Call:
lm(formula = usGovHelp ~ condition, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.32995 -1.09548 -0.04926  0.95074  1.95074 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.32995    0.09654  34.493   <2e-16 ***
conditionindividualScope -0.28069    0.13551  -2.071   0.0388 *  
conditionpopulationScope -0.23447    0.13618  -1.722   0.0856 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.355 on 596 degrees of freedom
Multiple R-squared:  0.00816,   Adjusted R-squared:  0.004831 
F-statistic: 2.452 on 2 and 596 DF,  p-value: 0.08703
Code
mod_manufacturerHelp <- lm(industryHelp ~ condition, data = data)
summary(mod_manufacturerHelp)

Call:
lm(formula = industryHelp ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1929 -0.8643  0.8071  0.9704  1.1357 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.19289    0.08647  48.491  < 2e-16 ***
conditionindividualScope -0.16334    0.12138  -1.346  0.17891    
conditionpopulationScope -0.32857    0.12197  -2.694  0.00726 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.214 on 596 degrees of freedom
Multiple R-squared:  0.01203,   Adjusted R-squared:  0.008714 
F-statistic: 3.628 on 2 and 596 DF,  p-value: 0.02715
Code
mod_gamblerHelp <- lm(gamblerHelp ~ condition, data = data)
summary(mod_gamblerHelp)

Call:
lm(formula = gamblerHelp ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6904 -0.6904  0.3547  1.3096  1.4221 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.69036    0.09010  40.959   <2e-16 ***
conditionindividualScope -0.04504    0.12647  -0.356    0.722    
conditionpopulationScope -0.11247    0.12710  -0.885    0.377    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.265 on 596 degrees of freedom
Multiple R-squared:  0.001331,  Adjusted R-squared:  -0.002021 
F-statistic: 0.397 on 2 and 596 DF,  p-value: 0.6725
Code
mod_individualHelp <- lm(individualHelp ~ condition, data = data)
summary(mod_individualHelp)

Call:
lm(formula = individualHelp ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.7817 -0.7817 -0.5779  0.8202  2.4221 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.78173    0.09261   30.04   <2e-16 ***
conditionindividualScope -0.11178    0.13000   -0.86    0.390    
conditionpopulationScope -0.20384    0.13064   -1.56    0.119    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.3 on 596 degrees of freedom
Multiple R-squared:  0.004079,  Adjusted R-squared:  0.0007374 
F-statistic: 1.221 on 2 and 596 DF,  p-value: 0.2958
Code
mod_youHelp <- lm(youHelp ~ condition, data = data)
summary(mod_youHelp)

Call:
lm(formula = youHelp ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.2843 -1.0352 -0.1675  0.7157  2.9648 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.28426    0.08514  26.829   <2e-16 ***
conditionindividualScope -0.11678    0.11952  -0.977   0.3289    
conditionpopulationScope -0.24909    0.12011  -2.074   0.0385 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.195 on 596 degrees of freedom
Multiple R-squared:  0.007176,  Adjusted R-squared:  0.003844 
F-statistic: 2.154 on 2 and 596 DF,  p-value: 0.1169
Code
mod_usGovHelp_I <- lm(usGovHelp ~ condition, data = data_I)
summary(mod_usGovHelp_I)

Call:
lm(formula = usGovHelp ~ condition, data = data_I)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.32995 -1.09548 -0.04926  0.95074  1.95074 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.04926    0.09510  32.063   <2e-16 ***
conditionmergedScope      0.28069    0.13551   2.071   0.0388 *  
conditionpopulationScope  0.04622    0.13517   0.342   0.7325    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.355 on 596 degrees of freedom
Multiple R-squared:  0.00816,   Adjusted R-squared:  0.004831 
F-statistic: 2.452 on 2 and 596 DF,  p-value: 0.08703
Code
mod_manufacturerHelp_I <- lm(industryHelp ~ condition, data = data_I)
summary(mod_manufacturerHelp_I)

Call:
lm(formula = industryHelp ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1929 -0.8643  0.8071  0.9704  1.1357 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.02956    0.08518  47.307   <2e-16 ***
conditionmergedScope      0.16334    0.12138   1.346    0.179    
conditionpopulationScope -0.16524    0.12107  -1.365    0.173    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.214 on 596 degrees of freedom
Multiple R-squared:  0.01203,   Adjusted R-squared:  0.008714 
F-statistic: 3.628 on 2 and 596 DF,  p-value: 0.02715
Code
mod_gamblerHelp_I <- lm(gamblerHelp ~ condition, data = data_I)
summary(mod_gamblerHelp_I)

Call:
lm(formula = gamblerHelp ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6904 -0.6904  0.3547  1.3096  1.4221 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.64532    0.08876  41.071   <2e-16 ***
conditionmergedScope      0.04504    0.12647   0.356    0.722    
conditionpopulationScope -0.06743    0.12615  -0.535    0.593    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.265 on 596 degrees of freedom
Multiple R-squared:  0.001331,  Adjusted R-squared:  -0.002021 
F-statistic: 0.397 on 2 and 596 DF,  p-value: 0.6725
Code
mod_individualHelp_I <- lm(individualHelp ~ condition, data = data_I)
summary(mod_individualHelp_I)

Call:
lm(formula = individualHelp ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.7817 -0.7817 -0.5779  0.8202  2.4221 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.66995    0.09123   29.27   <2e-16 ***
conditionmergedScope      0.11178    0.13000    0.86    0.390    
conditionpopulationScope -0.09206    0.12967   -0.71    0.478    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.3 on 596 degrees of freedom
Multiple R-squared:  0.004079,  Adjusted R-squared:  0.0007374 
F-statistic: 1.221 on 2 and 596 DF,  p-value: 0.2958
Code
mod_youHelp_I <- lm(youHelp ~ condition, data = data_I)
summary(mod_youHelp_I)

Call:
lm(formula = youHelp ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.2843 -1.0352 -0.1675  0.7157  2.9648 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.16749    0.08387  25.842   <2e-16 ***
conditionmergedScope      0.11678    0.11952   0.977    0.329    
conditionpopulationScope -0.13231    0.11921  -1.110    0.267    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.195 on 596 degrees of freedom
Multiple R-squared:  0.007176,  Adjusted R-squared:  0.003844 
F-statistic: 2.154 on 2 and 596 DF,  p-value: 0.1169

Faceted by political orientation

Code
plot_fn(responsibilityHelpLong %>% filter(!is.na(political_group)), condition, resp, coln = 3, rown = 1, facet_var = "political_group", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Inferential Stats

Code
mod_usGovHelp <- lm(usGovHelp ~ condition*pol, data = data)
summary(mod_usGovHelp)

Call:
lm(formula = usGovHelp ~ condition * pol, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.74574 -1.02553 -0.01046  1.05749  2.80120 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   2.71635    0.22647  11.994   <2e-16 ***
conditionindividualScope     -0.35995    0.32154  -1.119   0.2634    
conditionpopulationScope     -0.80817    0.32393  -2.495   0.0129 *  
pol                           0.14706    0.04951   2.970   0.0031 ** 
conditionindividualScope:pol  0.02023    0.07121   0.284   0.7765    
conditionpopulationScope:pol  0.14356    0.07179   2.000   0.0460 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.302 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.08684,   Adjusted R-squared:  0.07913 
F-statistic: 11.26 on 5 and 592 DF,  p-value: 2.18e-10
Code
mod_manufacturerHelp <- lm(industryHelp ~ condition*pol, data = data)
summary(mod_manufacturerHelp)

Call:
lm(formula = industryHelp ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4277 -0.6908  0.5071  0.8797  1.7321 

Coefficients:
                              Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   3.750143   0.206938  18.122   <2e-16 ***
conditionindividualScope     -0.151606   0.293809  -0.516   0.6060    
conditionpopulationScope     -0.675545   0.296001  -2.282   0.0228 *  
pol                           0.106109   0.045240   2.345   0.0193 *  
conditionindividualScope:pol -0.001751   0.065070  -0.027   0.9785    
conditionpopulationScope:pol  0.087193   0.065604   1.329   0.1843    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.19 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.05519,   Adjusted R-squared:  0.04721 
F-statistic: 6.916 on 5 and 592 DF,  p-value: 2.742e-06
Code
mod_gamblerHelp <- lm(gamblerHelp ~ condition*pol, data = data)
summary(mod_gamblerHelp)

Call:
lm(formula = gamblerHelp ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9813 -0.7252  0.2996  1.2519  1.8346 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   4.07300    0.21844  18.646   <2e-16 ***
conditionindividualScope     -0.35413    0.31014  -1.142   0.2540    
conditionpopulationScope      0.08314    0.31245   0.266   0.7903    
pol                          -0.09171    0.04775  -1.920   0.0553 .  
conditionindividualScope:pol  0.07327    0.06869   1.067   0.2865    
conditionpopulationScope:pol -0.04984    0.06925  -0.720   0.4720    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.256 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.02083,   Adjusted R-squared:  0.01256 
F-statistic: 2.519 on 5 and 592 DF,  p-value: 0.02862
Code
mod_individualHelp <- lm(individualHelp ~ condition*pol, data = data)
summary(mod_individualHelp)

Call:
lm(formula = individualHelp ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.1465 -0.7983 -0.3697  0.7977  2.6303 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   3.26147    0.22528  14.477   <2e-16 ***
conditionindividualScope     -0.45843    0.31986  -1.433   0.1523    
conditionpopulationScope     -0.39177    0.32224  -1.216   0.2246    
pol                          -0.11498    0.04925  -2.335   0.0199 *  
conditionindividualScope:pol  0.08199    0.07084   1.157   0.2476    
conditionpopulationScope:pol  0.04355    0.07142   0.610   0.5423    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.296 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.017, Adjusted R-squared:  0.008695 
F-statistic: 2.047 on 5 and 592 DF,  p-value: 0.07044
Code
mod_youHelp <- lm(youHelp ~ condition*pol, data = data)
summary(mod_youHelp)

Call:
lm(formula = youHelp ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.4982 -1.0698 -0.1611  0.8018  3.0187 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   2.56559    0.20790  12.340   <2e-16 ***
conditionindividualScope     -0.27118    0.29518  -0.919    0.359    
conditionpopulationScope     -0.45491    0.29738  -1.530    0.127    
pol                          -0.06742    0.04545  -1.483    0.138    
conditionindividualScope:pol  0.03534    0.06537   0.541    0.589    
conditionpopulationScope:pol  0.04894    0.06591   0.743    0.458    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.196 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.01187,   Adjusted R-squared:  0.003529 
F-statistic: 1.423 on 5 and 592 DF,  p-value: 0.214

Faceted by Gender

Code
plot_fn(responsibilityHelpLong %>% filter(!is.na(genderMF)), condition, resp, coln = 3, rown = 1, facet_var = "genderMF", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Faceted by gambling history

Code
plot_fn(responsibilityHelpLong %>% filter(!is.na(gambling_binary)), condition, resp, coln = 3, rown = 1, facet_var = "gambling_binary", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Responsibility to prevent harm

Code
responsibilityPreventLong <- data_long %>%
  filter(grepl("Prevent", stim))

plot_fn(responsibilityPreventLong, condition, resp, coln = 3, rown = 5, "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Inferential Stats

Code
mod_usGovPrevent <- lm(usGovPrevent ~ condition, data = data)
summary(mod_usGovPrevent)

Call:
lm(formula = usGovPrevent ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.4975 -1.2611  0.5025  1.5025  1.7389 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.49746    0.09635  36.300   <2e-16 ***
conditionindividualScope -0.23638    0.13525  -1.748    0.081 .  
conditionpopulationScope -0.20098    0.13591  -1.479    0.140    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.352 on 596 degrees of freedom
Multiple R-squared:  0.005891,  Adjusted R-squared:  0.002555 
F-statistic: 1.766 on 2 and 596 DF,  p-value: 0.1719
Code
mod_manufacturerPrevent <- lm(industryPrevent ~ condition, data = data)
summary(mod_manufacturerPrevent)

Call:
lm(formula = industryPrevent ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1726 -1.0201  0.8274  0.8966  0.9799 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.17259    0.08155  51.165   <2e-16 ***
conditionindividualScope -0.06914    0.11448  -0.604    0.546    
conditionpopulationScope -0.15249    0.11504  -1.326    0.186    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.145 on 596 degrees of freedom
Multiple R-squared:  0.002949,  Adjusted R-squared:  -0.000397 
F-statistic: 0.8813 on 2 and 596 DF,  p-value: 0.4148
Code
mod_gamblerPrevent <- lm(gamblerPrevent ~ condition, data = data)
summary(mod_gamblerPrevent)

Call:
lm(formula = gamblerPrevent ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9015 -0.8883  0.1117  1.1117  1.2613 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.88832    0.08608  45.171   <2e-16 ***
conditionindividualScope  0.01315    0.12083   0.109    0.913    
conditionpopulationScope -0.14963    0.12143  -1.232    0.218    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.208 on 596 degrees of freedom
Multiple R-squared:  0.003738,  Adjusted R-squared:  0.0003946 
F-statistic: 1.118 on 2 and 596 DF,  p-value: 0.3276
Code
mod_individualPrevent <- lm(individualPrevent ~ condition, data = data)
summary(mod_individualPrevent)

Call:
lm(formula = individualPrevent ~ condition, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.91878 -0.91878  0.08122  1.08122  2.28141 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.91878    0.09466  30.834   <2e-16 ***
conditionindividualScope -0.16016    0.13288  -1.205    0.229    
conditionpopulationScope -0.20019    0.13354  -1.499    0.134    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.329 on 596 degrees of freedom
Multiple R-squared:  0.004206,  Adjusted R-squared:  0.000864 
F-statistic: 1.259 on 2 and 596 DF,  p-value: 0.2848
Code
mod_youPrevent_I <- lm(youPrevent ~ condition, data = data_I)
summary(mod_youPrevent_I)

Call:
lm(formula = youPrevent ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.3350 -1.1809 -0.2463  0.7537  2.8191 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.24631    0.08782  25.579   <2e-16 ***
conditionmergedScope      0.08872    0.12514   0.709    0.479    
conditionpopulationScope -0.06540    0.12482  -0.524    0.600    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.251 on 596 degrees of freedom
Multiple R-squared:  0.002532,  Adjusted R-squared:  -0.0008152 
F-statistic: 0.7565 on 2 and 596 DF,  p-value: 0.4698
Code
mod_usGovPrevent_I <- lm(usGovPrevent ~ condition, data = data_I)
summary(mod_usGovPrevent_I)

Call:
lm(formula = usGovPrevent ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.4975 -1.2611  0.5025  1.5025  1.7389 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.26108    0.09491  34.359   <2e-16 ***
conditionmergedScope      0.23638    0.13525   1.748    0.081 .  
conditionpopulationScope  0.03540    0.13490   0.262    0.793    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.352 on 596 degrees of freedom
Multiple R-squared:  0.005891,  Adjusted R-squared:  0.002555 
F-statistic: 1.766 on 2 and 596 DF,  p-value: 0.1719
Code
mod_manufacturerPrevent_I <- lm(industryPrevent ~ condition, data = data_I)
summary(mod_manufacturerPrevent_I)

Call:
lm(formula = industryPrevent ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1726 -1.0201  0.8274  0.8966  0.9799 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.10345    0.08034  51.077   <2e-16 ***
conditionmergedScope      0.06914    0.11448   0.604    0.546    
conditionpopulationScope -0.08335    0.11418  -0.730    0.466    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.145 on 596 degrees of freedom
Multiple R-squared:  0.002949,  Adjusted R-squared:  -0.000397 
F-statistic: 0.8813 on 2 and 596 DF,  p-value: 0.4148
Code
mod_gamblerPrevent_I <- lm(gamblerPrevent ~ condition, data = data_I)
summary(mod_gamblerPrevent_I)

Call:
lm(formula = gamblerPrevent ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9015 -0.8883  0.1117  1.1117  1.2613 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               3.90148    0.08480  46.009   <2e-16 ***
conditionmergedScope     -0.01315    0.12083  -0.109    0.913    
conditionpopulationScope -0.16278    0.12052  -1.351    0.177    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.208 on 596 degrees of freedom
Multiple R-squared:  0.003738,  Adjusted R-squared:  0.0003946 
F-statistic: 1.118 on 2 and 596 DF,  p-value: 0.3276
Code
mod_individualPrevent_I <- lm(individualPrevent ~ condition, data = data_I)
summary(mod_individualPrevent_I)

Call:
lm(formula = individualPrevent ~ condition, data = data_I)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.91878 -0.91878  0.08122  1.08122  2.28141 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.75862    0.09325  29.582   <2e-16 ***
conditionmergedScope      0.16016    0.13288   1.205    0.229    
conditionpopulationScope -0.04003    0.13254  -0.302    0.763    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.329 on 596 degrees of freedom
Multiple R-squared:  0.004206,  Adjusted R-squared:  0.000864 
F-statistic: 1.259 on 2 and 596 DF,  p-value: 0.2848
Code
mod_youPrevent_I <- lm(youPrevent ~ condition, data = data_I)
summary(mod_youPrevent_I)

Call:
lm(formula = youPrevent ~ condition, data = data_I)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.3350 -1.1809 -0.2463  0.7537  2.8191 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               2.24631    0.08782  25.579   <2e-16 ***
conditionmergedScope      0.08872    0.12514   0.709    0.479    
conditionpopulationScope -0.06540    0.12482  -0.524    0.600    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.251 on 596 degrees of freedom
Multiple R-squared:  0.002532,  Adjusted R-squared:  -0.0008152 
F-statistic: 0.7565 on 2 and 596 DF,  p-value: 0.4698

Faceted by political orientation

Code
plot_fn(responsibilityPreventLong %>% filter(!is.na(political_group)), condition, resp, coln = 3, rown = 1, facet_var = "political_group", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Inferential Stats

Code
mod_usGovPrevent_pol <- lm(usGovPrevent ~ condition*pol, data = data)
summary(mod_usGovPrevent_pol)

Call:
lm(formula = usGovPrevent ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8818 -1.0671  0.1182  1.2033  2.5097 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   2.93025    0.22737  12.888  < 2e-16 ***
conditionindividualScope     -0.37600    0.32281  -1.165  0.24458    
conditionpopulationScope     -0.70117    0.32522  -2.156  0.03149 *  
pol                           0.13594    0.04971   2.735  0.00643 ** 
conditionindividualScope:pol  0.03502    0.07149   0.490  0.62441    
conditionpopulationScope:pol  0.12533    0.07208   1.739  0.08259 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.308 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.07436,   Adjusted R-squared:  0.06654 
F-statistic: 9.512 on 5 and 592 DF,  p-value: 9.697e-09
Code
mod_manufacturerPrevent_pol <- lm(industryPrevent ~ condition*pol, data = data)
summary(mod_manufacturerPrevent_pol)

Call:
lm(formula = industryPrevent ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5248 -0.6590  0.4718  0.8215  1.5141 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   3.86433    0.19485  19.833   <2e-16 ***
conditionindividualScope     -0.36648    0.27664  -1.325   0.1858    
conditionpopulationScope     -0.55162    0.27871  -1.979   0.0483 *  
pol                           0.07388    0.04260   1.734   0.0834 .  
conditionindividualScope:pol  0.07332    0.06127   1.197   0.2319    
conditionpopulationScope:pol  0.09927    0.06177   1.607   0.1086    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.121 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.04975,   Adjusted R-squared:  0.04173 
F-statistic: 6.199 on 5 and 592 DF,  p-value: 1.295e-05
Code
mod_gamblerPrevent_pol <- lm(gamblerPrevent ~ condition*pol, data = data)
summary(mod_gamblerPrevent_pol)

Call:
lm(formula = gamblerPrevent ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1338 -0.8635  0.1236  1.0851  1.7701 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   4.35978    0.20735  21.027   <2e-16 ***
conditionindividualScope     -0.40634    0.29439  -1.380    0.168    
conditionpopulationScope      0.09215    0.29659   0.311    0.756    
pol                          -0.11299    0.04533  -2.493    0.013 *  
conditionindividualScope:pol  0.10015    0.06520   1.536    0.125    
conditionpopulationScope:pol -0.06159    0.06573  -0.937    0.349    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.193 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.03587,   Adjusted R-squared:  0.02772 
F-statistic: 4.404 on 5 and 592 DF,  p-value: 0.000603
Code
mod_individualPrevent_pol <- lm(individualPrevent ~ condition*pol, data = data)
summary(mod_individualPrevent_pol)

Call:
lm(formula = individualPrevent ~ condition * pol, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.30491 -0.93979  0.05804  1.06570  2.59358 

Coefficients:
                             Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   3.42662    0.22944  14.935   <2e-16 ***
conditionindividualScope     -0.43580    0.32576  -1.338   0.1815    
conditionpopulationScope     -0.27044    0.32819  -0.824   0.4102    
pol                          -0.12171    0.05016  -2.426   0.0155 *  
conditionindividualScope:pol  0.06335    0.07215   0.878   0.3803    
conditionpopulationScope:pol  0.01460    0.07274   0.201   0.8410    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.32 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.02294,   Adjusted R-squared:  0.01469 
F-statistic:  2.78 on 5 and 592 DF,  p-value: 0.01712
Code
mod_youPrevent_pol <- lm(youPrevent ~ condition*pol, data = data)
summary(mod_youPrevent_pol)

Call:
lm(formula = youPrevent ~ condition * pol, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.4606 -1.1883 -0.2627  0.7373  3.0702 

Coefficients:
                              Estimate Std. Error t value Pr(>|t|)    
(Intercept)                   2.500154   0.217105  11.516   <2e-16 ***
conditionindividualScope     -0.085687   0.308243  -0.278    0.781    
conditionpopulationScope      0.032789   0.310544   0.106    0.916    
pol                          -0.039575   0.047462  -0.834    0.405    
conditionindividualScope:pol -0.003725   0.068267  -0.055    0.957    
conditionpopulationScope:pol -0.046595   0.068827  -0.677    0.499    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.249 on 592 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.01004,   Adjusted R-squared:  0.00168 
F-statistic: 1.201 on 5 and 592 DF,  p-value: 0.3072

Faceted by Gender

Code
plot_fn(responsibilityPreventLong %>% filter(!is.na(genderMF)), condition, resp, coln = 3, rown = 1, facet_var = "genderMF", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Faceted by gambling history

Code
plot_fn(responsibilityPreventLong %>% filter(!is.na(gambling_binary)), condition, resp, coln = 3, rown = 1, facet_var = "gambling_binary", facet_var2 = "stim", x_text_size = 13, y_text_size = 20, plot_title_size = 25, facet_text_size = 18, x_levels = c("individualScope", "populationScope", "mergedScope"), x_labels = c("Individual \n\ Frame", "Structural \n\ Frame", "Combined \n\ Frame"))

Bonus

Code
bonus_data <- data %>% filter(Finished == 1, consent == 8)
bonus_data <- bonus_data %>%
  dplyr::select(PROLIFIC_PID, donation)

# view(bonus_data)
winners_bonus_data <- bonus_data[seq(20, nrow(bonus_data), 20), ]

# write.csv(winners_bonus_data, "BONUS_IS_gambling.csv", row.names = FALSE)

#check for failure of random assignment
summary(lm(pol~condition, data))

Call:
lm(formula = pol ~ condition, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1726 -2.0842 -0.0854  1.8274  2.9158 

Coefficients:
                         Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.17259    0.12955  32.208   <2e-16 ***
conditionindividualScope -0.08843    0.18207  -0.486    0.627    
conditionpopulationScope -0.08716    0.18275  -0.477    0.634    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.818 on 595 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.0005175, Adjusted R-squared:  -0.002842 
F-statistic: 0.154 on 2 and 595 DF,  p-value: 0.8573