0. import all datasets used for processing or analyses

library(psych)
library(lme4)
## Loading required package: Matrix
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(lmerTest)
## 
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
## 
##     lmer
## The following object is masked from 'package:stats':
## 
##     step
library(ggplot2)
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
library(sjPlot)
## Learn more about sjPlot with 'browseVignettes("sjPlot")'.
setwd("C:/Users/Dani Grant/OneDrive/Desktop")

d1all <- read.csv("Aggregated_NSF_COVID19_JulyAugust_2020.csv", na.strings = c("", " ", NA), stringsAsFactors = F)

d1US <- read.csv("Covid-19_NSF_RAPID_US_Cleaned1.csv", na.strings = c("", " ", NA), stringsAsFactors = F)
d2US <- read.csv("Covid-19_NSF_RAPID_US_Wave2_Cleaned.csv", header = T, na.strings = c("", " ", NA), stringsAsFactors = F)

dUSw1w2 <- merge(d1US, d2US, by = c("s3"))

1. Wave 1 All Countries - study 1a & 1b

a. Demographics

nrow(d1all) #N = 12995
## [1] 12955
# N by country
table(d1all$country_factor)
## 
## Brazil Israel  Italy  Korea Sweden     UK     US 
##   1500   1958   1586   1484   1589   1520   3318
#Brazil Israel  Italy  Korea Sweden     UK     US 
#  1500   1958   1586   1484   1589   1520   3318 

# age mean and sd
d1all$age <- as.numeric(as.character(d1all$age))
## Warning: NAs introduced by coercion
# exclude participants out of proper age range
d1all <- d1all[d1all$age < 100,] # 2 participants excluded
d1all <- d1all[d1all$age > 17,] # 2 participants excluded

# descriptive stats about age
describe(d1all$age)
##    vars     n  mean    sd median trimmed   mad min max range skew kurtosis   se
## X1    1 11871 43.52 15.74     42   42.85 17.79  18  93    75 0.32    -0.85 0.14
# N by gender: F = 1, M = 2, 3 = Other
table(d1all$gender)
## 
##    1    2    3 
## 6033 5787   34
#   1    2    3 
# 6033 5787   34 

b. Economic Scenario (Study 1a)

i. subset for economic gains scenario

# 3 = introspection condition econ
# 4 = control condition econ

# We subset data the data such that we only use participants in the survey who completed the scenario for Study 1. This includes 667 participants who quit the survey before arriving at this portion, as well as 6072 participants who were assigned to a different condition.

# The remaining sample should include 6216 participants. 

nrowOld <- nrow(d1all)
de <- d1all[d1all$Introspection_Condition %in% c(3,4),]

paste0("Did not complete study n = ", nrowOld - nrow(de)) #6739
## [1] "Did not complete study n = 6942"
paste0("Study n = ", nrow(de)) #6216
## [1] "Study n = 6009"
### Dropping unusable cases

### We drop 28 participants who completed the study but did not respond to the DV (19 in the Introspection Condition, 9 in the Control condition).

numRowOld <- nrow(de)

de <- de[!(is.na(de$decLikelihoodCtrl) & de$Introspection_Condition==4),]
de <- de[!(is.na(de$decLikelihood) & de$Introspection_Condition==3),]

paste0("Dropped number = ", numRowOld - nrow(de)) #28
## [1] "Dropped number = 2"
paste0("Study sample = ", nrow(de)) #6188
## [1] "Study sample = 6007"
paste0("participants assigned to introspection = ", table(de$Introspection_Condition == 3)) 
## [1] "participants assigned to introspection = 2961"
## [2] "participants assigned to introspection = 3046"
paste0("participants assigned to control = ", table(de$Introspection_Condition == 4)) 
## [1] "participants assigned to control = 3046"
## [2] "participants assigned to control = 2961"

ii. recode variables for economic gains scenario

# As Factor
de$introC <- case_when(
  de$Introspection_Condition == 3 ~ .5,
  de$Introspection_Condition == 4 ~ -.5
)


#Contrast code conditions
de$introC <- case_when(
  de$Introspection_Condition == 3 ~ .5,
  de$Introspection_Condition == 4 ~ -.5
)

  # As Factor
de$introFactor <- case_when(
  de$Introspection_Condition == 3 ~ "Introspection",
  de$Introspection_Condition == 4 ~ "Control"
)

#Put responses together from two columns into one (there is one column for each condition in the raw qualtrics output)

  #DV

de$decLik <- case_when(
  de$Introspection_Condition == 3 ~ de$decLikelihood,
  de$Introspection_Condition == 4 ~ de$decLikelihoodCtrl
)


  #Self-reported weights

de$econW <- case_when(
  de$Introspection_Condition == 3 ~ de$intEcon,
  de$Introspection_Condition == 4 ~ de$intEconCtrl
)

de$riskW <- case_when(
  de$Introspection_Condition == 3 ~ de$intRisk,
  de$Introspection_Condition == 4 ~ de$intRiskCtrl
)


  #Subjective Utilities
de$econNegU <- de$econDecline
de$riskU <- de$spreadLikelihoodEcon

  #Difference scores
de$diffW <- de$riskW - de$econW
de$ediffU <- de$riskU - de$econNegU

iii. Economic gains descriptives

#import dataset jairo used for analyses
de <- read.csv("EconIntrospectionDataStudy1Processed.csv")

de$decLik <- de$decLik + 4


studyVars <- c("decLik","econW","riskW","econNegU","riskU","diffW","diffU")
describe(de[,studyVars])
##          vars    n  mean   sd median trimmed  mad min max range  skew kurtosis
## decLik      1 6188  5.05 1.69      5    5.24 1.48   1   7     6 -0.75    -0.30
## econW       2 6175  4.17 1.64      4    4.20 1.48   1   7     6 -0.18    -0.65
## riskW       3 6176  5.09 1.56      5    5.24 1.48   1   7     6 -0.67    -0.06
## econNegU    4 6176  5.13 1.33      5    5.22 1.48   1   7     6 -0.58     0.15
## riskU       5 6176  1.18 1.55      1    1.35 1.48  -3   3     6 -0.78    -0.01
## diffW       6 6167  0.91 2.18      1    0.84 1.48  -6   6    12  0.22     0.54
## diffU       7 6173 -3.94 1.92     -4   -3.85 1.48 -10   2    12 -0.45     0.67
##            se
## decLik   0.02
## econW    0.02
## riskW    0.02
## econNegU 0.02
## riskU    0.02
## diffW    0.03
## diffU    0.02

iv. Descriptive statistics by condition:

describeBy(
  de[,studyVars],
  group = de$introFactor)
## 
##  Descriptive statistics by group 
## group: Control
##          vars    n  mean   sd median trimmed  mad min max range  skew kurtosis
## decLik      1 3055  4.91 1.73      5    5.07 1.48   1   7     6 -0.64    -0.51
## econW       2 3043  4.15 1.60      4    4.18 1.48   1   7     6 -0.17    -0.61
## riskW       3 3046  5.06 1.59      5    5.21 1.48   1   7     6 -0.61    -0.26
## econNegU    4 3048  5.08 1.33      5    5.17 1.48   1   7     6 -0.54     0.05
## riskU       5 3049  1.18 1.56      1    1.35 1.48  -3   3     6 -0.79    -0.02
## diffW       6 3038  0.90 2.18      1    0.85 1.48  -6   6    12  0.19     0.52
## diffU       7 3047 -3.91 1.91     -4   -3.82 1.48 -10   2    12 -0.43     0.61
##            se
## decLik   0.03
## econW    0.03
## riskW    0.03
## econNegU 0.02
## riskU    0.03
## diffW    0.04
## diffU    0.03
## ------------------------------------------------------------ 
## group: Introspection
##          vars    n  mean   sd median trimmed  mad min max range  skew kurtosis
## decLik      1 3133  5.19 1.64      6    5.40 1.48   1   7     6 -0.86    -0.03
## econW       2 3132  4.20 1.67      4    4.22 1.48   1   7     6 -0.18    -0.68
## riskW       3 3130  5.12 1.52      5    5.27 1.48   1   7     6 -0.72     0.16
## econNegU    4 3128  5.17 1.32      5    5.27 1.48   1   7     6 -0.62     0.26
## riskU       5 3127  1.19 1.55      1    1.36 1.48  -3   3     6 -0.77     0.00
## diffW       6 3129  0.92 2.18      0    0.84 1.48  -6   6    12  0.26     0.56
## diffU       7 3126 -3.98 1.92     -4   -3.88 1.48 -10   2    12 -0.46     0.72
##            se
## decLik   0.03
## econW    0.03
## riskW    0.03
## econNegU 0.02
## riskU    0.03
## diffW    0.04
## diffU    0.03

v. t.tests for riskW vs. econW

t.test(de$riskW,de$econW, paired = T)
## 
##  Paired t-test
## 
## data:  de$riskW and de$econW
## t = 32.814, df = 6166, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.8560968 0.9648858
## sample estimates:
## mean of the differences 
##               0.9104913

vi. t.tests for condition differences for subjective weight for economic concerns

t.test(de$econW ~ de$introC)
## 
##  Welch Two Sample t-test
## 
## data:  de$econW by de$introC
## t = -1.0459, df = 6171.7, p-value = 0.2957
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.12517858  0.03807773
## sample estimates:
## mean in group -0.5  mean in group 0.5 
##            4.15281            4.19636

vii. t.tests for subjective weight for risk

t.test(de$riskW ~ de$introC)
## 
##  Welch Two Sample t-test
## 
## data:  de$riskW by de$introC
## t = -1.5593, df = 6139.2, p-value = 0.119
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.1394488  0.0158916
## sample estimates:
## mean in group -0.5  mean in group 0.5 
##           5.055154           5.116933

viii. Model 1 - decLik ~ introC

m1 <- lmer(decLik ~ introC + 
             (introC | country_factor), data = de)
summary(m1)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: decLik ~ introC + (introC | country_factor)
##    Data: de
## 
## REML criterion at convergence: 23738
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7742 -0.5971  0.2707  0.8622  1.6959 
## 
## Random effects:
##  Groups         Name        Variance Std.Dev. Corr 
##  country_factor (Intercept) 0.17046  0.4129        
##                 introC      0.03207  0.1791   -0.34
##  Residual                   2.69633  1.6421        
## Number of obs: 6188, groups:  country_factor, 7
## 
## Fixed effects:
##             Estimate Std. Error      df t value Pr(>|t|)    
## (Intercept)  5.03363    0.15754 5.98736  31.952 6.42e-08 ***
## introC       0.28888    0.08012 5.86569   3.605   0.0117 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr)
## introC -0.289

ix. Model 2 - decLik ~ introC * (riskW + econW)

## mean center IVs
de$econW.c <- de$econW - mean(de$econW, na.rm = T)
de$riskW.c <- de$riskW - mean(de$riskW, na.rm = T)

m2 <- lmer(decLik ~ introC * (econW.c + riskW.c) +
             (introC + econW.c + riskW.c | country_factor), data = de)

summary(m2)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: decLik ~ introC * (econW.c + riskW.c) + (introC + econW.c + riskW.c |  
##     country_factor)
##    Data: de
## 
## REML criterion at convergence: 21959.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8064 -0.4823  0.1602  0.6478  3.2411 
## 
## Random effects:
##  Groups         Name        Variance Std.Dev. Corr             
##  country_factor (Intercept) 0.10111  0.3180                    
##                 introC      0.03119  0.1766   -0.32            
##                 econW.c     0.02490  0.1578   -0.10 -0.37      
##                 riskW.c     0.01617  0.1272    0.21  0.60 -0.52
##  Residual                   2.02990  1.4247                    
## Number of obs: 6167, groups:  country_factor, 7
## 
## Fixed effects:
##                  Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)       5.01065    0.12176    5.97530  41.153 1.46e-08 ***
## introC            0.26632    0.07643    5.84383   3.485 0.013640 *  
## econW.c          -0.12246    0.06097    5.81993  -2.009 0.092796 .  
## riskW.c           0.44773    0.04987    5.79705   8.978 0.000129 ***
## introC:econW.c   -0.05523    0.02248 5261.38631  -2.456 0.014062 *  
## introC:riskW.c    0.06513    0.02369 5486.99194   2.750 0.005985 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) introC ecnW.c rskW.c intrC:cW.
## introC      -0.274                               
## econW.c     -0.101 -0.317                        
## riskW.c      0.206  0.506 -0.498                 
## intrC:cnW.c -0.002  0.000 -0.010  0.000          
## intrC:rskW. -0.002  0.000 -0.002  0.011 -0.073
tab_model(m2)
  decLik
Predictors Estimates CI p
(Intercept) 5.01 4.77 – 5.25 <0.001
introC 0.27 0.12 – 0.42 <0.001
econW.c -0.12 -0.24 – -0.00 0.045
riskW.c 0.45 0.35 – 0.55 <0.001
introC * econW.c -0.06 -0.10 – -0.01 0.014
introC * riskW.c 0.07 0.02 – 0.11 0.006
Random Effects
σ2 2.03
τ00 country_factor 0.10
τ11 country_factor.introC 0.03
τ11 country_factor.econW.c 0.02
τ11 country_factor.riskW.c 0.02
ρ01 -0.32
-0.10
0.21
ICC 0.09
N country_factor 7
Observations 6167
Marginal R2 / Conditional R2 0.191 / 0.267

- Model 2a - decLik ~ intro_0 * (riskW + econW)

# dummy code 
de$int0Cont1 <- (de$introC * - 1) + .5 

m2a <- lmer(decLik ~ int0Cont1 * (econW.c + riskW.c) +
                      (int0Cont1 + econW.c + riskW.c | country_factor), data = de)

summary(m2a)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: decLik ~ int0Cont1 * (econW.c + riskW.c) + (int0Cont1 + econW.c +  
##     riskW.c | country_factor)
##    Data: de
## 
## REML criterion at convergence: 21959.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8064 -0.4823  0.1602  0.6478  3.2411 
## 
## Random effects:
##  Groups         Name        Variance Std.Dev. Corr             
##  country_factor (Intercept) 0.09112  0.3019                    
##                 int0Cont1   0.03120  0.1766    0.04            
##                 econW.c     0.02489  0.1578   -0.22  0.37      
##                 riskW.c     0.01617  0.1272    0.40 -0.60 -0.52
##  Residual                   2.02990  1.4247                    
## Number of obs: 6167, groups:  country_factor, 7
## 
## Fixed effects:
##                     Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)          5.14381    0.11719    5.92288  43.892 1.13e-08 ***
## int0Cont1           -0.26632    0.07644    5.84224  -3.484  0.01365 *  
## econW.c             -0.15008    0.06188    6.18278  -2.425  0.05029 .  
## riskW.c              0.48030    0.05139    6.53394   9.347 5.11e-05 ***
## int0Cont1:econW.c    0.05524    0.02248 5261.27832   2.457  0.01406 *  
## int0Cont1:riskW.c   -0.06513    0.02369 5486.93349  -2.750  0.00599 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##              (Intr) int0C1 ecnW.c rskW.c int0Cnt1:cW.
## int0Cont1    -0.042                                  
## econW.c      -0.205  0.312                           
## riskW.c       0.368 -0.491 -0.479                    
## int0Cnt1:cW.  0.002  0.000 -0.172  0.016             
## int0Cnt1:rW.  0.002  0.000  0.015 -0.241 -0.073
tab_model(m2a)
  decLik
Predictors Estimates CI p
(Intercept) 5.14 4.91 – 5.37 <0.001
int0Cont1 -0.27 -0.42 – -0.12 <0.001
econW.c -0.15 -0.27 – -0.03 0.015
riskW.c 0.48 0.38 – 0.58 <0.001
int0Cont1 * econW.c 0.06 0.01 – 0.10 0.014
int0Cont1 * riskW.c -0.07 -0.11 – -0.02 0.006
Random Effects
σ2 2.03
τ00 country_factor 0.09
τ11 country_factor.int0Cont1 0.03
τ11 country_factor.econW.c 0.02
τ11 country_factor.riskW.c 0.02
ρ01 0.04
-0.22
0.40
ICC 0.09
N country_factor 7
Observations 6167
Marginal R2 / Conditional R2 0.191 / 0.267

- Model 2b - decLik ~ control_0 * (riskW + econW)

# dummy code 
de$cont0Int1 <- de$introC + .5

m2b <- lmer(decLik ~ cont0Int1 * (econW.c + riskW.c) +
                      (cont0Int1 + econW.c + riskW.c | country_factor), data = de)

summary(m2b)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: decLik ~ cont0Int1 * (econW.c + riskW.c) + (cont0Int1 + econW.c +  
##     riskW.c | country_factor)
##    Data: de
## 
## REML criterion at convergence: 21959.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8064 -0.4824  0.1602  0.6478  3.2411 
## 
## Random effects:
##  Groups         Name        Variance Std.Dev. Corr             
##  country_factor (Intercept) 0.12668  0.3559                    
##                 cont0Int1   0.03121  0.1767   -0.53            
##                 econW.c     0.02490  0.1578    0.00 -0.37      
##                 riskW.c     0.01616  0.1271    0.04  0.60 -0.52
##  Residual                   2.02990  1.4247                    
## Number of obs: 6167, groups:  country_factor, 7
## 
## Fixed effects:
##                     Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)          4.87749    0.13724    5.98271  35.540 3.44e-08 ***
## cont0Int1            0.26632    0.07645    5.84004   3.484 0.013666 *  
## econW.c             -0.09484    0.06210    6.26563  -1.527 0.175460    
## riskW.c              0.41516    0.05112    6.40805   8.122 0.000133 ***
## cont0Int1:econW.c   -0.05524    0.02248 5261.34397  -2.457 0.014057 *  
## cont0Int1:riskW.c    0.06513    0.02369 5486.99555   2.750 0.005985 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##              (Intr) cnt0I1 ecnW.c rskW.c cnt0Int1:cW.
## cont0Int1    -0.522                                  
## econW.c      -0.001 -0.311                           
## riskW.c       0.041  0.494 -0.480                    
## cnt0Int1:cW. -0.002  0.000 -0.190  0.017             
## cnt0Int1:rW. -0.001  0.000  0.011 -0.221 -0.073
tab_model(m2b)
  decLik
Predictors Estimates CI p
(Intercept) 4.88 4.61 – 5.15 <0.001
cont0Int1 0.27 0.12 – 0.42 <0.001
econW.c -0.09 -0.22 – 0.03 0.127
riskW.c 0.42 0.31 – 0.52 <0.001
cont0Int1 * econW.c -0.06 -0.10 – -0.01 0.014
cont0Int1 * riskW.c 0.07 0.02 – 0.11 0.006
Random Effects
σ2 2.03
τ00 country_factor 0.13
τ11 country_factor.cont0Int1 0.03
τ11 country_factor.econW.c 0.02
τ11 country_factor.riskW.c 0.02
ρ01 -0.53
-0.00
0.04
ICC 0.09
N country_factor 7
Observations 6167
Marginal R2 / Conditional R2 0.191 / 0.267

c. Social scenario (study 1b)

i. subset for social gains scenario

# 1 = introspection social condition
# 2 = control social condition

# Next we subset data such that we only use participants in the survey who completed the social scenario for Study 1. This includes 523 participants who quit the survey before arriving at this portion, as well as 6216 participants who were assigned to a different condition.

# The remaining sample should include 6072 participants. 

nrowOld <- nrow(d1all)
ds <- d1all[d1all$Introspection_Condition %in% c(1,2),]

econCondition <- 6216

paste0("Did not complete study n = ", nrowOld - nrow(ds)) #6883
## [1] "Did not complete study n = 7089"
paste0("Study n = ", nrow(ds)) #6072
## [1] "Study n = 5862"
paste0("Quit survey before introspection = ", 6739-econCondition) #523
## [1] "Quit survey before introspection = 523"
paste0("total N introspection condition = ", table(ds$Introspection_Condition == 1)) #2998
## [1] "total N introspection condition = 2957"
## [2] "total N introspection condition = 2905"
paste0("total N control condition = ", table(ds$Introspection_Condition == 2)) #3074
## [1] "total N control condition = 2905" "total N control condition = 2957"
### Dropping unusable cases

# We drop 37 participants who completed the study but did not respond to the DV (17 in the Introspection Condition, 20 in the Control condition).

numRowOld <- nrow(ds)

ds <- ds[!(is.na(ds$partyLikelihoodCtrl) & ds$Introspection_Condition==2),] #control dropped 20

ds <- ds[!(is.na(ds$partyLikelihood) & ds$Introspection_Condition==1),] #introspection dropped 17

paste0("Dropped number = ", numRowOld - nrow(ds)) #37
## [1] "Dropped number = 7"
paste0("Study sample with exclusions = ", nrow(ds) - 37)
## [1] "Study sample with exclusions = 5818"
table(ds$Introspection_Condition)
## 
##    1    2 
## 2901 2954

ii. recode variables for social gains scenario

# As Factor
ds$introC <- case_when(
  ds$Introspection_Condition == 1 ~ .5,
  ds$Introspection_Condition == 2 ~ -.5
)


#Contrast code conditions
ds$introC <- case_when(
  ds$Introspection_Condition == 1 ~ .5,
  ds$Introspection_Condition == 2 ~ -.5
)

  # As Factor
ds$introFactor <- case_when(
  ds$Introspection_Condition == 1 ~ "Introspection",
  ds$Introspection_Condition == 2 ~ "Control"
)

#Put responses together from two columns into one (there is one column for each condition in the raw qualtrics output)

  #DV


# partyLikely <--- partyLikelihood & partyLikelihoodCtrl
ds$partyLikely <- ifelse(!is.na(ds$partyLikelihoodCtrl), ds$partyLikelihoodCtrl,
                         ifelse(!is.na(ds$partyLikelihood), ds$partyLikelihood, NA))
ds$partyLikelihood <- NULL
ds$partyLikelihoodCtrl <- NULL





# introSpread <- intSpreadCtrl & intSpread
ds$introSpread <- ifelse(!is.na(ds$intSpreadCtrl), ds$intSpreadCtrl,
                        ifelse(!is.na(ds$intSpread), ds$intSpread, NA))
ds$intSpread <- NULL
ds$intSpreadCtrl <- NULL




# introExpSymp <- intExpSympCtrl & intExpSymp
ds$introExpSymp <- ifelse(!is.na(ds$intExpSympCtrl), ds$intExpSympCtrl,
                        ifelse(!is.na(ds$intExpSymp), ds$intExpSymp, NA))
ds$intExpSymp <- NULL
ds$intExpSympCtrl <- NULL




# contLikely <--- contLikelihood & contLikelihoodCtrl
ds$contLikely <- ifelse(!is.na(ds$contLikelihoodCtrl), ds$contLikelihoodCtrl,
                        ifelse(!is.na(ds$contLikelihood), ds$contLikelihood, NA))
ds$contLikelihood <- NULL
ds$contLikelihoodCtrl <- NULL




colnames(ds)[colnames(ds)=="spreadLikelihood"] <- "spreadLikely"
colnames(ds)[colnames(ds)=="groupLikelihood"] <- "groupLikely"




### change items  from likert -3 : +3 --> 1-7
ds$partyLikely <- ds$partyLikely + 4
ds$contLikely <- ds$contLikely + 4
ds$spreadLikely <- ds$spreadLikely + 4
ds$groupLikely <- ds$groupLikely + 4


# take average of two structured introspection items
ds$avgInt <- (ds$introExpSymp + ds$introSpread)/2

iii. Social Gains descriptives

studyVars <- c("introSpread","introExpSymp","partyLikely","contLikely","spreadLikely","groupLikely")
describe(ds[,studyVars])
##              vars    n mean   sd median trimmed  mad min max range  skew
## introSpread     1 5835 5.37 1.76      6    5.66 1.48   1   7     6 -1.05
## introExpSymp    2 5847 5.27 1.79      6    5.53 1.48   1   7     6 -0.93
## partyLikely     3 5855 2.68 1.89      2    2.42 1.48   1   7     6  0.82
## contLikely      4 5849 4.51 1.73      5    4.60 1.48   1   7     6 -0.43
## spreadLikely    5 5854 4.93 1.91      5    5.14 1.48   1   7     6 -0.71
## groupLikely     6 5128 3.78 1.78      4    3.79 1.48   1   7     6 -0.08
##              kurtosis   se
## introSpread      0.20 0.02
## introExpSymp    -0.10 0.02
## partyLikely     -0.61 0.02
## contLikely      -0.64 0.02
## spreadLikely    -0.66 0.02
## groupLikely     -1.12 0.02

iv. Descriptive stats by condition

describeBy(
  ds[,studyVars],
  group = ds$introFactor)
## 
##  Descriptive statistics by group 
## group: Control
##              vars    n mean   sd median trimmed  mad min max range  skew
## introSpread     1 2934 5.33 1.77      6    5.62 1.48   1   7     6 -1.02
## introExpSymp    2 2946 5.22 1.81      6    5.47 1.48   1   7     6 -0.86
## partyLikely     3 2954 2.80 1.95      2    2.56 1.48   1   7     6  0.73
## contLikely      4 2953 4.54 1.75      5    4.64 1.48   1   7     6 -0.45
## spreadLikely    5 2954 4.93 1.92      5    5.14 1.48   1   7     6 -0.70
## groupLikely     6 2589 3.79 1.78      4    3.80 1.48   1   7     6 -0.08
##              kurtosis   se
## introSpread      0.13 0.03
## introExpSymp    -0.22 0.03
## partyLikely     -0.80 0.04
## contLikely      -0.65 0.03
## spreadLikely    -0.69 0.04
## groupLikely     -1.10 0.03
## ------------------------------------------------------------ 
## group: Introspection
##              vars    n mean   sd median trimmed  mad min max range  skew
## introSpread     1 2901 5.40 1.75      6    5.69 1.48   1   7     6 -1.08
## introExpSymp    2 2901 5.32 1.77      6    5.60 1.48   1   7     6 -0.99
## partyLikely     3 2901 2.55 1.81      2    2.28 1.48   1   7     6  0.92
## contLikely      4 2896 4.48 1.71      5    4.57 1.48   1   7     6 -0.41
## spreadLikely    5 2900 4.93 1.90      5    5.14 1.48   1   7     6 -0.72
## groupLikely     6 2539 3.77 1.78      4    3.79 1.48   1   7     6 -0.09
##              kurtosis   se
## introSpread      0.28 0.03
## introExpSymp     0.04 0.03
## partyLikely     -0.39 0.03
## contLikely      -0.64 0.03
## spreadLikely    -0.62 0.04
## groupLikely     -1.14 0.04

v. t.test for intro spread vs. intro experience symptoms

t.test(ds$introSpread, ds$introExpSymp, paired = T)
## 
##  Paired t-test
## 
## data:  ds$introSpread and ds$introExpSymp
## t = 5.7708, df = 5827, p-value = 8.298e-09
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.06355935 0.12895952
## sample estimates:
## mean of the differences 
##              0.09625944

vi. t.test for condition differences for subjective risk for contracting Covid-19 at party

t.test(ds$introSpread ~ ds$introC)
## 
##  Welch Two Sample t-test
## 
## data:  ds$introSpread by ds$introC
## t = -1.396, df = 5833, p-value = 0.1628
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.15500879  0.02606447
## sample estimates:
## mean in group -0.5  mean in group 0.5 
##           5.334356           5.398828

vii. t.test for condition differences for subjective risk of experiencing symptoms

t.test(ds$introExpSymp ~ ds$introC)
## 
##  Welch Two Sample t-test
## 
## data:  ds$introExpSymp by ds$introC
## t = -2.2416, df = 5844.9, p-value = 0.02503
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.1968993 -0.0131764
## sample estimates:
## mean in group -0.5  mean in group 0.5 
##           5.215886           5.320924

viii. Model 1: partyLikely ~ introC

m1 <- lmer(partyLikely ~ introC +
             (1|country_factor), data = ds)

summary(m1)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: partyLikely ~ introC + (1 | country_factor)
##    Data: ds
## 
## REML criterion at convergence: 23788.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -1.3820 -0.7527 -0.3448  0.6812  2.7050 
## 
## Random effects:
##  Groups         Name        Variance Std.Dev.
##  country_factor (Intercept) 0.1973   0.4441  
##  Residual                   3.3863   1.8402  
## Number of obs: 5855, groups:  country_factor, 7
## 
## Fixed effects:
##               Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)    2.69947    0.16970    6.00202  15.908 3.91e-06 ***
## introC        -0.24409    0.04811 5847.12649  -5.073 4.03e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##        (Intr)
## introC 0.001

ix. Model 2: partyLikely ~ introC * (introSpread.c + introExpSymp.c)

#create mean centered variables
ds$introSpread.c <- ds$introSpread - mean(ds$introSpread, na.rm = T)
ds$introExpSymp.c <- ds$introExpSymp - mean(ds$introExpSymp, na.rm = T)

m2 <- lmer(partyLikely ~ introC * (introSpread.c + introExpSymp.c) +
             (introSpread.c | country_factor ), data = ds)

summary(m2)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## partyLikely ~ introC * (introSpread.c + introExpSymp.c) + (introSpread.c |  
##     country_factor)
##    Data: ds
## 
## REML criterion at convergence: 22267.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1057 -0.6342 -0.2465  0.6154  3.4474 
## 
## Random effects:
##  Groups         Name          Variance Std.Dev. Corr
##  country_factor (Intercept)   0.18706  0.4325       
##                 introSpread.c 0.05155  0.2270   0.22
##  Residual                     2.63830  1.6243       
## Number of obs: 5828, groups:  country_factor, 7
## 
## Fixed effects:
##                         Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)              2.75656    0.16505    6.01452  16.701 2.88e-06 ***
## introC                  -0.18699    0.04264 5810.89555  -4.385 1.18e-05 ***
## introSpread.c           -0.30783    0.08787    6.26869  -3.503  0.01190 *  
## introExpSymp.c          -0.17804    0.01798 5814.03104  -9.903  < 2e-16 ***
## introC:introSpread.c    -0.09802    0.03618 5811.09212  -2.709  0.00677 ** 
## introC:introExpSymp.c    0.03140    0.03562 5810.48089   0.882  0.37807    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) introC intrS. intES. inC:S.
## introC       0.001                            
## introSprd.c  0.214  0.000                     
## intrExpSym.  0.000 -0.022 -0.151              
## intrC:ntrS.  0.000  0.000  0.009 -0.044       
## intrC:ntES. -0.003 -0.002 -0.010  0.048 -0.743
tab_model(m2)
  partyLikely
Predictors Estimates CI p
(Intercept) 2.76 2.43 – 3.08 <0.001
introC -0.19 -0.27 – -0.10 <0.001
introSpread.c -0.31 -0.48 – -0.14 <0.001
introExpSymp.c -0.18 -0.21 – -0.14 <0.001
introC * introSpread.c -0.10 -0.17 – -0.03 0.007
introC * introExpSymp.c 0.03 -0.04 – 0.10 0.378
Random Effects
σ2 2.64
τ00 country_factor 0.19
τ11 country_factor.introSpread.c 0.05
ρ01 country_factor 0.22
ICC 0.12
N country_factor 7
Observations 5828
Marginal R2 / Conditional R2 0.183 / 0.278

- Model 2a: simple effects for control

ds$cont0Int1 <- ds$introC + .5
ds$int0Cont1 <- (ds$introC * - 1) + .5 

m2a <- lmer(partyLikely ~ cont0Int1 * (introSpread.c + introExpSymp.c) +
                      (introSpread.c | country_factor),
                    data = ds)

summary(m2a)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: partyLikely ~ cont0Int1 * (introSpread.c + introExpSymp.c) +  
##     (introSpread.c | country_factor)
##    Data: ds
## 
## REML criterion at convergence: 22267.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1057 -0.6342 -0.2465  0.6154  3.4474 
## 
## Random effects:
##  Groups         Name          Variance Std.Dev. Corr
##  country_factor (Intercept)   0.18706  0.4325       
##                 introSpread.c 0.05155  0.2270   0.22
##  Residual                     2.63830  1.6243       
## Number of obs: 5828, groups:  country_factor, 7
## 
## Fixed effects:
##                            Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)                 2.85005    0.16641    6.21435  17.127 1.83e-06 ***
## cont0Int1                  -0.18699    0.04264 5810.89555  -4.385 1.18e-05 ***
## introSpread.c              -0.25882    0.08955    6.76136  -2.890  0.02421 *  
## introExpSymp.c             -0.19374    0.02469 5812.84151  -7.846 5.07e-15 ***
## cont0Int1:introSpread.c    -0.09802    0.03618 5811.09212  -2.709  0.00677 ** 
## cont0Int1:introExpSymp.c    0.03140    0.03562 5810.48089   0.882  0.37807    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnt0I1 intrS. intES. c0I1:S
## cont0Int1   -0.127                            
## introSprd.c  0.208  0.000                     
## intrExpSym.  0.004 -0.015 -0.203              
## cnt0Int1:S.  0.000  0.000 -0.193  0.504       
## cnt0In1:ES. -0.003 -0.002  0.141 -0.686 -0.743
tab_model(m2a)
  partyLikely
Predictors Estimates CI p
(Intercept) 2.85 2.52 – 3.18 <0.001
cont0Int1 -0.19 -0.27 – -0.10 <0.001
introSpread.c -0.26 -0.43 – -0.08 0.004
introExpSymp.c -0.19 -0.24 – -0.15 <0.001
cont0Int1 * introSpread.c -0.10 -0.17 – -0.03 0.007
cont0Int1 *
introExpSymp.c
0.03 -0.04 – 0.10 0.378
Random Effects
σ2 2.64
τ00 country_factor 0.19
τ11 country_factor.introSpread.c 0.05
ρ01 country_factor 0.22
ICC 0.12
N country_factor 7
Observations 5828
Marginal R2 / Conditional R2 0.183 / 0.278

- Model 2b: simple effects for introspection

m2b <- lmer(partyLikely ~ int0Cont1 * (introSpread.c + introExpSymp.c) +
                      (introSpread.c | country_factor),data = ds)

summary(m2b)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: partyLikely ~ int0Cont1 * (introSpread.c + introExpSymp.c) +  
##     (introSpread.c | country_factor)
##    Data: ds
## 
## REML criterion at convergence: 22267.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1057 -0.6342 -0.2465  0.6154  3.4474 
## 
## Random effects:
##  Groups         Name          Variance Std.Dev. Corr
##  country_factor (Intercept)   0.18706  0.4325       
##                 introSpread.c 0.05155  0.2270   0.22
##  Residual                     2.63830  1.6243       
## Number of obs: 5828, groups:  country_factor, 7
## 
## Fixed effects:
##                            Estimate Std. Error         df t value Pr(>|t|)    
## (Intercept)                 2.66306    0.16644    6.21946  16.000 2.75e-06 ***
## int0Cont1                   0.18699    0.04264 5810.89555   4.385 1.18e-05 ***
## introSpread.c              -0.35685    0.08988    6.86144  -3.970  0.00561 ** 
## introExpSymp.c             -0.16234    0.02591 5811.88932  -6.266 3.97e-10 ***
## int0Cont1:introSpread.c     0.09802    0.03618 5811.09212   2.709  0.00677 ** 
## int0Cont1:introExpSymp.c   -0.03140    0.03562 5810.48089  -0.882  0.37807    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) int0C1 intrS. intES. i0C1:S
## int0Cont1   -0.129                            
## introSprd.c  0.207  0.000                     
## intrExpSym. -0.004  0.016 -0.218              
## int0Cnt1:S.  0.000  0.000 -0.210  0.541       
## int0Cn1:ES.  0.003 -0.002  0.159 -0.721 -0.743
tab_model(m2b)
  partyLikely
Predictors Estimates CI p
(Intercept) 2.66 2.34 – 2.99 <0.001
int0Cont1 0.19 0.10 – 0.27 <0.001
introSpread.c -0.36 -0.53 – -0.18 <0.001
introExpSymp.c -0.16 -0.21 – -0.11 <0.001
int0Cont1 * introSpread.c 0.10 0.03 – 0.17 0.007
int0Cont1 *
introExpSymp.c
-0.03 -0.10 – 0.04 0.378
Random Effects
σ2 2.64
τ00 country_factor 0.19
τ11 country_factor.introSpread.c 0.05
ρ01 country_factor 0.22
ICC 0.12
N country_factor 7
Observations 5828
Marginal R2 / Conditional R2 0.183 / 0.278

2. Wave 1 & 2 US merged dataset cleaning

## this code was taken from Alex's script "US_Wave2_Cleaning&LongitudinalData.rmd"

# include only those who consent
dUSw1w2 <- dUSw1w2[dUSw1w2$Consent.x == 1,]

# no previews
dUSw1w2 <- dUSw1w2[dUSw1w2$DistributionChannel.x == 'anonymous',]

# no Wave 1 participants w/o vids
dUSw1w2 <- dUSw1w2[!is.na(dUSw1w2$vid.x),]

# assigning pnum 
dUSw1w2$pnum <- c(1:nrow(dUSw1w2))

# wave 2 timeframe
dUSw1w2$StartDate2 <- dUSw1w2$StartDate.x
dUSw1w2$StartDate2 <- as.numeric(as.factor(dUSw1w2$StartDate2))
dUSw1w2 <- dUSw1w2[order(dUSw1w2$StartDate2),]
dUSw1w2$tnum <- c(1:nrow(dUSw1w2))

# organize wave 2a, 2b, 2c
dUSw1w2$election_timing <- NA
dUSw1w2$election_timing[dUSw1w2$tnum < 1235] <- "Pre-election"
dUSw1w2$election_timing[dUSw1w2$tnum <= 1818  & dUSw1w2$tnum >= 1235] <- "During-election"
dUSw1w2$election_timing[dUSw1w2$tnum > 1818] <- "Post-election"

dUSw1w2 <- dUSw1w2[order(dUSw1w2$pnum),]

dUSw1w2$StartDate2.x <- NULL
dUSw1w2$tnum <- NULL

3. Exclusions

# N before age exclusions
nrow(dUSw1w2)
## [1] 2326
dUSw1w2$age.x <- as.numeric(as.character(dUSw1w2$age.x))
## Warning: NAs introduced by coercion
dUSw1w2 <- dUSw1w2[dUSw1w2$age.x < 100,] # 0 exclusions from w2 (2 exclusions from w1)
dUSw1w2 <- dUSw1w2[dUSw1w2$age.x > 17,] # 1 exclusion from w2 (2 exclusions form w1)

# N after age exclusions
nrow(dUSw1w2)
## [1] 2325
# We do not include in the final subset 125 participants who dropped out of the survey early and thus did not complete the study, nor were assigned to a condition. 

numRowOld <- nrow(dUSw1w2) #2325

dUSw1w2 <- dUSw1w2[!is.na(dUSw1w2$FL_110_DO),]

paste0("Participants who left survey early n = ", numRowOld - nrow(dUSw1w2)) # 2325 - 125 = 2200 
## [1] "Participants who left survey early n = 125"
numRowOld <- nrow(dUSw1w2) #2200

dUSw1w2 <- dUSw1w2[!is.na(dUSw1w2$cancelCont) | !dUSw1w2$FL_110_DO == "Introspection-Control",]
dUSw1w2 <- dUSw1w2[!is.na(dUSw1w2$cancelDel) | !dUSw1w2$FL_110_DO == "Introspection-Deliberation",]
dUSw1w2 <- dUSw1w2[!is.na(dUSw1w2$cancelInt) | !dUSw1w2$FL_110_DO == "Introspection-Introspection",]

# we then dropped unusable cases - _____ participants who did not provide a response to the DV

paste0("Dropped number = ", numRowOld - nrow(dUSw1w2)) # 4
## [1] "Dropped number = 4"
paste0("Study sample = ", nrow(dUSw1w2)) # 2196
## [1] "Study sample = 2196"

b. Recode variables for dUSw1w2

##################################
## do the same for dUSw1w2
#################################


# Introspection Condition variables
  # Factor
dUSw1w2$introspectionCondition <- case_when(
  dUSw1w2$FL_110_DO=="Introspection-Control" ~ "Control",
  dUSw1w2$FL_110_DO=="Introspection-Deliberation" ~ "Deliberation",
  dUSw1w2$FL_110_DO=="Introspection-Introspection" ~ "Introspection"
)

  # Planned orthogonal contrast codes
dUSw1w2$otherVIntro <- dplyr::recode(dUSw1w2$introspectionCondition,
                               "Control" = -1/3,
                               "Deliberation" = -1/3,
                               "Introspection" = 2/3)

dUSw1w2$contVDel <- dplyr::recode(dUSw1w2$introspectionCondition,
                               "Control" = -1/2,
                               "Deliberation" = 1/2,
                               "Introspection" = 0)
  


# DV
dUSw1w2$cancel <- case_when(
  dUSw1w2$FL_110_DO=="Introspection-Control" ~ dUSw1w2$cancelCont,
  dUSw1w2$FL_110_DO=="Introspection-Deliberation" ~ dUSw1w2$cancelDel,
  dUSw1w2$FL_110_DO=="Introspection-Introspection" ~ dUSw1w2$cancelInt
)


# Self-reported weights
dUSw1w2$riskW <- case_when(
  dUSw1w2$FL_110_DO=="Introspection-Control" ~ dUSw1w2$likelyCont,
  dUSw1w2$FL_110_DO=="Introspection-Deliberation" ~ dUSw1w2$likelyDel,
  dUSw1w2$FL_110_DO=="Introspection-Introspection" ~ dUSw1w2$likelyInt
)


dUSw1w2$satW <- case_when(
  dUSw1w2$FL_110_DO=="Introspection-Control" ~ dUSw1w2$satCont,
  dUSw1w2$FL_110_DO=="Introspection-Deliberation" ~ dUSw1w2$satDel,
  dUSw1w2$FL_110_DO=="Introspection-Introspection" ~ dUSw1w2$satInt
)

  #These variables are coded as 21-28 in the raw Qualtrics output. We rescale to make them 1-7
dUSw1w2$riskW <- dUSw1w2$riskW - 21
dUSw1w2$satW <- dUSw1w2$satW - 21


#Utility or magnitude estimates (must also be rescaled from 21-28)
dUSw1w2$riskU <- dUSw1w2$likelyEstimate - 21
dUSw1w2$satU <- dUSw1w2$satEstimate - 21


  #Difference scores
dUSw1w2$diffW <- dUSw1w2$riskW - dUSw1w2$satW
dUSw1w2$diffU <- dUSw1w2$riskU - dUSw1w2$satU

c. Descriptive Statistics & Demographics

studyVars <- c("cancel","satW","riskW","satU","riskU","diffW","diffU")
describe(dUSw1w2[,studyVars])
##        vars    n  mean   sd median trimmed  mad min max range  skew kurtosis
## cancel    1 2196  5.03 2.13      6    5.28 1.48   1   7     6 -0.68    -0.94
## satW      2 2191  4.03 1.91      4    4.04 1.48   1   7     6  0.03    -0.98
## riskW     3 2192  5.44 1.89      6    5.76 1.48   1   7     6 -0.97    -0.23
## satU      4 2190  4.73 1.76      5    4.87 1.48   1   7     6 -0.38    -0.64
## riskU     5 2191  4.27 1.87      4    4.30 2.97   1   7     6 -0.04    -1.11
## diffW     6 2191  1.41 2.85      1    1.51 2.97  -6   6    12 -0.26    -0.15
## diffU     7 2189 -0.46 2.71      0   -0.46 2.97  -6   6    12  0.03    -0.12
##          se
## cancel 0.05
## satW   0.04
## riskW  0.04
## satU   0.04
## riskU  0.04
## diffW  0.06
## diffU  0.06
table(dUSw1w2$introspectionCondition)
## 
##       Control  Deliberation Introspection 
##           698           763           735
#for dUSw1w2, these are the numbers
#   Control  Deliberation Introspection 
#          698           763           735 


# age mean, sd, range
describe(dUSw1w2$age.x)
##    vars    n  mean    sd median trimmed   mad min max range skew kurtosis   se
## X1    1 2196 50.05 15.03     50   50.06 17.79  18  89    71    0    -0.93 0.32
#gender N - F = 1, M = 2
table(dUSw1w2$gender)
## 
##    1    2    3 
## 1055 1137    3

d. Descriptive statistics by condition:

describeBy(
  dUSw1w2[,studyVars],
  group = dUSw1w2$introspectionCondition)
## 
##  Descriptive statistics by group 
## group: Control
##        vars   n  mean   sd median trimmed  mad min max range  skew kurtosis
## cancel    1 698  4.89 2.18      6    5.10 1.48   1   7     6 -0.59    -1.09
## satW      2 697  4.06 1.97      4    4.07 2.97   1   7     6  0.01    -1.07
## riskW     3 697  5.34 1.92      6    5.63 1.48   1   7     6 -0.89    -0.38
## satU      4 697  4.77 1.78      5    4.92 1.48   1   7     6 -0.40    -0.69
## riskU     5 697  4.16 1.90      4    4.17 2.97   1   7     6  0.05    -1.16
## diffW     6 697  1.28 2.95      1    1.38 2.97  -6   6    12 -0.20    -0.19
## diffU     7 697 -0.62 2.74      0   -0.63 1.48  -6   6    12  0.06    -0.16
##          se
## cancel 0.08
## satW   0.07
## riskW  0.07
## satU   0.07
## riskU  0.07
## diffW  0.11
## diffU  0.10
## ------------------------------------------------------------ 
## group: Deliberation
##        vars   n  mean   sd median trimmed  mad min max range  skew kurtosis
## cancel    1 763  4.93 2.16      6    5.16 1.48   1   7     6 -0.61    -1.06
## satW      2 760  4.10 1.87      4    4.12 1.48   1   7     6  0.00    -0.94
## riskW     3 760  5.40 1.96      6    5.71 1.48   1   7     6 -0.92    -0.41
## satU      4 758  4.75 1.75      5    4.89 1.48   1   7     6 -0.40    -0.62
## riskU     5 759  4.21 1.88      4    4.24 2.97   1   7     6 -0.05    -1.09
## diffW     6 760  1.30 2.87      1    1.42 2.97  -6   6    12 -0.27    -0.26
## diffU     7 757 -0.54 2.72      0   -0.53 2.97  -6   6    12  0.00    -0.20
##          se
## cancel 0.08
## satW   0.07
## riskW  0.07
## satU   0.06
## riskU  0.07
## diffW  0.10
## diffU  0.10
## ------------------------------------------------------------ 
## group: Introspection
##        vars   n  mean   sd median trimmed  mad min max range  skew kurtosis
## cancel    1 735  5.27 2.01      6    5.56 1.48   1   7     6 -0.85    -0.61
## satW      2 734  3.94 1.89      4    3.92 1.48   1   7     6  0.08    -0.93
## riskW     3 735  5.60 1.78      7    5.90 0.00   1   7     6 -1.08     0.12
## satU      4 735  4.67 1.75      4    4.80 1.48   1   7     6 -0.34    -0.63
## riskU     5 735  4.43 1.83      4    4.49 2.97   1   7     6 -0.12    -1.07
## diffW     6 734  1.66 2.72      1    1.73 2.97  -6   6    12 -0.28    -0.01
## diffU     7 735 -0.24 2.64      0   -0.24 1.48  -6   6    12  0.05     0.00
##          se
## cancel 0.07
## satW   0.07
## riskW  0.07
## satU   0.06
## riskU  0.07
## diffW  0.10
## diffU  0.10

e. basic tests

i. t.tests for risk of spread vs. satisfaction time with family

t.test(dUSw1w2$riskW,dUSw1w2$satW, paired = T)
## 
##  Paired t-test
## 
## data:  dUSw1w2$riskW and dUSw1w2$satW
## t = 23.173, df = 2190, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  1.293052 1.532142
## sample estimates:
## mean of the differences 
##                1.412597
# means and sd for riskW and satW
mean(dUSw1w2$satW, na.rm = T)
## [1] 4.031492
sd(dUSw1w2$satW, na.rm = T)
## [1] 1.908743
mean(dUSw1w2$riskW, na.rm = T)
## [1] 5.444799
sd(dUSw1w2$riskW, na.rm = T)
## [1] 1.890827

ii. t.tests for condition differences for DV:

summary(aov(dUSw1w2$cancel~dUSw1w2$introspectionCondition))
##                                  Df Sum Sq Mean Sq F value   Pr(>F)    
## dUSw1w2$introspectionCondition    2     66   33.02   7.346 0.000661 ***
## Residuals                      2193   9857    4.49                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

iii. ANOVA for condition differences for subjective weight for satisfaction

summary(aov(dUSw1w2$satW~dUSw1w2$introspectionCondition))
##                                  Df Sum Sq Mean Sq F value Pr(>F)
## dUSw1w2$introspectionCondition    2     11   5.366   1.473  0.229
## Residuals                      2188   7968   3.642               
## 5 observations deleted due to missingness

iv. ANOVA for subjective weight for risk

summary(aov(dUSw1w2$riskW~dUSw1w2$introspectionCondition))
##                                  Df Sum Sq Mean Sq F value Pr(>F)  
## dUSw1w2$introspectionCondition    2     27  13.545   3.798 0.0226 *
## Residuals                      2189   7806   3.566                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 4 observations deleted due to missingness
mean(dUSw1w2$riskW[dUSw1w2$introspectionCondition == "Introspection"], na.rm = T)
## [1] 5.597279
mean(dUSw1w2$riskW[dUSw1w2$introspectionCondition == "Control"], na.rm = T)
## [1] 5.335725
mean(dUSw1w2$riskW[dUSw1w2$introspectionCondition == "Deliberation"], na.rm = T)
## [1] 5.397368

f. Model 1: cancal ~ othervIntro + contVDel

m1 <-
  lm(cancel ~ (otherVIntro + contVDel),
       data = dUSw1w2)

summary(m1)
## 
## Call:
## lm(formula = cancel ~ (otherVIntro + contVDel), data = dUSw1w2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.2721 -1.2721  0.7279  2.0747  2.1146 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.02760    0.04527 111.053  < 2e-16 ***
## otherVIntro  0.36677    0.09591   3.824 0.000135 ***
## contVDel     0.03991    0.11104   0.359 0.719336    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.12 on 2193 degrees of freedom
## Multiple R-squared:  0.006655,   Adjusted R-squared:  0.005749 
## F-statistic: 7.346 on 2 and 2193 DF,  p-value: 0.0006609

g. Model 2: cancel ~ (otherVIntro + contVDel) * (riskWC + satWC)

#Mean center self-reported beliefs variable
dUSw1w2$satWC <- dUSw1w2$satW - mean(dUSw1w2$satW, na.rm = T)
dUSw1w2$riskWC <- dUSw1w2$riskW - mean(dUSw1w2$riskW, na.rm = T)

m2 <-lm(cancel ~ (otherVIntro + contVDel) * (riskWC + satWC), data = dUSw1w2)

summary(m2)
## 
## Call:
## lm(formula = cancel ~ (otherVIntro + contVDel) * (riskWC + satWC), 
##     data = dUSw1w2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.5343 -0.6415  0.2399  0.7265  6.2569 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)         5.024934   0.029833 168.435  < 2e-16 ***
## otherVIntro         0.145538   0.063254   2.301 0.021493 *  
## contVDel            0.001224   0.073112   0.017 0.986648    
## riskWC              0.828915   0.015954  51.956  < 2e-16 ***
## satWC              -0.107856   0.015728  -6.858 9.08e-12 ***
## otherVIntro:riskWC  0.127340   0.034659   3.674 0.000244 ***
## otherVIntro:satWC   0.001533   0.033417   0.046 0.963423    
## contVDel:riskWC    -0.070413   0.038115  -1.847 0.064824 .  
## contVDel:satWC     -0.031564   0.038463  -0.821 0.411939    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.392 on 2182 degrees of freedom
##   (5 observations deleted due to missingness)
## Multiple R-squared:  0.572,  Adjusted R-squared:  0.5704 
## F-statistic: 364.5 on 8 and 2182 DF,  p-value: < 2.2e-16
#means for intro vs. control + deliberation
mean(dUSw1w2$cancel[dUSw1w2$otherVIntro == -1/3], na.rm = TRUE)
## [1] 4.906229
sd(dUSw1w2$cancel[dUSw1w2$otherVIntro == -1/3], na.rm = TRUE)
## [1] 2.170814
mean(dUSw1w2$cancel[dUSw1w2$otherVIntro == 2/3], na.rm = TRUE)
## [1] 5.272109
sd(dUSw1w2$cancel[dUSw1w2$otherVIntro == 2/3], na.rm = TRUE)
## [1] 2.014112
# means for deliberation vs control

mean(dUSw1w2$cancel[dUSw1w2$introspectionCondition == "Deliberation"], na.rm = TRUE)
## [1] 4.925295
sd(dUSw1w2$cancel[dUSw1w2$introspectionCondition == "Deliberation"], na.rm = TRUE)
## [1] 2.164114
mean(dUSw1w2$cancel[dUSw1w2$introspectionCondition == "Control"], na.rm = TRUE)
## [1] 4.885387
sd(dUSw1w2$cancel[dUSw1w2$introspectionCondition == "Control"], na.rm = TRUE)
## [1] 2.179476
tab_model(m2)
  cancel
Predictors Estimates CI p
(Intercept) 5.02 4.97 – 5.08 <0.001
otherVIntro 0.15 0.02 – 0.27 0.021
contVDel 0.00 -0.14 – 0.14 0.987
riskWC 0.83 0.80 – 0.86 <0.001
satWC -0.11 -0.14 – -0.08 <0.001
otherVIntro * riskWC 0.13 0.06 – 0.20 <0.001
otherVIntro * satWC 0.00 -0.06 – 0.07 0.963
contVDel * riskWC -0.07 -0.15 – 0.00 0.065
contVDel * satWC -0.03 -0.11 – 0.04 0.412
Observations 2191
R2 / R2 adjusted 0.572 / 0.570

i. Model 2a: simple effects for control

dUSw1w2$intro_1 <- dplyr::recode(dUSw1w2$introspectionCondition,
                         "Control" = 0,
                         "Deliberation" = 0,
                         "Introspection" = 1)

dUSw1w2$delib_1 <- dplyr::recode(dUSw1w2$introspectionCondition,
                         "Control" = 0,
                         "Deliberation" = 1,
                         "Introspection" = 0)

m2a <-
  lm(cancel ~ (delib_1 + intro_1) * (riskWC + satWC),
       data = dUSw1w2)

summary(m2a)
## 
## Call:
## lm(formula = cancel ~ (delib_1 + intro_1) * (riskWC + satWC), 
##     data = dUSw1w2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.5343 -0.6415  0.2399  0.7265  6.2569 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     4.975809   0.052823  94.197  < 2e-16 ***
## delib_1         0.001224   0.073112   0.017 0.986648    
## intro_1         0.146149   0.073858   1.979 0.047964 *  
## riskWC          0.821675   0.027847  29.507  < 2e-16 ***
## satWC          -0.092585   0.027084  -3.418 0.000641 ***
## delib_1:riskWC -0.070413   0.038115  -1.847 0.064824 .  
## delib_1:satWC  -0.031564   0.038463  -0.821 0.411939    
## intro_1:riskWC  0.092134   0.040169   2.294 0.021905 *  
## intro_1:satWC  -0.014249   0.038476  -0.370 0.711159    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.392 on 2182 degrees of freedom
##   (5 observations deleted due to missingness)
## Multiple R-squared:  0.572,  Adjusted R-squared:  0.5704 
## F-statistic: 364.5 on 8 and 2182 DF,  p-value: < 2.2e-16
tab_model(m2a)
  cancel
Predictors Estimates CI p
(Intercept) 4.98 4.87 – 5.08 <0.001
delib_1 0.00 -0.14 – 0.14 0.987
intro_1 0.15 0.00 – 0.29 0.048
riskWC 0.82 0.77 – 0.88 <0.001
satWC -0.09 -0.15 – -0.04 0.001
delib_1 * riskWC -0.07 -0.15 – 0.00 0.065
delib_1 * satWC -0.03 -0.11 – 0.04 0.412
intro_1 * riskWC 0.09 0.01 – 0.17 0.022
intro_1 * satWC -0.01 -0.09 – 0.06 0.711
Observations 2191
R2 / R2 adjusted 0.572 / 0.570

ii. Model 2b: simple effects for control

dUSw1w2$control_1 <- dplyr::recode(dUSw1w2$introspectionCondition,
                         "Control" = 1,
                         "Deliberation" = 0,
                         "Introspection" = 0)

m2b <-
  lm(cancel ~ (control_1 + intro_1) * (riskWC + satWC),
       data = dUSw1w2)

summary(m2b)
## 
## Call:
## lm(formula = cancel ~ (control_1 + intro_1) * (riskWC + satWC), 
##     data = dUSw1w2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.5343 -0.6415  0.2399  0.7265  6.2569 
## 
## Coefficients:
##                   Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       4.977033   0.050548  98.461  < 2e-16 ***
## control_1        -0.001224   0.073112  -0.017   0.9866    
## intro_1           0.144926   0.072248   2.006   0.0450 *  
## riskWC            0.751262   0.026024  28.868  < 2e-16 ***
## satWC            -0.124149   0.027310  -4.546 5.77e-06 ***
## control_1:riskWC  0.070413   0.038115   1.847   0.0648 .  
## control_1:satWC   0.031564   0.038463   0.821   0.4119    
## intro_1:riskWC    0.162546   0.038928   4.176 3.09e-05 ***
## intro_1:satWC     0.017315   0.038636   0.448   0.6541    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.392 on 2182 degrees of freedom
##   (5 observations deleted due to missingness)
## Multiple R-squared:  0.572,  Adjusted R-squared:  0.5704 
## F-statistic: 364.5 on 8 and 2182 DF,  p-value: < 2.2e-16
tab_model(m2b)
  cancel
Predictors Estimates CI p
(Intercept) 4.98 4.88 – 5.08 <0.001
control_1 -0.00 -0.14 – 0.14 0.987
intro_1 0.14 0.00 – 0.29 0.045
riskWC 0.75 0.70 – 0.80 <0.001
satWC -0.12 -0.18 – -0.07 <0.001
control_1 * riskWC 0.07 -0.00 – 0.15 0.065
control_1 * satWC 0.03 -0.04 – 0.11 0.412
intro_1 * riskWC 0.16 0.09 – 0.24 <0.001
intro_1 * satWC 0.02 -0.06 – 0.09 0.654
Observations 2191
R2 / R2 adjusted 0.572 / 0.570

iii. Model 2c: simple effects for introspection

m2c <-
  lm(cancel ~ (control_1 + delib_1) * (riskWC + satWC),
       data = dUSw1w2)

summary(m2c)
## 
## Call:
## lm(formula = cancel ~ (control_1 + delib_1) * (riskWC + satWC), 
##     data = dUSw1w2)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.5343 -0.6415  0.2399  0.7265  6.2569 
## 
## Coefficients:
##                  Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       5.12196    0.05162  99.224  < 2e-16 ***
## control_1        -0.14615    0.07386  -1.979   0.0480 *  
## delib_1          -0.14493    0.07225  -2.006   0.0450 *  
## riskWC            0.91381    0.02895  31.565  < 2e-16 ***
## satWC            -0.10683    0.02733  -3.909 9.54e-05 ***
## control_1:riskWC -0.09213    0.04017  -2.294   0.0219 *  
## control_1:satWC   0.01425    0.03848   0.370   0.7112    
## delib_1:riskWC   -0.16255    0.03893  -4.176 3.09e-05 ***
## delib_1:satWC    -0.01731    0.03864  -0.448   0.6541    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.392 on 2182 degrees of freedom
##   (5 observations deleted due to missingness)
## Multiple R-squared:  0.572,  Adjusted R-squared:  0.5704 
## F-statistic: 364.5 on 8 and 2182 DF,  p-value: < 2.2e-16
tab_model(m2c)
  cancel
Predictors Estimates CI p
(Intercept) 5.12 5.02 – 5.22 <0.001
control_1 -0.15 -0.29 – -0.00 0.048
delib_1 -0.14 -0.29 – -0.00 0.045
riskWC 0.91 0.86 – 0.97 <0.001
satWC -0.11 -0.16 – -0.05 <0.001
control_1 * riskWC -0.09 -0.17 – -0.01 0.022
control_1 * satWC 0.01 -0.06 – 0.09 0.711
delib_1 * riskWC -0.16 -0.24 – -0.09 <0.001
delib_1 * satWC -0.02 -0.09 – 0.06 0.654
Observations 2191
R2 / R2 adjusted 0.572 / 0.570