Author

Marcus

Setup

Libraries and functions

Code
knitr::opts_chunk$set(warning = FALSE, message = FALSE, fig.width=10, fig.height=8) 

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",
    "corrplot", "effects", "patchwork"
    )

# 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
gjg <-read.csv("/Users/mtrenfield17/Desktop/Research/Boston College Research/Joint Research/Institutional Signaling/IS Study 2/Institutional Virtue Signaling Pilot 2.csv")

Functions

Code
plot_cooker <- function(data, iv, dv, title) {
  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,
                 #change to make a data set from allEffects with mean, low CI, high CI
                 size = 1.5, color = "black") +
    theme_classic() +
    xlab("") +
    ylab("") +
    ggtitle(title)
  ggpar(part1, legend = "none")
}

wrapped_plot_cooker <- function(data, iv, dv, title, facet_var) {
  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("") +
    ylab("") +
    ggtitle(title) +
    facet_wrap(vars({{facet_var}}))
  ggpar(part1, legend = "none")
}

by_line <- function(data, iv, dv, x_label, y_label, color_label, plot_title) {
  ggplot(data, aes(x = {{iv}}, y = {{dv}}, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = x_label, y = y_label, color = color_label, title = plot_title)
}

Reshaping data

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

#### filtering people who failed the attn check ####
filtered_gjg <-  gjg %>% filter(attentionCheck_text == "Companies' Social Media")

#### make dataset long ####
gjg_long<-filtered_gjg %>% gather(stim, resp, "B_S_Chic_staticNorm":"C_N_Tar_Prior") 

gjg_long<-gjg_long %>%
  separate(stim, into= c("social_issue", "signal", "company", "DV"), sep="_")

## shift dataset back to wide format ##
gjg_long <- spread(gjg_long, DV, resp)
names(gjg_long)
 [1] "StartDate"             "EndDate"               "Status"               
 [4] "IPAddress"             "Progress"              "Duration..in.seconds."
 [7] "Finished"              "RecordedDate"          "ResponseId"           
[10] "RecipientLastName"     "RecipientFirstName"    "RecipientEmail"       
[13] "ExternalReference"     "LocationLatitude"      "LocationLongitude"    
[16] "DistributionChannel"   "UserLanguage"          "prolificID"           
[19] "consent"               "attentionCheck"        "attentionCheck_text"  
[22] "inc"                   "inc_text"              "edu"                  
[25] "edu_text"              "age"                   "gen"                  
[28] "gen_3_TEXT"            "gen_text"              "pol"                  
[31] "pol_text"              "pid"                   "pid_text"             
[34] "area"                  "area_text"             "race"                 
[37] "race_text"             "post_Real_Check"       "openFeedback"         
[40] "confusion"             "PID"                   "PROLIFIC_PID"         
[43] "STUDY_ID"              "SESSION_ID"            "cluster"              
[46] "political_group"       "social_issue"          "signal"               
[49] "company"               "dyNorm"                "noisyMin"             
[52] "OComp"                 "OLike"                 "OMotivate"            
[55] "OTrust"                "peerPress"             "Prior"                
[58] "Profit"                "pubPress"              "Rep"                  
[61] "riskInact"             "SComp"                 "SGen"                 
[64] "SImport"               "SLike"                 "SRelImport"           
[67] "staticNorm"            "STrust"                "surprise"             
Code
gjg_long <- gjg_long %>% mutate_at(c("dyNorm", "noisyMin", "OComp", "OLike", "OMotivate", "OTrust", "peerPress", "Prior", "Profit", "pubPress", "Rep", "riskInact", "SComp", "SGen", "SImport", "SLike", "SRelImport", "staticNorm", "STrust", "surprise","post_Real_Check", "age", "pid", "area", "pol", "edu", "gen", "inc"), as.numeric)

## Rename Vignettes
gjg_long <- gjg_long %>%
  mutate(companyLeaning = case_when(
    company == "Bud" ~ "R",
    company == "CAR" ~ "R",
    company == "Chic" ~ "R",
    company == "Dis" ~ "L",
    company == "Pop" ~ "L",
    company == "Star" ~ "L",
    company == "Tar" ~ "L",
    company == "Wal" ~ "R",
    company == "WNBA" ~ "L",
    company == "Fox" ~ "R",
    company == "NBC" ~ "L",
    company == "NBA" ~ "L",
    company == "NFL" ~ "R",
    TRUE ~ company  # if none of the above conditions are met, keep the original value
  ))

gjg_long$condition <- paste0(gjg_long$companyLeaning, gjg_long$signal)

gjg_long <- subset(gjg_long, !(condition == "CS" & company == "Chic" & !is.na(Rep)))

gjg_long <- gjg_long %>%
  mutate(condition = case_when(
    condition == "LS" ~ "Liberal \n\ Progressive Mess.",
    condition == "LN" ~ "Liberal \n\ Control",
    condition == "RS" ~ "Conservative \n\ Progressive Mess.",
    condition == "RN" ~ "Conservative \n\ Control",
    TRUE ~ condition  # if none of the above conditions are met, keep the original value
  ))

gjg_long <- gjg_long %>%
  mutate(companyLeaning = case_when(
    companyLeaning == "R" ~ "Right",
    companyLeaning == "L" ~ "Left",
    TRUE ~ companyLeaning  # if none of the above conditions are met, keep the original value
  ))


gjg_long <- gjg_long %>%
  mutate(company = case_when(
    company == "Bud" ~ "Budweiser",
    company == "CAR" ~ "NASCAR",
    company == "Chic" ~ "Chick-fil-A",
    company == "Dis" ~ "Disney",
    company == "Pop" ~ "Popeyes",
    company == "Star" ~ "Starbucks",
    company == "Tar" ~ "Target",
    company == "Wal" ~ "Walmart",
    TRUE ~ company  # if none of the above conditions are met, keep the original value
  ))

# ## Rename Conditions
# gjg_long$signal <- as.factor(gjg_long$signal)
# gjg_long <- gjg_long %>%
#   mutate(signal = case_when(
#     signal == "S" ~ "Signal",
#     signal == "N" ~ "No Signal",
#     TRUE ~ signal  # if none of the above conditions are met, keep the original value
#   ))

gjg_long$social_issue <- as.factor(gjg_long$social_issue)
gjg_long <- gjg_long %>%
  mutate(social_issue = case_when(
    social_issue == "T" ~ "Transgendered Representation",
    social_issue == "C" ~ "Climate Change",
    social_issue == "L" ~ "LGBTQ Representation",
    social_issue == "B" ~ "BLM",
    TRUE ~ social_issue  # if none of the above conditions are met, keep the original value
  ))

## data frame just with signaling messages
signal_gjg_long <- gjg_long %>%
  filter(signal == "Signal")

## filter out rows for condition-vignette pairs people DON'T see
gjg_long <- gjg_long %>% filter(is.na(dyNorm) == FALSE)

Attention Check

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

59/801 people were excluded: 29 failed the attention check. 30 did not consent.

Demographics

Code
# Subset your data frame to include only the demographic columns
demo_gjg <- gjg[, c("gen_text", "race_text", "inc_text", "edu_text", "pol_text", "pid_text", "area_text")]

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

for (col in names(demo_gjg)) {
  {
    freq_table <- as.data.frame(table(demo_gjg[[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 gen_text :
            Var1 Freq Percent
1                  30     3.6
2 I identify as:   10     1.2
3            Man  399    47.9
4          Woman  394    47.3

Table of frequencies for race_text :
                                                                                                                                                                                Var1
1                                                                                                                                                                                   
2                                                                                                                                                 American Indian and Native Alaskan
3                                                                                                                                           American Indian and Native Alaskan,Black
4  American Indian and Native Alaskan,Black,East Asian,South Asian,Southeast Asian,Pacific Islander or Native Hawaiian,Hispanic or Latino/a/x,Middle Eastern and North African,White
5                                                                             American Indian and Native Alaskan,Black,Hispanic or Latino/a/x,Middle Eastern and North African,White
6                                                                                                              American Indian and Native Alaskan,Black,Hispanic or Latino/a/x,White
7                                                                                                                    American Indian and Native Alaskan,Hispanic or Latino/a/x,White
8                                                                                                                                           American Indian and Native Alaskan,White
9                                                                                                                                                                              Black
10                                                                                                                                     Black,East Asian,Hispanic or Latino/a/x,White
11                                                                                                                                                      Black,Hispanic or Latino/a/x
12                                                                                                                                                                       Black,White
13                                                                                                                                                                        East Asian
14                                                                                                                                           East Asian,Hispanic or Latino/a/x,White
15                                                                                                                                       East Asian,Middle Eastern and North African
16                                                                                                                                                                  East Asian,White
17                                                                                                                                                            Hispanic or Latino/a/x
18                                                                                                                                                      Hispanic or Latino/a/x,White
19                                                                                                                                                  Middle Eastern and North African
20                                                                                                                                            Middle Eastern and North African,White
21                                                                                                                                                                       South Asian
22                                                                                                         South Asian,Hispanic or Latino/a/x,Middle Eastern and North African,White
23                                                                                                                                                                   Southeast Asian
24                                                                                                                                                             Southeast Asian,White
25                                                                                                                                                                             White
   Freq Percent
1    31    3.72
2     4    0.48
3     1    0.12
4     1    0.12
5     1    0.12
6     1    0.12
7     2    0.24
8     3    0.36
9    61    7.32
10    1    0.12
11    1    0.12
12   11    1.32
13   28    3.36
14    2    0.24
15    1    0.12
16    9    1.08
17   42    5.04
18   21    2.52
19    3    0.36
20    3    0.36
21    8    0.96
22    1    0.12
23   17    2.04
24    2    0.24
25  578   69.39

Table of frequencies for inc_text :
                 Var1 Freq Percent
1                       31    3.72
2 $100,000 - $149,999   94   11.28
3 $150,000 - $199,999   44    5.28
4   $25,000 - $49,999  205   24.61
5   $50,000 - $74,999  166   19.93
6   $75,000 - $99,999  118   14.17
7   less than $25,000  143   17.17
8  more than $200,000   32    3.84

Table of frequencies for edu_text :
                                                  Var1 Freq Percent
1                                                        31    3.72
2                                    Bachelor's degree  289   34.69
3                  Graduate degree (Masters, PhD, etc)  117   14.05
4                           High school diploma or GED  137   16.45
5 Some college, Technical degree, or Associates degree  250   30.01
6 Some schooling, but no high school diploma or degree    9    1.08

Table of frequencies for pol_text :
                   Var1 Freq Percent
1                         30    3.60
2          Conservative  132   15.85
3               Liberal  138   16.57
4              Moderate  185   22.21
5 Somewhat Conservative  107   12.85
6      Somewhat Liberal   98   11.76
7     Very Conservative   59    7.08
8          Very Liberal   84   10.08

Table of frequencies for pid_text :
                 Var1 Freq Percent
1                       30    3.60
2            Democrat  292   35.05
3 Independent / Other  263   31.57
4          Republican  248   29.77

Table of frequencies for area_text :
      Var1 Freq Percent
1            30    3.60
2    Rural  184   22.09
3 Suburban  438   52.58
4    Urban  181   21.73

Creating Factors

Code
# Creating Composites
gjg_long$selfCompany <- rowMeans((gjg_long[, c("SGen", "SLike", "STrust", "SComp")])) 

gjg_long$otherCompany <- rowMeans((gjg_long[, c("OLike", "OTrust", "OComp")])) 

gjg_long$externalMotive <- rowMeans((gjg_long[, c("Profit", "Rep", "peerPress", "pubPress", "riskInact", "noisyMin")])) 

gjg_long$socialIssue <- rowMeans(scale(gjg_long[, c("SImport", "SRelImport")])) 

Participant Perception of Company

Plot

  • 7 point agreement scale
Code
selfCompanyP <- ggplot(gjg_long, aes(x = companyLeaning, y = selfCompany, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 2, position = position_dodge(width = 0.25)) +
  geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 0.5) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
    scale_y_continuous(breaks = 1:7, limits = c(1, 7)) +  # Set y-axis to be from 1 to 7
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Consistency of \n\ Message and signal") +
  labs(x = "Company's Political Leaning", y = "Perception of the Company", title = "Participants' Afinity for the Company (N = 769)") +
  theme(
    plot.title = element_text(hjust = 0.5, size = 18),
    axis.text.x = element_text(face = "plain", size = 17, color = "black"),
    axis.text.y = element_text(face = "plain", size = 15, color = "black"),
    axis.title.y = element_text(face = "plain", size = 17, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 15, color = "black"),
    legend.title = element_text(size = 14),  # Increase legend title size
    legend.text = element_text(size = 12)  
  )

# Print the plot
print(selfCompanyP)

Plot by Pol Group

Code
gjg_long$political_group <- factor(gjg_long$political_group, levels = c("Liberal", "Moderate", "Conservative"))

selfCompanyP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = selfCompany, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 2, position = position_dodge(width = 0.25)) +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 0.5) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
    scale_y_continuous(breaks = 1:7, limits = c(1, 7)) +  # Set y-axis to be from 1 to 7
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Consistency of \n\ Message and signal") +
  labs(x = "Company's Political Leaning", y = "Perception of the Company", title = "Participants' Afinity for the Company (N = 799)") +
  theme(
    plot.title = element_text(hjust = 0.5, size = 18),
    axis.text.x = element_text(face = "plain", size = 17, color = "black"),
    axis.text.y = element_text(face = "plain", size = 15, color = "black"),
    axis.title.y = element_text(face = "plain", size = 17, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 15, color = "black"),
    legend.title = element_text(size = 14),  # Increase legend title size
    legend.text = element_text(size = 12)  
  )  +
  facet_wrap("political_group")

# Print the plot
print(selfCompanyP_polGroup)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = selfCompany, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Perception of the Company", color = "Company Political Leaning \n\ & Signal", title = "Participants' Afinity for the Company") + coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7))   

Stats

  • politics matters

  • company’s perceived political leaning matters to libs and mods

  • signal consistency matters for liberals

Code
mod_selfCompany_polGroup <- lmer(selfCompany ~ companyLeaning*signal*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_selfCompany_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: selfCompany ~ companyLeaning * signal * political_group + (1 |  
    prolificID) + (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 10400.1

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.1343 -0.5407  0.0475  0.5780  3.6011 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.8866   0.9416  
 social_issue (Intercept) 0.0152   0.1233  
 Residual                 1.2095   1.0998  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                          Estimate Std. Error
(Intercept)                                                4.70715    0.10289
companyLeaningRight                                       -1.11164    0.08854
signalS                                                    0.20212    0.08851
political_groupModerate                                   -0.25596    0.13627
political_groupConservative                               -0.71793    0.11926
companyLeaningRight:signalS                                0.02765    0.12521
companyLeaningRight:political_groupModerate                0.70926    0.14650
companyLeaningRight:political_groupConservative            1.14302    0.12818
signalS:political_groupModerate                           -0.05273    0.14642
signalS:political_groupConservative                       -0.34157    0.12813
companyLeaningRight:signalS:political_groupModerate       -0.04835    0.20718
companyLeaningRight:signalS:political_groupConservative   -0.04231    0.18128
                                                                df t value
(Intercept)                                               19.03449  45.749
companyLeaningRight                                     2295.63347 -12.555
signalS                                                 2295.34729   2.284
political_groupModerate                                 1994.93135  -1.878
political_groupConservative                             1994.49766  -6.020
companyLeaningRight:signalS                             2295.63346   0.221
companyLeaningRight:political_groupModerate             2295.89028   4.841
companyLeaningRight:political_groupConservative         2295.66344   8.917
signalS:political_groupModerate                         2295.47234  -0.360
signalS:political_groupConservative                     2295.34211  -2.666
companyLeaningRight:signalS:political_groupModerate     2295.89028  -0.233
companyLeaningRight:signalS:political_groupConservative 2295.66344  -0.233
                                                        Pr(>|t|)    
(Intercept)                                              < 2e-16 ***
companyLeaningRight                                      < 2e-16 ***
signalS                                                  0.02249 *  
political_groupModerate                                  0.06049 .  
political_groupConservative                             2.07e-09 ***
companyLeaningRight:signalS                              0.82524    
companyLeaningRight:political_groupModerate             1.37e-06 ***
companyLeaningRight:political_groupConservative          < 2e-16 ***
signalS:political_groupModerate                          0.71878    
signalS:political_groupConservative                      0.00774 ** 
companyLeaningRight:signalS:political_groupModerate      0.81551    
companyLeaningRight:signalS:political_groupConservative  0.81545    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pltc_M pltc_C cmLR:S cLR:_M cLR:_C sgS:_M
cmpnyLnngRg -0.430                                                        
signalS     -0.430  0.500                                                 
pltcl_grpMd -0.484  0.325  0.325                                          
pltcl_grpCn -0.553  0.371  0.371  0.418                                   
cmpnyLnnR:S  0.304 -0.707 -0.707 -0.230 -0.263                            
cmpnyLnR:_M  0.260 -0.605 -0.302 -0.538 -0.225  0.427                     
cmpnyLnR:_C  0.297 -0.691 -0.346 -0.225 -0.537  0.489  0.418              
sgnlS:plt_M  0.260 -0.303 -0.605 -0.537 -0.225  0.428  0.500  0.210       
sgnlS:plt_C  0.297 -0.346 -0.691 -0.224 -0.537  0.489  0.209  0.500  0.418
cmpnLR:S:_M -0.184  0.428  0.428  0.380  0.159 -0.605 -0.707 -0.297 -0.707
cmpnLR:S:_C -0.210  0.489  0.489  0.159  0.380 -0.691 -0.295 -0.707 -0.296
            sgS:_C cLR:S:_M
cmpnyLnngRg                
signalS                    
pltcl_grpMd                
pltcl_grpCn                
cmpnyLnnR:S                
cmpnyLnR:_M                
cmpnyLnR:_C                
sgnlS:plt_M                
sgnlS:plt_C                
cmpnLR:S:_M -0.296         
cmpnLR:S:_C -0.707  0.418  
Code
mod_selfCompany_pol <- lmer(selfCompany ~ companyLeaning*signal*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_selfCompany_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: selfCompany ~ companyLeaning * signal * pol + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 10418

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.1914 -0.5423  0.0611  0.5672  3.5690 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.89694  0.9471  
 social_issue (Intercept) 0.01469  0.1212  
 Residual                 1.21252  1.1011  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                  Estimate Std. Error         df t value
(Intercept)                      3.721e+00  1.448e-01  7.749e+01  25.706
companyLeaningRight              5.908e-01  1.410e-01  2.299e+03   4.189
signalS                         -3.039e-01  1.410e-01  2.298e+03  -2.156
pol                              1.616e-01  2.935e-02  1.990e+03   5.505
companyLeaningRight:signalS     -2.359e-02  1.994e-01  2.299e+03  -0.118
companyLeaningRight:pol         -2.724e-01  3.149e-02  2.299e+03  -8.650
signalS:pol                      8.971e-02  3.148e-02  2.299e+03   2.850
companyLeaningRight:signalS:pol  5.975e-03  4.454e-02  2.299e+03   0.134
                                Pr(>|t|)    
(Intercept)                      < 2e-16 ***
companyLeaningRight             2.91e-05 ***
signalS                          0.03122 *  
pol                             4.18e-08 ***
companyLeaningRight:signalS      0.90585    
companyLeaningRight:pol          < 2e-16 ***
signalS:pol                      0.00441 ** 
companyLeaningRight:signalS:pol  0.89329    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.487                                          
signalS     -0.487  0.500                                   
pol         -0.833  0.492  0.492                            
cmpnyLnnR:S  0.344 -0.707 -0.707 -0.348                     
cmpnyLnngR:  0.447 -0.917 -0.459 -0.536  0.649              
signalS:pol  0.447 -0.459 -0.917 -0.536  0.649  0.500       
cmpnyLnR:S: -0.316  0.649  0.649  0.379 -0.917 -0.707 -0.707

Others’ Perception of Company

Plot

  • 7 point agreement scale
Code
otherCompanyP <- ggplot(gjg_long, aes(x = companyLeaning, y = otherCompany, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 2, position = position_dodge(width = 0.25)) +
     geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 0.5) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
    scale_y_continuous(breaks = 1:7, limits = c(1, 7)) +  # Set y-axis to be from 1 to 7
    scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Consistency of \n\ Message and signal") +
  labs(x = "Company's Political Leaning", y = "Perception of the Company", title = "Participants' Perception of Others' Afinity for the Company (N = 799)") +
  theme(
    plot.title = element_text(hjust = 0.5, size = 18),
    axis.text.x = element_text(face = "plain", size = 17, color = "black"),
    axis.text.y = element_text(face = "plain", size = 15, color = "black"),
    axis.title.y = element_text(face = "plain", size = 17, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 15, color = "black"),
    legend.title = element_text(size = 14),  # Increase legend title size
    legend.text = element_text(size = 12)  
  ) 

print(otherCompanyP)

Plot by Pol Group

  • Pluralistic ignorance – people think others like companies more than they do
Code
otherCompanyP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = otherCompany, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 2, position = position_dodge(width = 0.25)) +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 0.5) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
    scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Consistency of \n\ Message and signal") +
  labs(x = "Participant's Political Leaning", y = "Perception of the Company", title = "Participants' Perception of Others' Affinity for the Company (N = 799)") +
  theme(
    plot.title = element_text(hjust = 0.5, size = 18),
    axis.text.x = element_text(face = "plain", size = 17, color = "black"),
    axis.text.y = element_text(face = "plain", size = 15, color = "black"),
    axis.title.y = element_text(face = "plain", size = 17, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 15, color = "black"),
    legend.title = element_text(size = 14),  # Increase legend title size
    legend.text = element_text(size = 12)  
  ) +
  facet_wrap("political_group") + coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

# Print the plot
print(otherCompanyP_polGroup)

Code
# Code to combine self + other perception plot
## library(patchwork)
## selfCompanyP + otherCompanyP + plot_layout(guides = 'collect')

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = otherCompany, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Perception of the Company", color = "Company Political Leaning \n\ & Signal", title = "Participants' Perception of Others' Afinity for the Company") + coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

Stats

  • main effect of company leaning and participant political leaning
Code
mod_otherCompany_polGroup <- lmer(otherCompany ~ companyLeaning*signal*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_otherCompany_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: otherCompany ~ companyLeaning * signal * political_group + (1 |  
    prolificID) + (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 9135.3

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.9471 -0.4186  0.0881  0.5449  3.0814 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.51950  0.7208  
 social_issue (Intercept) 0.01021  0.1010  
 Residual                 0.82253  0.9069  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                          Estimate Std. Error
(Intercept)                                                5.42549    0.08305
companyLeaningRight                                       -0.37185    0.07302
signalS                                                    0.11677    0.07299
political_groupModerate                                   -0.24558    0.10904
political_groupConservative                               -0.37051    0.09543
companyLeaningRight:signalS                               -0.11414    0.10326
companyLeaningRight:political_groupModerate                0.21053    0.12081
companyLeaningRight:political_groupConservative            0.16321    0.10571
signalS:political_groupModerate                            0.03258    0.12075
signalS:political_groupConservative                       -0.23609    0.10567
companyLeaningRight:signalS:political_groupModerate       -0.05348    0.17085
companyLeaningRight:signalS:political_groupConservative    0.21441    0.14949
                                                                df t value
(Intercept)                                               17.90050  65.330
companyLeaningRight                                     2295.63973  -5.093
signalS                                                 2295.35069   1.600
political_groupModerate                                 2114.88783  -2.252
political_groupConservative                             2114.43152  -3.883
companyLeaningRight:signalS                             2295.63974  -1.105
companyLeaningRight:political_groupModerate             2295.89894   1.743
companyLeaningRight:political_groupConservative         2295.67000   1.544
signalS:political_groupModerate                         2295.47702   0.270
signalS:political_groupConservative                     2295.34545  -2.234
companyLeaningRight:signalS:political_groupModerate     2295.89894  -0.313
companyLeaningRight:signalS:political_groupConservative 2295.67000   1.434
                                                        Pr(>|t|)    
(Intercept)                                              < 2e-16 ***
companyLeaningRight                                     3.82e-07 ***
signalS                                                 0.109778    
political_groupModerate                                 0.024415 *  
political_groupConservative                             0.000106 ***
companyLeaningRight:signalS                             0.269124    
companyLeaningRight:political_groupModerate             0.081537 .  
companyLeaningRight:political_groupConservative         0.122722    
signalS:political_groupModerate                         0.787346    
signalS:political_groupConservative                     0.025564 *  
companyLeaningRight:signalS:political_groupModerate     0.754312    
companyLeaningRight:signalS:political_groupConservative 0.151634    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pltc_M pltc_C cmLR:S cLR:_M cLR:_C sgS:_M
cmpnyLnngRg -0.440                                                        
signalS     -0.439  0.500                                                 
pltcl_grpMd -0.480  0.335  0.335                                          
pltcl_grpCn -0.548  0.383  0.383  0.418                                   
cmpnyLnnR:S  0.311 -0.707 -0.707 -0.237 -0.271                            
cmpnyLnR:_M  0.266 -0.605 -0.302 -0.554 -0.232  0.427                     
cmpnyLnR:_C  0.304 -0.691 -0.346 -0.232 -0.554  0.489  0.418              
sgnlS:plt_M  0.266 -0.303 -0.605 -0.554 -0.232  0.428  0.500  0.210       
sgnlS:plt_C  0.304 -0.346 -0.691 -0.231 -0.554  0.489  0.209  0.500  0.418
cmpnLR:S:_M -0.188  0.428  0.428  0.392  0.164 -0.605 -0.707 -0.297 -0.707
cmpnLR:S:_C -0.215  0.489  0.489  0.163  0.392 -0.691 -0.295 -0.707 -0.296
            sgS:_C cLR:S:_M
cmpnyLnngRg                
signalS                    
pltcl_grpMd                
pltcl_grpCn                
cmpnyLnnR:S                
cmpnyLnR:_M                
cmpnyLnR:_C                
sgnlS:plt_M                
sgnlS:plt_C                
cmpnLR:S:_M -0.296         
cmpnLR:S:_C -0.707  0.418  
Code
mod_otherCompany_pol <- lmer(otherCompany ~ companyLeaning*signal*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_otherCompany_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: otherCompany ~ companyLeaning * signal * pol + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 9136.1

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.9351 -0.4119  0.0886  0.5460  3.0648 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.51729  0.7192  
 social_issue (Intercept) 0.01024  0.1012  
 Residual                 0.82244  0.9069  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                  Estimate Std. Error         df t value
(Intercept)                        4.87670    0.11634   67.32806  41.918
companyLeaningRight               -0.13207    0.11615 2298.71992  -1.137
signalS                           -0.23353    0.11610 2298.38690  -2.011
pol                                0.08668    0.02339 2121.04020   3.706
companyLeaningRight:signalS        0.18979    0.16426 2298.71992   1.155
companyLeaningRight:pol           -0.03194    0.02594 2298.92501  -1.231
signalS:pol                        0.06603    0.02592 2298.48713   2.547
companyLeaningRight:signalS:pol   -0.05786    0.03668 2298.92501  -1.577
                                Pr(>|t|)    
(Intercept)                      < 2e-16 ***
companyLeaningRight             0.255631    
signalS                         0.044400 *  
pol                             0.000216 ***
companyLeaningRight:signalS     0.248013    
companyLeaningRight:pol         0.218339    
signalS:pol                     0.010926 *  
companyLeaningRight:signalS:pol 0.114868    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.499                                          
signalS     -0.499  0.500                                   
pol         -0.826  0.509  0.508                            
cmpnyLnnR:S  0.353 -0.707 -0.707 -0.360                     
cmpnyLnngR:  0.458 -0.917 -0.459 -0.554  0.649              
signalS:pol  0.458 -0.459 -0.917 -0.554  0.649  0.500       
cmpnyLnR:S: -0.324  0.649  0.649  0.392 -0.917 -0.707 -0.707

Combining self + other perception plot

Code
# # Code to combine self + other perception plot
# library(patchwork)
# selfCompanyP + otherCompanyP + plot_layout(guides = 'collect')
# 
# # Adjust the titles to make sure they fit
# selfCompanyP_patch <- selfCompanyP + 
#   labs(title = "My Perception of the Company is Positive") + 
#   theme(plot.margin = margin(1, 1, 1, 1, "lines"))  # Increase the top margin
# 
# otherCompanyP_patch <- otherCompanyP + 
#   labs(title = "Others' Perception of the Company is Positive") +
#   theme(plot.margin = margin(1, 1, 1, 1, "lines"),
#         axis.title.y = element_blank(),  # Remove y-axis title
#         axis.ticks.y = element_blank(),  # Remove y-axis ticks
#         axis.text.y = element_blank())   # Remove y-axis text
# 
# # Combine the plots with patchwork, adjusting the layout
# combinedPlot <- selfCompanyP_patch + otherCompanyP_patch + plot_layout(guides = 'collect')
# 
# # Print the combined plot
# print(combinedPlot)

Genuine

Main Plot

  • Composite
  • 7 point agreement scale
Code
genP <- ggplot(gjg_long, aes(x = companyLeaning, y = SGen, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Company Political Leaning", 
    y = "How much does the company genuinely care", 
    title = "Perception of the Authenticity of the Company's Support"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  coord_cartesian(ylim = c(1, 7)) +  # Adjusted y limits to match scale_y_continuous
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2", "-1", "0", "1", "2", "3"))

# Print the plot
print(genP)

Plot by Pol Group

  • Composite
  • 7 point agreement scale
Code
genP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = SGen, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Company Political Leaning", 
    y = "How much does the company genuinely care", 
    title = "Perception of the Authenticity of the Company's Support"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  facet_wrap("political_group") +
  coord_cartesian(ylim = c(1, 7)) +  # Adjusted y limits to match scale_y_continuous
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2", "-1", "0", "1", "2", "3"))

# Print the plot
print(genP_polGroup)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = SGen, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "How much does the company genuinely care", color = "Company Political Leaning \n\ & Signal", title = "Perception of the Authenticity of the Company's Support") +
  labs(
    x = "Company Political Leaning", 
    y = "Motive Selflessness", 
    title = "Motive Authenticity"
  ) +
  coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

Stats

  • main effect of company leaning, signal consistency, and participant political leaning

  • signal consistency matters most for liberals

Code
mod_gen_polGroup <- lmer(SGen ~ companyLeaning*signal*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_gen_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: SGen ~ companyLeaning * signal * political_group + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 11125.6

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.4293 -0.5905  0.0284  0.6122  3.3865 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 1.1419   1.0686  
 social_issue (Intercept) 0.0189   0.1375  
 Residual                 1.5269   1.2357  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                          Estimate Std. Error
(Intercept)                                                4.29604    0.11561
companyLeaningRight                                       -1.09356    0.09948
signalS                                                    0.40962    0.09945
political_groupModerate                                   -0.14357    0.15377
political_groupConservative                               -0.53007    0.13457
companyLeaningRight:signalS                                0.02190    0.14069
companyLeaningRight:political_groupModerate                0.44030    0.16460
companyLeaningRight:political_groupConservative            0.89436    0.14402
signalS:political_groupModerate                           -0.01049    0.16452
signalS:political_groupConservative                       -0.24784    0.14397
companyLeaningRight:signalS:political_groupModerate       -0.03365    0.23278
companyLeaningRight:signalS:political_groupConservative   -0.13862    0.20368
                                                                df t value
(Intercept)                                               19.56939  37.159
companyLeaningRight                                     2295.64299 -10.993
signalS                                                 2295.35340   4.119
political_groupModerate                                 1978.86898  -0.934
political_groupConservative                             1978.43910  -3.939
companyLeaningRight:signalS                             2295.64299   0.156
companyLeaningRight:political_groupModerate             2295.90264   2.675
companyLeaningRight:political_groupConservative         2295.67330   6.210
signalS:political_groupModerate                         2295.47997  -0.064
signalS:political_groupConservative                     2295.34815  -1.721
companyLeaningRight:signalS:political_groupModerate     2295.90264  -0.145
companyLeaningRight:signalS:political_groupConservative 2295.67330  -0.681
                                                        Pr(>|t|)    
(Intercept)                                              < 2e-16 ***
companyLeaningRight                                      < 2e-16 ***
signalS                                                 3.94e-05 ***
political_groupModerate                                  0.35057    
political_groupConservative                             8.46e-05 ***
companyLeaningRight:signalS                              0.87629    
companyLeaningRight:political_groupModerate              0.00753 ** 
companyLeaningRight:political_groupConservative         6.27e-10 ***
signalS:political_groupModerate                          0.94918    
signalS:political_groupConservative                      0.08530 .  
companyLeaningRight:signalS:political_groupModerate      0.88508    
companyLeaningRight:signalS:political_groupConservative  0.49619    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pltc_M pltc_C cmLR:S cLR:_M cLR:_C sgS:_M
cmpnyLnngRg -0.430                                                        
signalS     -0.430  0.500                                                 
pltcl_grpMd -0.486  0.324  0.323                                          
pltcl_grpCn -0.555  0.370  0.370  0.418                                   
cmpnyLnnR:S  0.304 -0.707 -0.707 -0.229 -0.262                            
cmpnyLnR:_M  0.260 -0.605 -0.302 -0.535 -0.224  0.427                     
cmpnyLnR:_C  0.297 -0.691 -0.346 -0.224 -0.535  0.489  0.418              
sgnlS:plt_M  0.260 -0.303 -0.605 -0.535 -0.224  0.428  0.500  0.210       
sgnlS:plt_C  0.297 -0.346 -0.691 -0.223 -0.535  0.489  0.209  0.500  0.418
cmpnLR:S:_M -0.184  0.428  0.428  0.378  0.159 -0.605 -0.707 -0.297 -0.707
cmpnLR:S:_C -0.210  0.489  0.489  0.158  0.378 -0.691 -0.295 -0.707 -0.296
            sgS:_C cLR:S:_M
cmpnyLnngRg                
signalS                    
pltcl_grpMd                
pltcl_grpCn                
cmpnyLnnR:S                
cmpnyLnR:_M                
cmpnyLnR:_C                
sgnlS:plt_M                
sgnlS:plt_C                
cmpnLR:S:_M -0.296         
cmpnLR:S:_C -0.707  0.418  
Code
mod_gen_pol <- lmer(SGen ~ companyLeaning*signal*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_gen_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: SGen ~ companyLeaning * signal * pol + (1 | prolificID) + (1 |  
    social_issue)
   Data: gjg_long

REML criterion at convergence: 11145.4

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.4674 -0.5940  0.0322  0.6101  3.3835 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 1.14946  1.0721  
 social_issue (Intercept) 0.01881  0.1371  
 Residual                 1.53306  1.2382  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                  Estimate Std. Error         df t value
(Intercept)                        3.61259    0.16333   76.85338  22.118
companyLeaningRight                0.16805    0.15857 2298.73167   1.060
signalS                            0.09722    0.15851 2298.39476   0.613
pol                                0.11097    0.03310 1979.47268   3.353
companyLeaningRight:signalS       -0.13950    0.22426 2298.73167  -0.622
companyLeaningRight:pol           -0.20247    0.03541 2298.93898  -5.717
signalS:pol                        0.05333    0.03539 2298.49620   1.507
companyLeaningRight:signalS:pol    0.02502    0.05008 2298.93898   0.500
                                Pr(>|t|)    
(Intercept)                      < 2e-16 ***
companyLeaningRight             0.289359    
signalS                         0.539717    
pol                             0.000816 ***
companyLeaningRight:signalS     0.533964    
companyLeaningRight:pol         1.22e-08 ***
signalS:pol                     0.132004    
companyLeaningRight:signalS:pol 0.617420    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.485                                          
signalS     -0.485  0.500                                   
pol         -0.832  0.491  0.490                            
cmpnyLnnR:S  0.343 -0.707 -0.707 -0.347                     
cmpnyLnngR:  0.445 -0.917 -0.459 -0.535  0.649              
signalS:pol  0.445 -0.459 -0.917 -0.535  0.649  0.500       
cmpnyLnR:S: -0.315  0.649  0.649  0.378 -0.917 -0.707 -0.707

Motive Authenticity

Main Plot

  • Composite
  • 7 point agreement scale
Code
gjg_long <- gjg_long %>% mutate(reverseExternalMotive = 7-externalMotive) # reversing external motive scale so selfish is negative

externalP <- ggplot(gjg_long, aes(x = companyLeaning, y = reverseExternalMotive, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Company Political Leaning", 
    y = "Motive Selflessness", 
    title = "Motive Authenticity"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  coord_cartesian(ylim = c(1, 7)) +  # Adjusted y limits to match scale_y_continuous
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2", "-1", "0", "1", "2", "3"))

# Print the plot
print(externalP)

Plot by Pol Group

  • Composite
  • 7 point agreement scale
Code
externalP <- ggplot(gjg_long, aes(x = companyLeaning, y = reverseExternalMotive, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Company Political Leaning", 
    y = "Motive Selflessness", 
    title = "Motive Authenticity"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) + facet_wrap("political_group") +
  coord_cartesian(ylim = c(1, 7)) +  # Adjusted y limits to match scale_y_continuous
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2", "-1", "0", "1", "2", "3"))

# Print the plot
print(externalP)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = reverseExternalMotive, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Perception of the Company", color = "Company Political Leaning \n\ & Signal", title = "Participants' Perception of Others' Afinity for the Company") +
  labs(
    x = "Company Political Leaning", 
    y = "Motive Selflessness", 
    title = "Motive Authenticity"
  ) +
  coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

Stats

  • main effect of company leaning, signal consistency, and participant political leaning

  • intersignal between ’s perceived political leaning matters to libs and mods

  • signal consistency matters for liberals

Code
mod_motive_polGroup <- lmer(reverseExternalMotive ~ companyLeaning*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_motive_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: reverseExternalMotive ~ companyLeaning * political_group + (1 |  
    prolificID) + (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 4606.2

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.8558 -0.5361 -0.0494  0.4307  3.4261 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.575410 0.75856 
 social_issue (Intercept) 0.007982 0.08934 
 Residual                 0.715235 0.84572 
Number of obs: 1538, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                  Estimate Std. Error
(Intercept)                                        2.85763    0.07858
companyLeaningRight                               -0.37108    0.06813
political_groupModerate                           -0.25436    0.10695
political_groupConservative                       -0.56748    0.09360
companyLeaningRight:political_groupModerate        0.20107    0.11275
companyLeaningRight:political_groupConservative    0.40242    0.09863
                                                        df t value Pr(>|t|)    
(Intercept)                                       17.86619  36.364  < 2e-16 ***
companyLeaningRight                              764.62836  -5.447 6.91e-08 ***
political_groupModerate                         1278.38015  -2.378   0.0175 *  
political_groupConservative                     1277.95782  -6.063 1.75e-09 ***
companyLeaningRight:political_groupModerate      764.94183   1.783   0.0749 .  
companyLeaningRight:political_groupConservative  764.67247   4.080 4.97e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR pltc_M pltc_C cLR:_M
cmpnyLnngRg -0.433                            
pltcl_grpMd -0.498  0.319                     
pltcl_grpCn -0.568  0.364  0.418              
cmpnyLnR:_M  0.262 -0.605 -0.527 -0.221       
cmpnyLnR:_C  0.300 -0.692 -0.221 -0.527  0.419
Code
mod_motive_pol <- lmer(reverseExternalMotive ~ companyLeaning*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_otherCompany_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: otherCompany ~ companyLeaning * signal * pol + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 9136.1

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.9351 -0.4119  0.0886  0.5460  3.0648 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.51729  0.7192  
 social_issue (Intercept) 0.01024  0.1012  
 Residual                 0.82244  0.9069  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                  Estimate Std. Error         df t value
(Intercept)                        4.87670    0.11634   67.32806  41.918
companyLeaningRight               -0.13207    0.11615 2298.71992  -1.137
signalS                           -0.23353    0.11610 2298.38690  -2.011
pol                                0.08668    0.02339 2121.04020   3.706
companyLeaningRight:signalS        0.18979    0.16426 2298.71992   1.155
companyLeaningRight:pol           -0.03194    0.02594 2298.92501  -1.231
signalS:pol                        0.06603    0.02592 2298.48713   2.547
companyLeaningRight:signalS:pol   -0.05786    0.03668 2298.92501  -1.577
                                Pr(>|t|)    
(Intercept)                      < 2e-16 ***
companyLeaningRight             0.255631    
signalS                         0.044400 *  
pol                             0.000216 ***
companyLeaningRight:signalS     0.248013    
companyLeaningRight:pol         0.218339    
signalS:pol                     0.010926 *  
companyLeaningRight:signalS:pol 0.114868    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.499                                          
signalS     -0.499  0.500                                   
pol         -0.826  0.509  0.508                            
cmpnyLnnR:S  0.353 -0.707 -0.707 -0.360                     
cmpnyLnngR:  0.458 -0.917 -0.459 -0.554  0.649              
signalS:pol  0.458 -0.459 -0.917 -0.554  0.649  0.500       
cmpnyLnR:S: -0.324  0.649  0.649  0.392 -0.917 -0.707 -0.707

Surprise

Main Plot

Code
surpriseP <- ggplot(gjg_long, aes(x = companyLeaning, y = surprise, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2","-1", "0", "1", "2", "3"), 
  ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "signal") +
  labs(
    x = "Condition", 
    y = "Surprise", 
    title = "Surprise at Post"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  coord_cartesian(ylim = c(1, 7))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(surpriseP)

Plot by Pol Group

  • Composite
  • 7 point agreement scale
Code
surpriseP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = surprise, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2","-1", "0", "1", "2", "3"), 
  ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "signal") +
  labs(
    x = "Condition", 
    y = "Surprise", 
    title = "Surprise at Post"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) + 
  facet_wrap("political_group") +
  coord_cartesian(ylim = c(1, 7))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(surpriseP_polGroup)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = OMotivate, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Surprise", color = "Company Political Leaning \n\ & Signal", title = "Surprise at Post") + coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

Stats

  • main effect of company leaning and participant political leaning

  • signal consistency matters more for conservative companies

  • signal consistency matters more for liberals

Code
mod_surprise_polGroup <- lmer(surprise ~ companyLeaning*signal*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_surprise_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: 
surprise ~ companyLeaning * signal * political_group + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 11794.1

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.8083 -0.6808 -0.1446  0.6387  3.1570 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.6822   0.8259  
 social_issue (Intercept) 0.1216   0.3487  
 Residual                 2.1897   1.4798  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                          Estimate Std. Error
(Intercept)                                                2.34993    0.19922
companyLeaningRight                                        0.60111    0.11914
signalS                                                    0.47248    0.11910
political_groupModerate                                    0.15521    0.15953
political_groupConservative                                0.06545    0.13961
companyLeaningRight:signalS                                1.19418    0.16849
companyLeaningRight:political_groupModerate               -0.08330    0.19713
companyLeaningRight:political_groupConservative           -0.07442    0.17248
signalS:political_groupModerate                           -0.20057    0.19703
signalS:political_groupConservative                        0.01180    0.17241
companyLeaningRight:signalS:political_groupModerate       -0.22678    0.27879
companyLeaningRight:signalS:political_groupConservative   -0.62943    0.24393
                                                                df t value
(Intercept)                                                4.88448  11.796
companyLeaningRight                                     2295.16384   5.045
signalS                                                 2295.08904   3.967
political_groupModerate                                 2620.76981   0.973
political_groupConservative                             2620.32430   0.469
companyLeaningRight:signalS                             2295.16384   7.088
companyLeaningRight:political_groupModerate             2295.23400  -0.423
companyLeaningRight:political_groupConservative         2295.17187  -0.431
signalS:political_groupModerate                         2295.12133  -1.018
signalS:political_groupConservative                     2295.08772   0.068
companyLeaningRight:signalS:political_groupModerate     2295.23400  -0.813
companyLeaningRight:signalS:political_groupConservative 2295.17187  -2.580
                                                        Pr(>|t|)    
(Intercept)                                             8.95e-05 ***
companyLeaningRight                                     4.88e-07 ***
signalS                                                 7.49e-05 ***
political_groupModerate                                  0.33069    
political_groupConservative                              0.63926    
companyLeaningRight:signalS                             1.81e-12 ***
companyLeaningRight:political_groupModerate              0.67266    
companyLeaningRight:political_groupConservative          0.66618    
signalS:political_groupModerate                          0.30879    
signalS:political_groupConservative                      0.94542    
companyLeaningRight:signalS:political_groupModerate      0.41605    
companyLeaningRight:signalS:political_groupConservative  0.00993 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pltc_M pltc_C cmLR:S cLR:_M cLR:_C sgS:_M
cmpnyLnngRg -0.299                                                        
signalS     -0.299  0.500                                                 
pltcl_grpMd -0.293  0.374  0.373                                          
pltcl_grpCn -0.334  0.427  0.427  0.418                                   
cmpnyLnnR:S  0.211 -0.707 -0.707 -0.264 -0.302                            
cmpnyLnR:_M  0.181 -0.605 -0.302 -0.618 -0.258  0.427                     
cmpnyLnR:_C  0.207 -0.691 -0.346 -0.258 -0.618  0.489  0.418              
sgnlS:plt_M  0.181 -0.303 -0.605 -0.618 -0.258  0.428  0.500  0.210       
sgnlS:plt_C  0.206 -0.346 -0.691 -0.258 -0.617  0.489  0.209  0.500  0.418
cmpnLR:S:_M -0.128  0.428  0.428  0.437  0.183 -0.605 -0.707 -0.297 -0.707
cmpnLR:S:_C -0.146  0.489  0.489  0.182  0.437 -0.691 -0.295 -0.707 -0.296
            sgS:_C cLR:S:_M
cmpnyLnngRg                
signalS                    
pltcl_grpMd                
pltcl_grpCn                
cmpnyLnnR:S                
cmpnyLnR:_M                
cmpnyLnR:_C                
sgnlS:plt_M                
sgnlS:plt_C                
cmpnLR:S:_M -0.296         
cmpnLR:S:_C -0.707  0.418  
Code
mod_surprise_pol <- lmer(surprise ~ companyLeaning*signal*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_surprise_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: surprise ~ companyLeaning * signal * pol + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 11803.2

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-2.8608 -0.6912 -0.1495  0.6293  3.2010 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.6803   0.8248  
 social_issue (Intercept) 0.1217   0.3488  
 Residual                 2.1925   1.4807  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                  Estimate Std. Error         df t value
(Intercept)                      2.476e+00  2.323e-01  9.013e+00  10.662
companyLeaningRight              4.937e-01  1.896e-01  2.298e+03   2.603
signalS                          4.081e-01  1.896e-01  2.298e+03   2.153
pol                             -1.620e-02  3.426e-02  2.627e+03  -0.473
companyLeaningRight:signalS      3.502e-01  2.682e-01  2.298e+03   1.306
companyLeaningRight:pol          1.482e-02  4.235e-02  2.298e+03   0.350
signalS:pol                      5.419e-03  4.233e-02  2.298e+03   0.128
companyLeaningRight:signalS:pol  1.365e-01  5.990e-02  2.298e+03   2.279
                                Pr(>|t|)    
(Intercept)                     2.07e-06 ***
companyLeaningRight               0.0093 ** 
signalS                           0.0314 *  
pol                               0.6364    
companyLeaningRight:signalS       0.1918    
companyLeaningRight:pol           0.7265    
signalS:pol                       0.8982    
companyLeaningRight:signalS:pol   0.0228 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.408                                          
signalS     -0.408  0.500                                   
pol         -0.606  0.567  0.567                            
cmpnyLnnR:S  0.289 -0.707 -0.707 -0.401                     
cmpnyLnngR:  0.374 -0.917 -0.459 -0.618  0.649              
signalS:pol  0.374 -0.459 -0.917 -0.618  0.649  0.500       
cmpnyLnR:S: -0.265  0.649  0.649  0.437 -0.917 -0.707 -0.708

Motivates Others to Act

Main Plot

Code
motivateP <- ggplot(gjg_long, aes(x = companyLeaning, y = OMotivate, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2","-1", "0", "1", "2", "3"), 
  ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "signal") +
  labs(
    x = "Condition", 
    y = "This post motivates support from others (Agreement)", 
    title = "Surprise at Post"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  coord_cartesian(ylim = c(1, 7))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(motivateP)

Plot by Pol Group

  • Composite
  • 7 point agreement scale
Code
motivateP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = OMotivate, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2","-1", "0", "1", "2", "3"), 
  ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Condition", 
    y = "Belief that the post motivates support from others", 
    title = ""
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) + 
  facet_wrap("political_group") +
  coord_cartesian(ylim = c(1, 7))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(motivateP_polGroup)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = OMotivate, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Belief that the post motivates support from others", color = "Company Political Leaning \n\ & Signal", title = "Belief that the post motivates support from others") + coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

Static Norm

Main Plot

Code
staticP <- ggplot(gjg_long, aes(x = companyLeaning, y = staticNorm, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(25, 50, 75, 100)
    ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Condition", 
    y = "Percent of Americans that support the cause", 
    title = "Participant Perception of Social Cause Support"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  coord_cartesian(ylim = c(1, 100))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(staticP)

Plot by Pol Group

  • Composite
  • 7 point agreement scale
Code
staticP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = staticNorm, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(25, 50, 75, 100)
    ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Condition", 
    y = "Percent of Americans that support the cause", 
    title = "Participant Perception of Social Cause Support"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  facet_wrap("political_group") +
  coord_cartesian(ylim = c(1, 100))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(staticP_polGroup)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = staticNorm, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Belief that the post motivates support from others", color = "Company Political Leaning \n\ & Signal", title = "Belief that the post motivates support from others") + coord_cartesian(ylim = c(1, 100)) + scale_y_continuous(breaks = c(25, 50, 75, 100)) 

Stats

  • main effect of political orientation
Code
mod_staticNorm_polGroup <- lmer(staticNorm ~ companyLeaning*signal*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_staticNorm_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: staticNorm ~ companyLeaning * signal * political_group + (1 |  
    prolificID) + (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 26052.3

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.1434 -0.5874  0.0334  0.5819  3.5397 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 152.8    12.36   
 social_issue (Intercept) 116.7    10.80   
 Residual                 197.3    14.05   
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                         Estimate Std. Error
(Intercept)                                               60.5520     5.5052
companyLeaningRight                                        0.2692     1.1309
signalS                                                    1.7627     1.1304
political_groupModerate                                   -3.9650     1.7611
political_groupConservative                              -13.1811     1.5412
companyLeaningRight:signalS                               -1.8737     1.5993
companyLeaningRight:political_groupModerate               -2.9095     1.8712
companyLeaningRight:political_groupConservative            2.6126     1.6372
signalS:political_groupModerate                           -1.6223     1.8701
signalS:political_groupConservative                       -0.6541     1.6365
companyLeaningRight:signalS:political_groupModerate        3.1490     2.6462
companyLeaningRight:signalS:political_groupConservative    2.3491     2.3153
                                                               df t value
(Intercept)                                                3.2234  10.999
companyLeaningRight                                     2295.0160   0.238
signalS                                                 2295.0087   1.559
political_groupModerate                                 1950.9102  -2.251
political_groupConservative                             1950.4663  -8.552
companyLeaningRight:signalS                             2295.0160  -1.172
companyLeaningRight:political_groupModerate             2295.0229  -1.555
companyLeaningRight:political_groupConservative         2295.0167   1.596
signalS:political_groupModerate                         2295.0118  -0.867
signalS:political_groupConservative                     2295.0085  -0.400
companyLeaningRight:signalS:political_groupModerate     2295.0229   1.190
companyLeaningRight:signalS:political_groupConservative 2295.0167   1.015
                                                        Pr(>|t|)    
(Intercept)                                              0.00115 ** 
companyLeaningRight                                      0.81186    
signalS                                                  0.11906    
political_groupModerate                                  0.02447 *  
political_groupConservative                              < 2e-16 ***
companyLeaningRight:signalS                              0.24147    
companyLeaningRight:political_groupModerate              0.12010    
companyLeaningRight:political_groupConservative          0.11067    
signalS:political_groupModerate                          0.38577    
signalS:political_groupConservative                      0.68941    
companyLeaningRight:signalS:political_groupModerate      0.23416    
companyLeaningRight:signalS:political_groupConservative  0.31040    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pltc_M pltc_C cmLR:S cLR:_M cLR:_C sgS:_M
cmpnyLnngRg -0.103                                                        
signalS     -0.103  0.500                                                 
pltcl_grpMd -0.117  0.321  0.321                                          
pltcl_grpCn -0.134  0.367  0.367  0.418                                   
cmpnyLnnR:S  0.073 -0.707 -0.707 -0.227 -0.260                            
cmpnyLnR:_M  0.062 -0.605 -0.302 -0.531 -0.222  0.427                     
cmpnyLnR:_C  0.071 -0.691 -0.346 -0.222 -0.531  0.489  0.418              
sgnlS:plt_M  0.062 -0.303 -0.605 -0.531 -0.222  0.428  0.500  0.210       
sgnlS:plt_C  0.071 -0.346 -0.691 -0.222 -0.531  0.489  0.209  0.500  0.418
cmpnLR:S:_M -0.044  0.428  0.428  0.376  0.158 -0.605 -0.707 -0.297 -0.707
cmpnLR:S:_C -0.050  0.489  0.489  0.157  0.376 -0.691 -0.295 -0.707 -0.296
            sgS:_C cLR:S:_M
cmpnyLnngRg                
signalS                    
pltcl_grpMd                
pltcl_grpCn                
cmpnyLnnR:S                
cmpnyLnR:_M                
cmpnyLnR:_C                
sgnlS:plt_M                
sgnlS:plt_C                
cmpnLR:S:_M -0.296         
cmpnLR:S:_C -0.707  0.418  
Code
mod_staticNorm_pol <- lmer(staticNorm ~ companyLeaning*signal*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_staticNorm_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: staticNorm ~ companyLeaning * signal * pol + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 26078.7

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-3.1269 -0.5861  0.0432  0.5807  3.5884 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 150.7    12.28   
 social_issue (Intercept) 116.9    10.81   
 Residual                 198.0    14.07   
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                 Estimate Std. Error        df t value Pr(>|t|)
(Intercept)                       41.5687     5.6647    3.5992   7.338  0.00274
companyLeaningRight                2.7294     1.8021 2298.0229   1.515  0.13003
signalS                            0.2611     1.8014 2298.0143   0.145  0.88475
pol                                3.2210     0.3774 1967.1604   8.535  < 2e-16
companyLeaningRight:signalS        1.8065     2.5486 2298.0229   0.709  0.47852
companyLeaningRight:pol           -0.5295     0.4025 2298.0284  -1.316  0.18842
signalS:pol                        0.2158     0.4022 2298.0168   0.537  0.59161
companyLeaningRight:signalS:pol   -0.5089     0.5692 2298.0284  -0.894  0.37132
                                   
(Intercept)                     ** 
companyLeaningRight                
signalS                            
pol                             ***
companyLeaningRight:signalS        
companyLeaningRight:pol            
signalS:pol                        
companyLeaningRight:signalS:pol    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.159                                          
signalS     -0.159  0.500                                   
pol         -0.274  0.489  0.489                            
cmpnyLnnR:S  0.112 -0.707 -0.707 -0.346                     
cmpnyLnngR:  0.146 -0.917 -0.459 -0.533  0.649              
signalS:pol  0.146 -0.459 -0.917 -0.533  0.649  0.500       
cmpnyLnR:S: -0.103  0.649  0.649  0.377 -0.917 -0.707 -0.708

Dynamic Norm

Main Plot

Code
dyP <- ggplot(gjg_long, aes(x = companyLeaning, y = dyNorm, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2","-1", "0", "1", "2", "3"), 
  ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "signal") +
  labs(
    x = "Condition", 
    y = "Rate at which support is changing", 
    title = "Perception of Norm Change"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  coord_cartesian(ylim = c(1, 7))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(dyP)

Plot by Pol Group

  • Composite
  • 7 point agreement scale
Code
dyP_polGroup <- ggplot(gjg_long, aes(x = companyLeaning, y = dyNorm, color = signal)) +
  geom_point(stat = "summary", fun = "mean", size = 4, position = position_dodge(width = 0.25)) +  # Increased point size
  stat_summary(fun.data = "mean_cl_normal", geom = "errorbar", position = position_dodge(width = 0.25), width = 0.2, size = 1.5) +  # Increased error bar size
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
  scale_x_discrete(labels = c("Liberal", "Conservative")) +
  scale_y_continuous(
    breaks = c(1, 2, 3, 4, 5, 6, 7), 
    labels = c("-3","-2","-1", "0", "1", "2", "3"), 
  ) +
  scale_color_manual(values = c("N" = "#B550B5", "S" = "#00C957"),
                     labels = c("Consistent", "Inconsistent"),
                     name = "Company Political Leaning \n\ & Signal") +
  labs(
    x = "Condition", 
    y = "Rate at which support is changing", 
    title = "Perception of Norm Change"
  ) +
  theme_minimal(base_size = 15) +
  theme(
    plot.title = element_text(hjust = 0.5, size = 25),
    axis.text.x = element_text(face = "plain", size = 20, color = "black"),
    axis.text.y = element_text(face = "plain", size = 20, color = "black"),
    axis.title.y = element_text(face = "plain", size = 22, color = "black"), 
    axis.title.x = element_text(face = "plain", size = 22, color = "black"),
    legend.position = "bottom",
    legend.title = element_text(size = 22),  # Adjusted legend title size
    legend.text = element_text(size = 20),  # Adjusted legend text size
    panel.grid.major = element_line(color = "gray"),
    panel.grid.minor = element_blank(),
    panel.background = element_rect(fill = "white", color = "white"),
    panel.border = element_rect(color = "black", fill = NA, size = 1)
  ) +
  facet_wrap("political_group") +
  coord_cartesian(ylim = c(1, 7))  # Adjusted y limits to match scale_y_continuous

# Print the plot
print(dyP_polGroup)

Line by Pol

Code
ggplot(gjg_long, aes(x = pol, y = dyNorm, color = condition)) +
    stat_summary(fun.data = "mean_cl_normal", geom = "line") +
    geom_hline(yintercept = 4, linetype = "dashed", color = "black", size = .7, alpha = 0.4) +
    # geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.2) +
    labs(x = "Participant Political Leaning \n\ (Conservative to Liberal)", y = "Belief that the post motivates support from others", color = "Company Political Leaning \n\ & Signal", title = "Belief that the post motivates support from others") + coord_cartesian(ylim = c(1, 7)) + scale_y_continuous(breaks = c(1,2,3,4,5,6,7)) 

Stats

Code
mod_dyNorm_polGroup <- lmer(dyNorm ~ companyLeaning*signal*political_group + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_dyNorm_polGroup)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: 
dyNorm ~ companyLeaning * signal * political_group + (1 | prolificID) +  
    (1 | social_issue)
   Data: gjg_long

REML criterion at convergence: 9601.8

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.7853 -0.4388  0.0544  0.5574  4.1351 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.83175  0.9120  
 social_issue (Intercept) 0.03671  0.1916  
 Residual                 0.88829  0.9425  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                                          Estimate Std. Error
(Intercept)                                              5.067e+00  1.214e-01
companyLeaningRight                                     -1.715e-01  7.588e-02
signalS                                                  4.587e-02  7.586e-02
political_groupModerate                                 -4.438e-02  1.234e-01
political_groupConservative                             -1.431e-01  1.080e-01
companyLeaningRight:signalS                              1.879e-01  1.073e-01
companyLeaningRight:political_groupModerate              1.210e-01  1.256e-01
companyLeaningRight:political_groupConservative          1.377e-01  1.099e-01
signalS:political_groupModerate                          5.205e-02  1.255e-01
signalS:political_groupConservative                     -7.161e-03  1.098e-01
companyLeaningRight:signalS:political_groupModerate     -1.422e-01  1.776e-01
companyLeaningRight:signalS:political_groupConservative  4.718e-02  1.554e-01
                                                                df t value
(Intercept)                                              7.275e+00  41.725
companyLeaningRight                                      2.295e+03  -2.259
signalS                                                  2.295e+03   0.605
political_groupModerate                                  1.802e+03  -0.360
political_groupConservative                              1.802e+03  -1.325
companyLeaningRight:signalS                              2.295e+03   1.751
companyLeaningRight:political_groupModerate              2.295e+03   0.964
companyLeaningRight:political_groupConservative          2.295e+03   1.253
signalS:political_groupModerate                          2.295e+03   0.415
signalS:political_groupConservative                      2.295e+03  -0.065
companyLeaningRight:signalS:political_groupModerate      2.295e+03  -0.801
companyLeaningRight:signalS:political_groupConservative  2.295e+03   0.304
                                                        Pr(>|t|)    
(Intercept)                                             6.27e-10 ***
companyLeaningRight                                       0.0239 *  
signalS                                                   0.5454    
political_groupModerate                                   0.7192    
political_groupConservative                               0.1855    
companyLeaningRight:signalS                               0.0800 .  
companyLeaningRight:political_groupModerate               0.3351    
companyLeaningRight:political_groupConservative           0.2102    
signalS:political_groupModerate                           0.6783    
signalS:political_groupConservative                       0.9480    
companyLeaningRight:signalS:political_groupModerate       0.4232    
companyLeaningRight:signalS:political_groupConservative   0.7614    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pltc_M pltc_C cmLR:S cLR:_M cLR:_C sgS:_M
cmpnyLnngRg -0.312                                                        
signalS     -0.312  0.500                                                 
pltcl_grpMd -0.372  0.308  0.307                                          
pltcl_grpCn -0.425  0.351  0.351  0.418                                   
cmpnyLnnR:S  0.221 -0.707 -0.707 -0.217 -0.249                            
cmpnyLnR:_M  0.189 -0.605 -0.302 -0.509 -0.213  0.427                     
cmpnyLnR:_C  0.216 -0.691 -0.346 -0.213 -0.508  0.489  0.418              
sgnlS:plt_M  0.189 -0.303 -0.605 -0.508 -0.213  0.428  0.500  0.210       
sgnlS:plt_C  0.216 -0.346 -0.691 -0.212 -0.508  0.489  0.209  0.500  0.418
cmpnLR:S:_M -0.134  0.428  0.428  0.360  0.151 -0.605 -0.707 -0.297 -0.707
cmpnLR:S:_C -0.153  0.489  0.489  0.150  0.360 -0.691 -0.295 -0.707 -0.296
            sgS:_C cLR:S:_M
cmpnyLnngRg                
signalS                    
pltcl_grpMd                
pltcl_grpCn                
cmpnyLnnR:S                
cmpnyLnR:_M                
cmpnyLnR:_C                
sgnlS:plt_M                
sgnlS:plt_C                
cmpnLR:S:_M -0.296         
cmpnLR:S:_C -0.707  0.418  
Code
mod_dyNorm_pol <- lmer(dyNorm ~ companyLeaning*signal*pol + (1 | prolificID) + (1 | social_issue), data = gjg_long)
summary(mod_dyNorm_pol)
Linear mixed model fit by REML. t-tests use Satterthwaite's method [
lmerModLmerTest]
Formula: dyNorm ~ companyLeaning * signal * pol + (1 | prolificID) + (1 |  
    social_issue)
   Data: gjg_long

REML criterion at convergence: 9604.6

Scaled residuals: 
    Min      1Q  Median      3Q     Max 
-4.7432 -0.4408  0.0568  0.5620  4.1412 

Random effects:
 Groups       Name        Variance Std.Dev.
 prolificID   (Intercept) 0.83022  0.9112  
 social_issue (Intercept) 0.03678  0.1918  
 Residual                 0.88828  0.9425  
Number of obs: 3076, groups:  prolificID, 769; social_issue, 4

Fixed effects:
                                  Estimate Std. Error         df t value
(Intercept)                      4.868e+00  1.526e-01  1.800e+01  31.911
companyLeaningRight              3.675e-02  1.207e-01  2.298e+03   0.304
signalS                          3.631e-02  1.207e-01  2.298e+03   0.301
pol                              3.308e-02  2.649e-02  1.806e+03   1.249
companyLeaningRight:signalS      1.682e-01  1.707e-01  2.298e+03   0.985
companyLeaningRight:pol         -3.157e-02  2.696e-02  2.298e+03  -1.171
signalS:pol                      4.620e-03  2.694e-02  2.298e+03   0.171
companyLeaningRight:signalS:pol  1.003e-03  3.812e-02  2.298e+03   0.026
                                Pr(>|t|)    
(Intercept)                       <2e-16 ***
companyLeaningRight                0.761    
signalS                            0.763    
pol                                0.212    
companyLeaningRight:signalS        0.325    
companyLeaningRight:pol            0.242    
signalS:pol                        0.864    
companyLeaningRight:signalS:pol    0.979    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Correlation of Fixed Effects:
            (Intr) cmpnLR signlS pol    cmLR:S cmpLR: sgnlS:
cmpnyLnngRg -0.396                                          
signalS     -0.395  0.500                                   
pol         -0.713  0.467  0.466                            
cmpnyLnnR:S  0.280 -0.707 -0.707 -0.330                     
cmpnyLnngR:  0.363 -0.917 -0.459 -0.509  0.649              
signalS:pol  0.363 -0.459 -0.917 -0.509  0.649  0.500       
cmpnyLnR:S: -0.257  0.649  0.649  0.360 -0.917 -0.707 -0.708