Study 7 Analysis

Hypothesis 7: Zero-sum mindset will predict implicit hostile attribution bias across a variety of situations.

 library(here)
 library(readr)
 library(psych)
 library(tidyverse)
hb <- read_csv(here( "data", "s1a.csv"))

Hostile Bias Scores

h_df <- select(hb, ends_with(".H"))
b_df <- select(hb, ends_with(".B"))

h_df_binary <- h_df - 1
b_df_binary <- b_df - 1

hostile_sum <- rowSums(h_df_binary)
benign_sum <- rowSums(b_df_binary)

hostile_mean <- rowMeans(h_df_binary)
benign_mean <- rowMeans(b_df_binary)

Hostile.Bias.Sum <- hostile_sum - benign_sum

Hostile.Bias.Mean <- hostile_mean - benign_mean

Descriptive Statistics

Describing Key Variables

##    vars   n mean   sd median trimmed  mad min max range skew kurtosis   se
## X1    1 821 3.05 1.35    2.8    2.93 1.19   1   7     6 0.75    -0.11 0.05

##    vars   n  mean   sd median trimmed  mad min max range  skew kurtosis   se
## X1    1 821 -2.29 4.19     -2   -2.16 4.45 -15  11    26 -0.27    -0.26 0.15
##    vars   n  mean   sd median trimmed mad min  max range  skew kurtosis   se
## X1    1 821 -0.15 0.28  -0.13   -0.14 0.3  -1 0.73  1.73 -0.27    -0.26 0.01

Need for Closure

nfc_df <- select(hb, starts_with("NFClo"))
psych::alpha(nfc_df)
## 
## Reliability analysis   
## Call: psych::alpha(x = nfc_df)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.89      0.89    0.91      0.35   8 0.0058  4.7 0.91     0.32
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.87  0.89   0.9
## Duhachek  0.87  0.89   0.9
## 
##  Reliability if an item is dropped:
##                         raw_alpha std.alpha G6(smc) average_r S/N alpha se
## NFClo.1.Ambiguity            0.87      0.88    0.89      0.33 7.0   0.0065
## NFClo.2.ClosedMinded         0.88      0.88    0.90      0.35 7.4   0.0063
## NFClo.3.Order                0.88      0.88    0.90      0.35 7.5   0.0061
## NFClo.4.Ambiguity            0.88      0.89    0.90      0.36 7.7   0.0060
## NFClo.5.ClosedMinded         0.88      0.89    0.91      0.36 7.8   0.0059
## NFClo.6.Predictability       0.87      0.88    0.90      0.34 7.2   0.0064
## NFClo.7.Decisive             0.88      0.89    0.91      0.36 7.9   0.0059
## NFClo.8.Decisive             0.88      0.88    0.90      0.35 7.6   0.0061
## NFClo.9.Decisive             0.88      0.88    0.90      0.35 7.4   0.0063
## NFClo.10.Predictability      0.88      0.88    0.90      0.35 7.4   0.0063
## NFClo.11.Ambiguity           0.88      0.88    0.90      0.34 7.3   0.0064
## NFClo.12.Order               0.88      0.88    0.90      0.35 7.4   0.0062
## NFClo.13.Order               0.88      0.88    0.90      0.34 7.3   0.0062
## NFClo.14.ClosedMinded        0.89      0.89    0.91      0.37 8.3   0.0055
## NFClo.15.Predictability      0.87      0.88    0.90      0.34 7.1   0.0065
##                         var.r med.r
## NFClo.1.Ambiguity       0.017  0.32
## NFClo.2.ClosedMinded    0.020  0.32
## NFClo.3.Order           0.017  0.33
## NFClo.4.Ambiguity       0.019  0.33
## NFClo.5.ClosedMinded    0.020  0.34
## NFClo.6.Predictability  0.018  0.32
## NFClo.7.Decisive        0.020  0.34
## NFClo.8.Decisive        0.021  0.32
## NFClo.9.Decisive        0.021  0.32
## NFClo.10.Predictability 0.021  0.32
## NFClo.11.Ambiguity      0.020  0.32
## NFClo.12.Order          0.017  0.33
## NFClo.13.Order          0.017  0.32
## NFClo.14.ClosedMinded   0.016  0.35
## NFClo.15.Predictability 0.018  0.32
## 
##  Item statistics 
##                           n raw.r std.r r.cor r.drop mean  sd
## NFClo.1.Ambiguity       821  0.76  0.77  0.77   0.72  5.1 1.4
## NFClo.2.ClosedMinded    821  0.67  0.64  0.62   0.59  4.0 1.7
## NFClo.3.Order           821  0.61  0.64  0.62   0.54  5.2 1.4
## NFClo.4.Ambiguity       821  0.56  0.55  0.51   0.48  4.9 1.5
## NFClo.5.ClosedMinded    821  0.55  0.53  0.47   0.46  3.6 1.6
## NFClo.6.Predictability  821  0.71  0.71  0.70   0.65  5.2 1.4
## NFClo.7.Decisive        821  0.47  0.50  0.44   0.40  5.6 1.1
## NFClo.8.Decisive        821  0.58  0.59  0.55   0.51  5.1 1.4
## NFClo.9.Decisive        821  0.67  0.65  0.62   0.59  4.3 1.6
## NFClo.10.Predictability 821  0.66  0.65  0.61   0.59  4.5 1.5
## NFClo.11.Ambiguity      821  0.69  0.68  0.66   0.63  4.6 1.6
## NFClo.12.Order          821  0.63  0.65  0.64   0.57  5.4 1.2
## NFClo.13.Order          821  0.65  0.68  0.67   0.59  5.4 1.2
## NFClo.14.ClosedMinded   821  0.41  0.39  0.32   0.30  3.4 1.7
## NFClo.15.Predictability 821  0.76  0.76  0.75   0.70  5.0 1.5
## 
## Non missing response frequency for each item
##                            1    2    3    4    5    6    7 miss
## NFClo.1.Ambiguity       0.02 0.05 0.11 0.09 0.32 0.29 0.14    0
## NFClo.2.ClosedMinded    0.06 0.18 0.15 0.17 0.21 0.16 0.07    0
## NFClo.3.Order           0.02 0.03 0.08 0.09 0.30 0.32 0.16    0
## NFClo.4.Ambiguity       0.03 0.07 0.09 0.11 0.31 0.28 0.12    0
## NFClo.5.ClosedMinded    0.09 0.22 0.20 0.15 0.21 0.10 0.03    0
## NFClo.6.Predictability  0.01 0.05 0.08 0.08 0.32 0.33 0.14    0
## NFClo.7.Decisive        0.01 0.02 0.02 0.10 0.28 0.39 0.19    0
## NFClo.8.Decisive        0.01 0.05 0.08 0.12 0.33 0.29 0.13    0
## NFClo.9.Decisive        0.04 0.12 0.19 0.11 0.29 0.16 0.08    0
## NFClo.10.Predictability 0.03 0.09 0.15 0.16 0.28 0.21 0.08    0
## NFClo.11.Ambiguity      0.03 0.11 0.12 0.14 0.28 0.23 0.09    0
## NFClo.12.Order          0.01 0.02 0.06 0.09 0.31 0.34 0.17    0
## NFClo.13.Order          0.01 0.01 0.05 0.08 0.31 0.35 0.18    0
## NFClo.14.ClosedMinded   0.12 0.26 0.22 0.12 0.13 0.11 0.05    0
## NFClo.15.Predictability 0.02 0.06 0.10 0.13 0.28 0.26 0.14    0
hb$need_for_closure_mean <- rowMeans(nfc_df)

Hypothesis Test

# Simple Test
test <- lm(hb$Hostile.Bias.Mean ~ hb$zsm_mean)
summary(test)
## 
## Call:
## lm(formula = hb$Hostile.Bias.Mean ~ hb$zsm_mean)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.7440 -0.1887  0.0109  0.1782  0.8892 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -0.323111   0.023162 -13.950  < 2e-16 ***
## hb$zsm_mean  0.055900   0.006938   8.057 2.75e-15 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.269 on 819 degrees of freedom
## Multiple R-squared:  0.07345,    Adjusted R-squared:  0.07231 
## F-statistic: 64.92 on 1 and 819 DF,  p-value: 2.751e-15
#Standardized Estimates
test <- lm(scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean))
summary(test)
## 
## Call:
## lm(formula = scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.6643 -0.6757  0.0390  0.6381  3.1842 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        1.042e-15  3.361e-02   0.000        1    
## scale(hb$zsm_mean) 2.710e-01  3.364e-02   8.057 2.75e-15 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9632 on 819 degrees of freedom
## Multiple R-squared:  0.07345,    Adjusted R-squared:  0.07231 
## F-statistic: 64.92 on 1 and 819 DF,  p-value: 2.751e-15
confint(test)
##                          2.5 %     97.5 %
## (Intercept)        -0.06598107 0.06598107
## scale(hb$zsm_mean)  0.20498649 0.33702906
# Robustness Checks

# Controlling for Need for Closure
test <- lm(scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean) + scale(hb$need_for_closure_mean))
summary(test)
## 
## Call:
## lm(formula = scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean) + 
##     scale(hb$need_for_closure_mean))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.50118 -0.66027  0.01164  0.66277  2.99984 
## 
## Coefficients:
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                     1.505e-15  3.289e-02   0.000        1    
## scale(hb$zsm_mean)              2.058e-01  3.458e-02   5.952 3.93e-09 ***
## scale(hb$need_for_closure_mean) 2.122e-01  3.458e-02   6.138 1.30e-09 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9423 on 818 degrees of freedom
## Multiple R-squared:  0.1142, Adjusted R-squared:  0.1121 
## F-statistic: 52.75 on 2 and 818 DF,  p-value: < 2.2e-16
# Demographic covariates
test <- lm(scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean) + scale(hb$age) + scale(hb$income) + hb$sex + scale(hb$education) + hb$race)
summary(test)
## 
## Call:
## lm(formula = scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean) + 
##     scale(hb$age) + scale(hb$income) + hb$sex + scale(hb$education) + 
##     hb$race)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.6468 -0.6671  0.0343  0.6784  3.1801 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            0.179714   0.100564   1.787  0.07431 .  
## scale(hb$zsm_mean)     0.240427   0.036044   6.670 4.77e-11 ***
## scale(hb$age)          0.008091   0.034609   0.234  0.81521    
## scale(hb$income)      -0.013942   0.035644  -0.391  0.69579    
## hb$sexMale             0.146803   0.068151   2.154  0.03153 *  
## hb$sexOther            0.616592   0.393541   1.567  0.11756    
## scale(hb$education)   -0.077064   0.035512  -2.170  0.03030 *  
## hb$raceEast Asian     -0.327982   0.190870  -1.718  0.08612 .  
## hb$raceIndigenous      0.235165   0.956979   0.246  0.80595    
## hb$raceLatinx         -0.043523   0.165897  -0.262  0.79312    
## hb$raceMiddle Eastern -1.794271   0.964581  -1.860  0.06323 .  
## hb$raceMixed          -0.456962   0.183332  -2.493  0.01289 *  
## hb$raceOther          -0.756003   0.401696  -1.882  0.06020 .  
## hb$raceWhite          -0.298706   0.103842  -2.877  0.00413 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9516 on 797 degrees of freedom
##   (10 observations deleted due to missingness)
## Multiple R-squared:  0.1067, Adjusted R-squared:  0.09213 
## F-statistic: 7.323 on 13 and 797 DF,  p-value: 1.1e-13
# Adding demographic and Need for closure
test <- lm(scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean) + scale(hb$age) + scale(hb$income) + hb$sex +  scale(hb$education) + hb$race + scale(hb$need_for_closure_mean))
summary(test)
## 
## Call:
## lm(formula = scale(hb$Hostile.Bias.Mean) ~ scale(hb$zsm_mean) + 
##     scale(hb$age) + scale(hb$income) + hb$sex + scale(hb$education) + 
##     hb$race + scale(hb$need_for_closure_mean))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.59503 -0.65318  0.02632  0.64034  3.13230 
## 
## Coefficients:
##                                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                      0.131880   0.098424   1.340  0.18066    
## scale(hb$zsm_mean)               0.163370   0.037183   4.394 1.27e-05 ***
## scale(hb$age)                   -0.004867   0.033836  -0.144  0.88567    
## scale(hb$income)                -0.034845   0.034938  -0.997  0.31891    
## hb$sexMale                       0.195318   0.066939   2.918  0.00362 ** 
## hb$sexOther                      0.576925   0.384102   1.502  0.13349    
## scale(hb$education)             -0.078761   0.034657  -2.273  0.02332 *  
## hb$raceEast Asian               -0.197640   0.187381  -1.055  0.29186    
## hb$raceIndigenous                0.359517   0.934107   0.385  0.70043    
## hb$raceLatinx                   -0.036442   0.161901  -0.225  0.82197    
## hb$raceMiddle Eastern           -1.813106   0.941328  -1.926  0.05445 .  
## hb$raceMixed                    -0.414992   0.179032  -2.318  0.02070 *  
## hb$raceOther                    -0.766593   0.392014  -1.956  0.05087 .  
## hb$raceWhite                    -0.275849   0.101401  -2.720  0.00666 ** 
## scale(hb$need_for_closure_mean)  0.222808   0.034851   6.393 2.77e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9287 on 796 degrees of freedom
##   (10 observations deleted due to missingness)
## Multiple R-squared:  0.1503, Adjusted R-squared:  0.1354 
## F-statistic: 10.06 on 14 and 796 DF,  p-value: < 2.2e-16
ggplot(hb, aes(hb$zsm_mean, scale(hb$Hostile.Bias.Mean))) +
  geom_smooth(method = lm, color = "red") +
  xlab("Zero-Sum Mindset") +
  ylab("Hostile Attribution Bias (Standardized)") +
  theme_classic() +
  geom_jitter() +
  theme(axis.text = element_text(size = 14),
        axis.title.x = element_text(size = 18),
        axis.title.y = element_text(size = 18))