-
Notifications
You must be signed in to change notification settings - Fork 0
/
Study3_Number_of_Trials_Until_Testing_by_Preference.R
93 lines (80 loc) · 4.72 KB
/
Study3_Number_of_Trials_Until_Testing_by_Preference.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
################################################
# Number of Trials Until Testing by Preference #
################################################
# Import Libraries
library("tidyverse")
library('lmerTest')
# Import data
Number_of_Trials_Until_Testing_by_Preference <- as_tibble(read.csv("Study3_Number_of_Trials_Until_Testing_by_Preference.csv"))
# preview data
head(Number_of_Trials_Until_Testing_by_Preference)
# data dictionary:
## "Participant" = participant number
## "Function_Exposure" = denotes if participant was assigned to function exposure treatment (see study 3 methods for details); 1=yes, 0=no
## "Function" = Function number (range 1-6; refer to payoff function figure)
## "Preferred_Policy_at_Start" = notes policy preference at start. 1 = randomized to preferred policy at start of learning task; 0 = non preferred policy at start; -88 = neutral policy (i.e., no opportunity for preference or not)
## "Trial_Number_of_First_Test" = Notes what trial number a participant made first test (i.e., change/switch) for a given policy/function; Note "NA"s mean a participant never tested a policy/function. Also note that trial 1-10 were learning trials, where a participant did not have control yet.
# Subtract 10 from trial number, to reflect trial # that participant actually had control of economic policies.
Number_of_Trials_Until_Testing_by_Preference$first_test_adj <-
Number_of_Trials_Until_Testing_by_Preference$Trial_Number_of_First_Test - 10
# Descriptives: When did participants first test policies across randomized policy at start
# 1="Preferred policy at Start"
# 0="Non-preferred policy at start"
aggregate(Number_of_Trials_Until_Testing_by_Preference$first_test_adj,
by=list(Number_of_Trials_Until_Testing_by_Preference$Preferred_Policy_at_Start),
mean, na.rm=T) %>%
rename("Preferred_Policy_at_Start" = "Group.1",
"Mean_Trial_Number_of_First_Test" = "x")
# Re-scale to improve model convergence (z-score with min. value of 1)
Number_of_Trials_Until_Testing_by_Preference$first_test_adj_centered <-
scale(Number_of_Trials_Until_Testing_by_Preference$first_test_adj, center=TRUE)
Number_of_Trials_Until_Testing_by_Preference$first_test_adj_centered_fixed <-
Number_of_Trials_Until_Testing_by_Preference$first_test_adj_centered +
abs(min(Number_of_Trials_Until_Testing_by_Preference$first_test_adj_centered,na.rm=T)) +
1
# Analysis 1: number of trials until testing: preferred vs non-preferred at start (omitted neutral policies)
Number_of_Trials_Until_Testing_by_Preference_omit_neutral <- Number_of_Trials_Until_Testing_by_Preference %>%
filter(!Preferred_Policy_at_Start==-88)
# Effects coding for analysis
Number_of_Trials_Until_Testing_by_Preference$Preferred_Policy_at_Start2 <-
ifelse(Number_of_Trials_Until_Testing_by_Preference$Preferred_Policy_at_Start==1,.5,-.5)
Number_of_Trials_Until_Testing_by_Preference$Function_Exposure2 <-
ifelse(Number_of_Trials_Until_Testing_by_Preference$Function_Exposure==1,.5,-.5)
# Model: preferred vs non-preferred at start
m1 <- glmer(first_test_adj_centered_fixed ~ Preferred_Policy_at_Start2*Function_Exposure2 + (1+Preferred_Policy_at_Start2|Participant),
data=Number_of_Trials_Until_Testing_by_Preference, family=Gamma(link='inverse'))
summary(m1)
# Generalized linear mixed model fit by maximum likelihood (Laplace Approximation) ['glmerMod']
# Family: Gamma ( inverse )
# Formula: first_test_adj_centered_fixed ~ Preferred_Policy_at_Start2 *
# Function_Exposure2 + (1 + Preferred_Policy_at_Start2 | Participant)
# Data: Number_of_Trials_Until_Testing_by_Preference
#
# AIC BIC logLik deviance df.resid
# 591.1 623.2 -287.6 575.1 396
#
# Scaled residuals:
# Min 1Q Median 3Q Max
# -1.8673 -0.2911 -0.1617 0.3305 4.7969
#
# Random effects:
# Groups Name Variance Std.Dev. Corr
# Participant (Intercept) 0.01558 0.1248
# Preferred_Policy_at_Start2 0.05711 0.2390 -0.19
# Residual 0.11247 0.3354
# Number of obs: 404, groups: Participant, 78
#
# Fixed effects:
# Estimate Std. Error t value Pr(>|z|)
# (Intercept) 0.72677 0.02490 29.184 < 2e-16 ***
# Preferred_Policy_at_Start2 -0.30467 0.04664 -6.532 6.49e-11 ***
# Function_Exposure2 0.02506 0.04582 0.547 0.584
# Preferred_Policy_at_Start2:Function_Exposure2 0.08372 0.08755 0.956 0.339
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
# Correlation of Fixed Effects:
# (Intr) Pr_P__S2 Fnc_E2
# Prfrr_P__S2 -0.151
# Fnctn_Exps2 0.074 -0.013
# P_P__S2:F_E -0.021 0.064 -0.161