This study utilizes the classic “Trust Game” paradigm to examine whether zero-sum mindset predicts lower trust and cooperation behavior even when such behavior is economically incentivized.
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(here)
## here() starts at /Users/patricia/Desktop/JPJP R&R 2 /The_Zero-Sum_Mindset
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ readr 2.1.5
## ✔ ggplot2 3.5.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(readr)
library(apaTables)
library(psych)
##
## Attaching package: 'psych'
##
## The following objects are masked from 'package:ggplot2':
##
## %+%, alpha
# Loading Sample J
sj <- read_csv(here("data", "s14.csv"))
## Rows: 599 Columns: 27
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): income, sex, political_orientation
## dbl (24): zsm_1, zsm_2, zsm_3, zsm_4, zsm_5, zsm_6, zsm_7, zsm_mean, att_che...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Zero-Sum Mindset will predict lower behavioral trust (measured as number of tickets sent in the first round).
#R1_P1_sends -- Round 1, Player 1 (< participant) amount sent
colnames(sj)
## [1] "zsm_1" "zsm_2" "zsm_3"
## [4] "zsm_4" "zsm_5" "zsm_6"
## [7] "zsm_7" "zsm_mean" "att_check"
## [10] "R1_P1_sends" "R2_P1_sendsback" "P1_final"
## [13] "age" "income" "income_numeric"
## [16] "sex" "sex_numeric" "education"
## [19] "political_orientation" "real_player" "game_motives_1"
## [22] "game_motives_2" "game_motives_3" "game_motives_4"
## [25] "fair_game" "fair_player2" "fair_yourbehavior"
# Simple Test
test <- lm(sj$R1_P1_sends ~ sj$zsm_mean)
summary(test)
##
## Call:
## lm(formula = sj$R1_P1_sends ~ sj$zsm_mean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -49.59 -23.41 0.41 13.77 65.59
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 52.352 3.779 13.854 <2e-16 ***
## sj$zsm_mean -2.762 1.288 -2.144 0.0324 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 31.01 on 597 degrees of freedom
## Multiple R-squared: 0.007644, Adjusted R-squared: 0.005982
## F-statistic: 4.599 on 1 and 597 DF, p-value: 0.0324
# Examining Correlates
colnames(sj)
## [1] "zsm_1" "zsm_2" "zsm_3"
## [4] "zsm_4" "zsm_5" "zsm_6"
## [7] "zsm_7" "zsm_mean" "att_check"
## [10] "R1_P1_sends" "R2_P1_sendsback" "P1_final"
## [13] "age" "income" "income_numeric"
## [16] "sex" "sex_numeric" "education"
## [19] "political_orientation" "real_player" "game_motives_1"
## [22] "game_motives_2" "game_motives_3" "game_motives_4"
## [25] "fair_game" "fair_player2" "fair_yourbehavior"
covariates <- select(sj, 8:19)
covariates <- select(covariates, -att_check)
colnames(covariates)
## [1] "zsm_mean" "R1_P1_sends" "R2_P1_sendsback"
## [4] "P1_final" "age" "income"
## [7] "income_numeric" "sex" "sex_numeric"
## [10] "education" "political_orientation"
apa.cor.table(covariates)
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2 3
## 1. zsm_mean 2.76 0.98
##
## 2. R1_P1_sends 44.72 31.10 -.09*
## [-.17, -.01]
##
## 3. R2_P1_sendsback 61.89 73.21 .00 .63**
## [-.08, .08] [.58, .67]
##
## 4. P1_final 194.95 84.72 -.12** .74** -.06
## [-.19, -.04] [.70, .77] [-.14, .02]
##
## 5. age 37.89 13.58 -.07 -.06 .01
## [-.15, .01] [-.14, .02] [-.07, .09]
##
## 6. income_numeric 2.84 1.69 -.05 .02 .08
## [-.14, .03] [-.06, .11] [-.00, .17]
##
## 7. sex_numeric 0.44 0.50 .15** .17** .09*
## [.07, .23] [.09, .24] [.01, .17]
##
## 8. education 4.25 1.36 -.06 .05 .08*
## [-.14, .02] [-.03, .13] [.00, .16]
##
## 4 5 6 7
##
##
##
##
##
##
##
##
##
##
##
## -.08*
## [-.16, -.00]
##
## -.04 .14**
## [-.13, .04] [.05, .22]
##
## .14** -.06 .21**
## [.06, .21] [-.14, .02] [.13, .29]
##
## -.01 -.01 .33** -.04
## [-.09, .07] [-.09, .07] [.25, .40] [-.12, .04]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
# With Correlated Covariates
test <- lm(sj$R1_P1_sends ~ sj$zsm_mean + sj$sex_numeric)
summary(test)
##
## Call:
## lm(formula = sj$R1_P1_sends ~ sj$zsm_mean + sj$sex_numeric)
##
## Residuals:
## Min 1Q Median 3Q Max
## -57.643 -22.373 -2.419 17.030 71.210
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 49.686 3.763 13.205 < 2e-16 ***
## sj$zsm_mean -3.657 1.282 -2.852 0.0045 **
## sj$sex_numeric 11.613 2.539 4.574 5.84e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 30.5 on 596 degrees of freedom
## Multiple R-squared: 0.04129, Adjusted R-squared: 0.03807
## F-statistic: 12.83 on 2 and 596 DF, p-value: 3.489e-06
# With All Covariates - Note: 60 participants chose not to report income so this reduces sample by 60 participants
test <- lm(scale(sj$R1_P1_sends) ~ scale(sj$zsm_mean) + sj$sex_numeric + scale(sj$income_numeric) + scale(sj$education) + scale(sj$age) + sj$real_player)
summary(test)
##
## Call:
## lm(formula = scale(sj$R1_P1_sends) ~ scale(sj$zsm_mean) + sj$sex_numeric +
## scale(sj$income_numeric) + scale(sj$education) + scale(sj$age) +
## sj$real_player)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.79060 -0.76670 -0.07559 0.59316 2.05737
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.07706 0.14217 0.542 0.5880
## scale(sj$zsm_mean) -0.10010 0.04300 -2.328 0.0203 *
## sj$sex_numeric 0.36742 0.09108 4.034 6.29e-05 ***
## scale(sj$income_numeric) -0.03501 0.04756 -0.736 0.4619
## scale(sj$education) 0.06686 0.04617 1.448 0.1482
## scale(sj$age) -0.04865 0.04425 -1.100 0.2720
## sj$real_player -0.05953 0.03919 -1.519 0.1294
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9962 on 531 degrees of freedom
## (61 observations deleted due to missingness)
## Multiple R-squared: 0.04366, Adjusted R-squared: 0.03286
## F-statistic: 4.041 on 6 and 531 DF, p-value: 0.0005696
Zero-Sum Mindset will predict stronger motive to “beat” the other player – positioning them as a rival instead of as a partner.
motive_corr_table <- select(sj, zsm_mean, R1_P1_sends, R2_P1_sendsback, P1_final, contains("motive"))
apa.cor.table(motive_corr_table)
##
##
## Means, standard deviations, and correlations with confidence intervals
##
##
## Variable M SD 1 2 3
## 1. zsm_mean 2.76 0.98
##
## 2. R1_P1_sends 44.72 31.10 -.09*
## [-.17, -.01]
##
## 3. R2_P1_sendsback 61.89 73.21 .00 .63**
## [-.08, .08] [.58, .67]
##
## 4. P1_final 194.95 84.72 -.12** .74** -.06
## [-.19, -.04] [.70, .77] [-.14, .02]
##
## 5. game_motives_1 1.54 1.02 .09* .02 -.16**
## [.01, .17] [-.06, .10] [-.23, -.08]
##
## 6. game_motives_2 0.97 1.08 .17** -.32** -.40**
## [.09, .25] [-.39, -.24] [-.47, -.33]
##
## 7. game_motives_3 1.99 0.88 -.12** .05 .03
## [-.19, -.04] [-.03, .13] [-.05, .11]
##
## 8. game_motives_4 1.92 1.02 -.13** .26** .34**
## [-.21, -.05] [.19, .34] [.27, .41]
##
## 4 5 6 7
##
##
##
##
##
##
##
##
##
##
##
## .17**
## [.09, .24]
##
## -.06 .46**
## [-.14, .02] [.40, .52]
##
## .03 -.03 .05
## [-.05, .11] [-.11, .05] [-.03, .13]
##
## .04 -.38** -.43** .15**
## [-.04, .12] [-.44, -.30] [-.50, -.37] [.07, .23]
##
##
## Note. M and SD are used to represent mean and standard deviation, respectively.
## Values in square brackets indicate the 95% confidence interval.
## The confidence interval is a plausible range of population correlations
## that could have caused the sample correlation (Cumming, 2014).
## * indicates p < .05. ** indicates p < .01.
##
#Earn as many tickets as possible
test <- lm(scale(sj$game_motives_1) ~ scale(sj$zsm_mean) + sj$sex + scale(sj$income_numeric) + scale(sj$education) + scale(sj$age))
summary(test)
##
## Call:
## lm(formula = scale(sj$game_motives_1) ~ scale(sj$zsm_mean) +
## sj$sex + scale(sj$income_numeric) + scale(sj$education) +
## scale(sj$age))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.97899 -0.71628 0.09465 0.64659 1.68804
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.148613 0.058790 -2.528 0.0118 *
## scale(sj$zsm_mean) 0.051533 0.042400 1.215 0.2247
## sj$sexMale 0.394879 0.088889 4.442 1.08e-05 ***
## scale(sj$income_numeric) -0.016767 0.046863 -0.358 0.7207
## scale(sj$education) 0.003063 0.045488 0.067 0.9463
## scale(sj$age) -0.045324 0.043356 -1.045 0.2963
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9824 on 532 degrees of freedom
## (61 observations deleted due to missingness)
## Multiple R-squared: 0.04677, Adjusted R-squared: 0.03781
## F-statistic: 5.22 on 5 and 532 DF, p-value: 0.0001089
#Earn more than the other player
test <- lm(scale(sj$game_motives_2) ~ scale(sj$zsm_mean) + sj$sex + scale(sj$income_numeric) + scale(sj$education) + scale(sj$age))
summary(test)
##
## Call:
## lm(formula = scale(sj$game_motives_2) ~ scale(sj$zsm_mean) +
## sj$sex + scale(sj$income_numeric) + scale(sj$education) +
## scale(sj$age))
##
## Residuals:
## Min 1Q Median 3Q Max
## -1.5178 -0.8191 -0.2460 0.8726 2.2349
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.010393 0.059200 -0.176 0.8607
## scale(sj$zsm_mean) 0.167709 0.042695 3.928 9.69e-05 ***
## sj$sexMale 0.009443 0.089509 0.105 0.9160
## scale(sj$income_numeric) 0.061724 0.047190 1.308 0.1914
## scale(sj$education) -0.090534 0.045806 -1.976 0.0486 *
## scale(sj$age) -0.011544 0.043658 -0.264 0.7916
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9893 on 532 degrees of freedom
## (61 observations deleted due to missingness)
## Multiple R-squared: 0.03809, Adjusted R-squared: 0.02905
## F-statistic: 4.214 on 5 and 532 DF, p-value: 0.000915
#
test <- lm(scale(sj$game_motives_3) ~ scale(sj$zsm_mean) + sj$sex + scale(sj$income_numeric) + scale(sj$education) + scale(sj$age))
summary(test)
##
## Call:
## lm(formula = scale(sj$game_motives_3) ~ scale(sj$zsm_mean) +
## sj$sex + scale(sj$income_numeric) + scale(sj$education) +
## scale(sj$age))
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.51652 -0.93089 0.01674 0.99966 1.51501
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.099230 0.059375 1.671 0.0953 .
## scale(sj$zsm_mean) -0.089298 0.042821 -2.085 0.0375 *
## sj$sexMale -0.213936 0.089772 -2.383 0.0175 *
## scale(sj$income_numeric) 0.047574 0.047329 1.005 0.3153
## scale(sj$education) -0.001603 0.045941 -0.035 0.9722
## scale(sj$age) -0.026411 0.043787 -0.603 0.5467
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9922 on 532 degrees of freedom
## (61 observations deleted due to missingness)
## Multiple R-squared: 0.02294, Adjusted R-squared: 0.01376
## F-statistic: 2.498 on 5 and 532 DF, p-value: 0.02991
#
test <- lm(scale(sj$game_motives_4) ~ scale(sj$zsm_mean) + sj$sex + scale(sj$income_numeric) + scale(sj$education) + scale(sj$age))
summary(test)
##
## Call:
## lm(formula = scale(sj$game_motives_4) ~ scale(sj$zsm_mean) +
## sj$sex + scale(sj$income_numeric) + scale(sj$education) +
## scale(sj$age))
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.14869 -0.76216 0.07768 0.89670 1.51763
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.12496 0.05900 2.118 0.03466 *
## scale(sj$zsm_mean) -0.09297 0.04255 -2.185 0.02935 *
## sj$sexMale -0.23682 0.08921 -2.655 0.00818 **
## scale(sj$income_numeric) -0.03243 0.04703 -0.689 0.49084
## scale(sj$education) 0.04726 0.04565 1.035 0.30104
## scale(sj$age) 0.04556 0.04351 1.047 0.29552
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.986 on 532 degrees of freedom
## (61 observations deleted due to missingness)
## Multiple R-squared: 0.03309, Adjusted R-squared: 0.024
## F-statistic: 3.642 on 5 and 532 DF, p-value: 0.003006
#Final Tickets/Earnings
final_earning_test <- lm(sj$P1_final ~ sj$zsm_mean)
summary(final_earning_test)
##
## Call:
## lm(formula = sj$P1_final ~ sj$zsm_mean)
##
## Residuals:
## Min 1Q Median 3Q Max
## -205.74 -56.67 -13.39 41.39 283.24
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 222.277 10.265 21.655 < 2e-16 ***
## sj$zsm_mean -9.890 3.499 -2.826 0.00487 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 84.23 on 596 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.01323, Adjusted R-squared: 0.01157
## F-statistic: 7.988 on 1 and 596 DF, p-value: 0.004866
final_earning_test <- lm(scale(sj$P1_final) ~ scale(sj$zsm_mean))
summary(final_earning_test)
##
## Call:
## lm(formula = scale(sj$P1_final) ~ scale(sj$zsm_mean))
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4283 -0.6689 -0.1581 0.4885 3.3431
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -4.614e-05 4.066e-02 -0.001 0.99909
## scale(sj$zsm_mean) -1.149e-01 4.066e-02 -2.826 0.00487 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9942 on 596 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.01323, Adjusted R-squared: 0.01157
## F-statistic: 7.988 on 1 and 596 DF, p-value: 0.004866
final_earning_test <- lm(scale(sj$P1_final) ~ scale(sj$zsm_mean) + sj$sex)
summary(final_earning_test)
##
## Call:
## lm(formula = scale(sj$P1_final) ~ scale(sj$zsm_mean) + sj$sex)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.6328 -0.6371 -0.1429 0.4644 3.5545
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.13972 0.05415 -2.580 0.010108 *
## scale(sj$zsm_mean) -0.13887 0.04067 -3.414 0.000683 ***
## sj$sexMale 0.31517 0.08187 3.849 0.000131 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.9829 on 595 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.0372, Adjusted R-squared: 0.03397
## F-statistic: 11.5 on 2 and 595 DF, p-value: 1.263e-05
final_earning_test <- lm(sj$P1_final ~ sj$zsm_mean + sj$sex)
summary(final_earning_test)
##
## Call:
## lm(formula = sj$P1_final ~ sj$zsm_mean + sj$sex)
##
## Residuals:
## Min 1Q Median 3Q Max
## -223.06 -53.98 -12.11 39.35 301.15
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 216.141 10.272 21.042 < 2e-16 ***
## sj$zsm_mean -11.952 3.501 -3.414 0.000683 ***
## sj$sexMale 26.703 6.937 3.849 0.000131 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 83.27 on 595 degrees of freedom
## (1 observation deleted due to missingness)
## Multiple R-squared: 0.0372, Adjusted R-squared: 0.03397
## F-statistic: 11.5 on 2 and 595 DF, p-value: 1.263e-05
#Final Tickets/Earnings Descriptives
describe(sj$P1_final)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 598 194.95 84.72 180 187.45 66.72 0 450 450 0.93 1.26 3.46
describe(sj$zsm_mean)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 599 2.76 0.98 2.57 2.68 0.85 1 6.86 5.86 0.83 0.69 0.04
2.76 + 0.98 # Mean + 1 SD
## [1] 3.74
2.76 - 0.98 # Mean + 1 SD
## [1] 1.78
high_zsm_df <- filter(sj, sj$zsm_mean > 3.74)
low_zsm_df <- filter(sj, sj$zsm_mean < 1.78)
describe(high_zsm_df$P1_final)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 93 184.09 97.57 158 172.75 69.68 0 450 450 1.04 1.09 10.12
describe(low_zsm_df$P1_final)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 79 223.82 95.04 200 216.82 88.96 1 450 449 0.6 -0.05 10.69
# Mean differences: 223.82 - 184.09 = 39.74
# Median differences: 200-158 = 42
describe(high_zsm_df$R1_P1_sends) # Median = 33
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 93 41.1 33.21 33 38.96 34.1 0 100 100 0.58 -0.81 3.44
describe(low_zsm_df$R1_P1_sends) # Median = 50
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 79 55.52 32.92 50 56.48 37.06 0 100 100 0.07 -1.22 3.7
hist(high_zsm_df$R1_P1_sends)
hist(low_zsm_df$R1_P1_sends)
summary(high_zsm_df$R1_P1_sends>50) # 23.6% of those high in ZSM sent more than 50% / or 76% sent less than 50%
## Mode FALSE TRUE
## logical 71 22
summary(high_zsm_df$R1_P1_sends==100) #14%
## Mode FALSE TRUE
## logical 80 13
summary(high_zsm_df$R1_P1_sends==0) # 12%
## Mode FALSE TRUE
## logical 82 11
summary(low_zsm_df$R1_P1_sends>50) # 37%
## Mode FALSE TRUE
## logical 50 29
summary(low_zsm_df$R1_P1_sends==100) #25%
## Mode FALSE TRUE
## logical 59 20
summary(low_zsm_df$R1_P1_sends==0) # 6%
## Mode FALSE TRUE
## logical 74 5