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"))
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
# 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"
# 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
#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
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
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
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
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
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
## 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 | ||
# 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 | ||
# 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 | ||
## 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
# 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"
##################################
## 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
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
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
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
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
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
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
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
#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 | ||
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 | ||
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 | ||
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 | ||