Hypothesis – 2X 3 way interactions, no trial number Add in trial number as control variable Take out 3 ways and add trial number interacting Do same for force HC vs Pdoff, HC vs Pdon Wilcoxson test 3 groups for credits
Notes: -For below models, I have correlated all random effects as convergence issues when not correlated. The contrast settings are sum to zero for recipient and dummy coded for group.
Below ouput shows hypothesis model (Choice ~ Group * Agent * Reward + Group * Agent * Effort)
Two.3way.hypo.PDonvsPDoff <- glmer(Choice ~ Group*Recipient_s2z*scale(Reward) +
Group*Recipient_s2z*scale(Effort) +
(1 + scale(Effort) + scale(Reward) + Recipient_s2z + Group | ID), family='binomial', data=PD.df, control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(Two.3way.hypo.PDonvsPDoff)
| Choice | |||
|---|---|---|---|
| Predictors | Odds Ratios | CI | p |
| (Intercept) | 85.23 | 28.59 – 254.03 | <0.001 |
| Group [PD on] | 0.96 | 0.44 – 2.08 | 0.922 |
| Recipient s2z1 | 2.43 | 1.66 – 3.58 | <0.001 |
| Reward | 5.45 | 3.44 – 8.64 | <0.001 |
| Effort | 0.27 | 0.18 – 0.39 | <0.001 |
|
Group [PD on] × Recipient s2z1 |
0.81 | 0.66 – 0.99 | 0.043 |
| Group [PD on] × Reward | 1.01 | 0.83 – 1.22 | 0.951 |
| Recipient s2z1 × Reward | 1.14 | 1.01 – 1.29 | 0.039 |
| Group [PD on] × Effort | 1.13 | 0.94 – 1.36 | 0.185 |
| Recipient s2z1 × Effort | 1.04 | 0.92 – 1.17 | 0.533 |
|
(Group [PD on] × Recipient s2z1) × Reward |
0.95 | 0.80 – 1.12 | 0.527 |
|
(Group [PD on] × Recipient s2z1) × Effort |
1.02 | 0.87 – 1.20 | 0.799 |
| Random Effects | |||
| σ2 | 3.29 | ||
| τ00 ID | 10.55 | ||
| τ11 ID.scale(Effort) | 1.10 | ||
| τ11 ID.scale(Reward) | 1.58 | ||
| τ11 ID.Recipient_s2z1 | 1.05 | ||
| τ11 ID.GroupPD on | 4.62 | ||
| ρ01 | 0.11 | ||
| 0.46 | |||
| -0.19 | |||
| -0.40 | |||
| ICC | 0.81 | ||
| N ID | 38 | ||
| Observations | 11207 | ||
| Marginal R2 / Conditional R2 | 0.231 / 0.852 | ||
Below output shows trial number model (Choice ~ Group * Agent * Reward * Trial + Group * Agent * Effort * Trial
Fourway.EATG.RATG.PDonvsPDoff <- glmer(Choice ~ Group*scale(Trial.number.r)*Recipient_s2z*scale(Reward) +
Group*scale(Trial.number.r)*Recipient_s2z*scale(Effort) +
(1 + scale(Effort) + scale(Reward) + Recipient_s2z + Group + scale(Trial.number.r) | ID), family='binomial', data=PD.df, control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(Fourway.EATG.RATG.PDonvsPDoff)
| Choice | |||
|---|---|---|---|
| Predictors | Odds Ratios | CI | p |
| (Intercept) | 96.14 | 31.25 – 295.75 | <0.001 |
| Group [PD on] | 0.92 | 0.40 – 2.08 | 0.838 |
| Trial number r | 0.90 | 0.71 – 1.14 | 0.371 |
| Recipient s2z1 | 2.60 | 1.73 – 3.92 | <0.001 |
| Reward | 5.59 | 3.52 – 8.88 | <0.001 |
| Effort | 0.25 | 0.17 – 0.37 | <0.001 |
|
Group [PD on] × Trial number r |
1.03 | 0.84 – 1.25 | 0.790 |
|
Group [PD on] × Recipient s2z1 |
0.78 | 0.63 – 0.96 | 0.020 |
|
Trial number r × Recipient s2z1 |
1.14 | 0.99 – 1.30 | 0.061 |
| Group [PD on] × Reward | 0.99 | 0.81 – 1.21 | 0.908 |
| Trial number r × Reward | 1.21 | 1.06 – 1.38 | 0.005 |
| Recipient s2z1 × Reward | 1.14 | 1.00 – 1.30 | 0.042 |
| Group [PD on] × Effort | 1.14 | 0.94 – 1.39 | 0.171 |
| Trial number r × Effort | 0.81 | 0.71 – 0.92 | 0.001 |
| Recipient s2z1 × Effort | 1.06 | 0.93 – 1.20 | 0.388 |
|
Group [PD on] × Trial number r × Recipient s2z1 |
0.96 | 0.80 – 1.15 | 0.659 |
|
(Group [PD on] × Trial number r) × Reward |
0.93 | 0.77 – 1.12 | 0.438 |
|
(Group [PD on] × Recipient s2z1) × Reward |
0.92 | 0.77 – 1.09 | 0.330 |
|
(Trial number r × Recipient s2z1) × Reward |
1.06 | 0.93 – 1.20 | 0.366 |
|
(Group [PD on] × Trial number r) × Effort |
0.85 | 0.71 – 1.01 | 0.060 |
|
(Group [PD on] × Recipient s2z1) × Effort |
1.03 | 0.87 – 1.22 | 0.735 |
|
(Trial number r × Recipient s2z1) × Effort |
1.14 | 1.01 – 1.28 | 0.037 |
|
(Group [PD on] × Trial number r × Recipient s2z1) × Reward |
0.98 | 0.82 – 1.17 | 0.812 |
|
(Group [PD on] × Trial number r × Recipient s2z1) × Effort |
0.97 | 0.82 – 1.15 | 0.741 |
| Random Effects | |||
| σ2 | 3.29 | ||
| τ00 ID | 11.19 | ||
| τ11 ID.scale(Effort) | 1.29 | ||
| τ11 ID.scale(Reward) | 1.59 | ||
| τ11 ID.Recipient_s2z1 | 1.21 | ||
| τ11 ID.GroupPD on | 5.30 | ||
| τ11 ID.scale(Trial.number.r) | 0.19 | ||
| ρ01 | 0.14 | ||
| 0.42 | |||
| -0.22 | |||
| -0.42 | |||
| 0.04 | |||
| ICC | 0.82 | ||
| N ID | 38 | ||
| Observations | 11207 | ||
| Marginal R2 / Conditional R2 | 0.229 / 0.860 | ||
Below output shows hypothesis model
#2X 3 way hypothesis models
Two.3way.hypo.HCvsPDoff <-
glmer(Choice ~ scale(Effort)*Recipient_s2z*Group +
scale(Reward)*Recipient_s2z*Group +
(1 + scale(Effort) + scale(Reward) + Recipient_s2z | ID), family='binomial', data=PDoffvsHC.df,control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(Two.3way.hypo.HCvsPDoff)
| Choice | |||
|---|---|---|---|
| Predictors | Odds Ratios | CI | p |
| (Intercept) | 70.49 | 28.87 – 172.09 | <0.001 |
| Effort | 0.27 | 0.18 – 0.42 | <0.001 |
| Recipient s2z1 | 1.68 | 1.21 – 2.34 | 0.002 |
| Group [PD off] | 1.15 | 0.32 – 4.12 | 0.834 |
| Reward | 6.59 | 3.91 – 11.09 | <0.001 |
| Effort × Recipient s2z1 | 1.12 | 1.00 – 1.25 | 0.051 |
| Effort × Group [PD off] | 1.02 | 0.56 – 1.87 | 0.945 |
|
Recipient s2z1 × Group [PD off] |
1.34 | 0.83 – 2.15 | 0.233 |
| Recipient s2z1 × Reward | 1.23 | 1.08 – 1.40 | 0.001 |
| Group [PD off] × Reward | 0.76 | 0.36 – 1.59 | 0.463 |
|
(Effort × Recipient s2z1) × Group [PD off] |
0.94 | 0.80 – 1.12 | 0.506 |
|
(Recipient s2z1 × Group [PD off]) × Reward |
0.93 | 0.78 – 1.12 | 0.437 |
| Random Effects | |||
| σ2 | 3.29 | ||
| τ00 ID | 7.86 | ||
| τ11 ID.scale(Effort) | 1.65 | ||
| τ11 ID.scale(Reward) | 2.46 | ||
| τ11 ID.Recipient_s2z1 | 0.85 | ||
| ρ01 | 0.18 | ||
| 0.36 | |||
| -0.24 | |||
| ICC | 0.80 | ||
| N ID | 80 | ||
| Observations | 11802 | ||
| Marginal R2 / Conditional R2 | 0.246 / 0.846 | ||
Below output shows trial number model.
#2X four ways with TN
Fourway.EATG.RATG.HCvsPDoff <-
glmer(Choice ~ scale(Effort)*Recipient_s2z*scale(Trial.number.r)*Group +
scale(Reward)*Recipient_s2z*scale(Trial.number.r)*Group +
(1 + scale(Effort) + scale(Reward) + Recipient_s2z + scale(Trial.number.r) | ID), family='binomial', data=PDoffvsHC.df,control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(Fourway.EATG.RATG.HCvsPDoff)
| Choice | |||
|---|---|---|---|
| Predictors | Odds Ratios | CI | p |
| (Intercept) | 116.26 | 41.28 – 327.44 | <0.001 |
| Effort | 0.23 | 0.14 – 0.38 | <0.001 |
| Recipient s2z1 | 1.88 | 1.26 – 2.80 | 0.002 |
| Trial number r | 1.55 | 1.13 – 2.14 | 0.007 |
| Group [PD off] | 0.99 | 0.23 – 4.24 | 0.991 |
| Reward | 8.32 | 4.67 – 14.81 | <0.001 |
| Effort × Recipient s2z1 | 1.14 | 1.00 – 1.29 | 0.045 |
| Effort × Trial number r | 0.76 | 0.67 – 0.87 | <0.001 |
|
Recipient s2z1 × Trial number r |
1.08 | 0.94 – 1.24 | 0.272 |
| Effort × Group [PD off] | 1.05 | 0.52 – 2.10 | 0.897 |
|
Recipient s2z1 × Group [PD off] |
1.38 | 0.78 – 2.42 | 0.267 |
|
Trial number r × Group [PD off] |
0.68 | 0.44 – 1.04 | 0.073 |
| Recipient s2z1 × Reward | 1.31 | 1.13 – 1.51 | <0.001 |
| Trial number r × Reward | 1.68 | 1.45 – 1.96 | <0.001 |
| Group [PD off] × Reward | 0.68 | 0.31 – 1.52 | 0.350 |
|
(Effort × Recipient s2z1) × Trial number r |
1.06 | 0.94 – 1.19 | 0.359 |
|
(Effort × Recipient s2z1) × Group [PD off] |
0.94 | 0.78 – 1.14 | 0.535 |
|
(Effort × Trial number r) × Group [PD off] |
1.00 | 0.83 – 1.20 | 0.995 |
|
(Recipient s2z1 × Trial number r) × Group [PD off] |
1.02 | 0.83 – 1.24 | 0.872 |
|
(Recipient s2z1 × Trial number r) × Reward |
0.99 | 0.86 – 1.13 | 0.831 |
|
(Recipient s2z1 × Group [PD off]) × Reward |
0.88 | 0.72 – 1.08 | 0.236 |
|
(Trial number r × Group [PD off]) × Reward |
0.73 | 0.60 – 0.90 | 0.003 |
|
(Effort × Recipient s2z1 × Trial number r) × Group [PD off] |
1.10 | 0.92 – 1.31 | 0.279 |
|
(Recipient s2z1 × Trial number r × Group [PD off]) × Reward |
1.07 | 0.88 – 1.29 | 0.514 |
| Random Effects | |||
| σ2 | 3.29 | ||
| τ00 ID | 9.62 | ||
| τ11 ID.scale(Effort) | 2.02 | ||
| τ11 ID.scale(Reward) | 2.66 | ||
| τ11 ID.Recipient_s2z1 | 1.14 | ||
| τ11 ID.scale(Trial.number.r) | 0.58 | ||
| ρ01 | 0.20 | ||
| 0.35 | |||
| -0.26 | |||
| 0.39 | |||
| ICC | 0.83 | ||
| N ID | 80 | ||
| Observations | 11802 | ||
| Marginal R2 / Conditional R2 | 0.260 / 0.873 | ||
Below output shows hypothesis model
#2X 3 way hypothesis models
Two.3way.hypo.HCvsPDon <-
glmer(Choice ~ scale(Effort)*Recipient_s2z*Group +
scale(Reward)*Recipient_s2z*Group +
(1 + scale(Effort) + scale(Reward) + Recipient_s2z | ID), family='binomial', data=HC_vs_PDon_df,control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(Two.3way.hypo.HCvsPDon)
| Choice | |||
|---|---|---|---|
| Predictors | Odds Ratios | CI | p |
| (Intercept) | 71.08 | 29.00 – 174.22 | <0.001 |
| Effort | 0.27 | 0.18 – 0.41 | <0.001 |
| Recipient s2z1 | 1.63 | 1.17 – 2.28 | 0.004 |
| Group [PD on] | 1.32 | 0.36 – 4.77 | 0.674 |
| Reward | 6.48 | 3.78 – 11.10 | <0.001 |
| Effort × Recipient s2z1 | 1.13 | 1.01 – 1.26 | 0.039 |
| Effort × Group [PD on] | 0.97 | 0.53 – 1.81 | 0.934 |
|
Recipient s2z1 × Group [PD on] |
1.16 | 0.72 – 1.87 | 0.546 |
| Recipient s2z1 × Reward | 1.21 | 1.07 – 1.38 | 0.003 |
| Group [PD on] × Reward | 0.92 | 0.43 – 1.99 | 0.830 |
|
(Effort × Recipient s2z1) × Group [PD on] |
0.95 | 0.81 – 1.13 | 0.591 |
|
(Recipient s2z1 × Group [PD on]) × Reward |
0.90 | 0.75 – 1.09 | 0.272 |
| Random Effects | |||
| σ2 | 3.29 | ||
| τ00 ID | 7.97 | ||
| τ11 ID.scale(Effort) | 1.70 | ||
| τ11 ID.scale(Reward) | 2.70 | ||
| τ11 ID.Recipient_s2z1 | 0.87 | ||
| ρ01 | 0.15 | ||
| 0.32 | |||
| -0.37 | |||
| ICC | 0.80 | ||
| N ID | 80 | ||
| Observations | 11869 | ||
| Marginal R2 / Conditional R2 | 0.249 / 0.850 | ||
Below output shows trial number model.
#2X four ways with TN
Fourway.EATG.RATG.HCvsPDon <-
glmer(Choice ~ scale(Effort)*Recipient_s2z*scale(Trial.number.r)*Group +
scale(Reward)*Recipient_s2z*scale(Trial.number.r)*Group +
(1 + scale(Effort) + scale(Reward) + Recipient_s2z | ID), family='binomial', data=HC_vs_PDon_df,control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(Fourway.EATG.RATG.HCvsPDon)
| Choice | |||
|---|---|---|---|
| Predictors | Odds Ratios | CI | p |
| (Intercept) | 79.65 | 30.20 – 210.04 | <0.001 |
| Effort | 0.26 | 0.16 – 0.41 | <0.001 |
| Recipient s2z1 | 1.75 | 1.20 – 2.54 | 0.004 |
| Trial number r | 1.18 | 1.04 – 1.35 | 0.011 |
| Group [PD on] | 1.29 | 0.32 – 5.12 | 0.717 |
| Reward | 6.75 | 3.81 – 11.96 | <0.001 |
| Effort × Recipient s2z1 | 1.14 | 1.01 – 1.29 | 0.040 |
| Effort × Trial number r | 0.79 | 0.70 – 0.88 | <0.001 |
|
Recipient s2z1 × Trial number r |
1.12 | 0.99 – 1.28 | 0.076 |
| Effort × Group [PD on] | 0.98 | 0.50 – 1.92 | 0.945 |
|
Recipient s2z1 × Group [PD on] |
1.09 | 0.64 – 1.84 | 0.752 |
|
Trial number r × Group [PD on] |
0.71 | 0.59 – 0.86 | <0.001 |
| Recipient s2z1 × Reward | 1.31 | 1.14 – 1.51 | <0.001 |
| Trial number r × Reward | 1.57 | 1.38 – 1.79 | <0.001 |
| Group [PD on] × Reward | 0.90 | 0.40 – 2.02 | 0.796 |
|
(Effort × Recipient s2z1) × Trial number r |
1.05 | 0.94 – 1.17 | 0.418 |
|
(Effort × Recipient s2z1) × Group [PD on] |
0.98 | 0.81 – 1.17 | 0.787 |
|
(Effort × Trial number r) × Group [PD on] |
0.83 | 0.70 – 0.98 | 0.032 |
|
(Recipient s2z1 × Trial number r) × Group [PD on] |
0.93 | 0.77 – 1.12 | 0.431 |
|
(Recipient s2z1 × Trial number r) × Reward |
0.99 | 0.87 – 1.13 | 0.912 |
|
(Recipient s2z1 × Group [PD on]) × Reward |
0.82 | 0.67 – 1.00 | 0.049 |
|
(Trial number r × Group [PD on]) × Reward |
0.68 | 0.57 – 0.82 | <0.001 |
|
(Effort × Recipient s2z1 × Trial number r) × Group [PD on] |
1.07 | 0.90 – 1.27 | 0.466 |
|
(Recipient s2z1 × Trial number r × Group [PD on]) × Reward |
1.00 | 0.83 – 1.20 | 0.963 |
| Random Effects | |||
| σ2 | 3.29 | ||
| τ00 ID | 8.62 | ||
| τ11 ID.scale(Effort) | 1.90 | ||
| τ11 ID.scale(Reward) | 2.75 | ||
| τ11 ID.Recipient_s2z1 | 0.99 | ||
| ρ01 | 0.18 | ||
| 0.28 | |||
| -0.41 | |||
| ICC | 0.81 | ||
| N ID | 80 | ||
| Observations | 11869 | ||
| Marginal R2 / Conditional R2 | 0.251 / 0.859 | ||
Note that in the maximal force models (with all random effects as in fixed effects), reward, recipient and trial contribute very little (<1%) to the variance, therefore the random effect structure only consists of effort (and group for within subjects). All models use correlated REs and s2z-coded recipient.
#same models as above don't converge
#converges when correlate REs
force.two.3way.hypo.PDonvsPDoff <- lmer(scale(force_norm_2) ~ Group*Recipient_s2z*scale(Reward) +
Group*Recipient_s2z*scale(Effort) +
(1 + scale(Effort) + Group | ID), data=force.PD.df, control=lmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(force.two.3way.hypo.PDonvsPDoff)
| scale(force_norm_2) | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | -0.01 | -0.25 – 0.22 | 0.914 |
| Group [PD on] | 0.07 | -0.08 – 0.22 | 0.386 |
| Recipient s2z1 | 0.02 | 0.00 – 0.03 | 0.009 |
| Reward | 0.03 | 0.02 – 0.04 | <0.001 |
| Effort | 0.53 | 0.47 – 0.59 | <0.001 |
|
Group [PD on] × Recipient s2z1 |
-0.01 | -0.03 – 0.00 | 0.139 |
| Group [PD on] × Reward | 0.00 | -0.01 – 0.02 | 0.784 |
| Recipient s2z1 × Reward | -0.00 | -0.01 – 0.01 | 0.790 |
| Group [PD on] × Effort | 0.05 | 0.03 – 0.06 | <0.001 |
| Recipient s2z1 × Effort | 0.00 | -0.01 – 0.01 | 0.954 |
|
(Group [PD on] × Recipient s2z1) × Reward |
0.00 | -0.01 – 0.02 | 0.765 |
|
(Group [PD on] × Recipient s2z1) × Effort |
-0.00 | -0.02 – 0.01 | 0.779 |
| Random Effects | |||
| σ2 | 0.16 | ||
| τ00 ID | 0.55 | ||
| τ11 ID.scale(Effort) | 0.03 | ||
| τ11 ID.GroupPD on | 0.23 | ||
| ρ01 | 0.72 | ||
| -0.34 | |||
| ICC | 0.78 | ||
| N ID | 38 | ||
| Observations | 9330 | ||
| Marginal R2 / Conditional R2 | 0.299 / 0.846 | ||
force.4way.PDonvsPDoff <- lmer(scale(force_norm_2) ~ Group*Recipient_s2z*scale(Reward)*scale(Trial.number.r) +
Group*Recipient_s2z*scale(Effort)*scale(Trial.number.r) +
(1 + scale(Effort) + Group | ID), data=force.PD.df, control=lmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(force.4way.PDonvsPDoff)
| scale(force_norm_2) | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | -0.01 | -0.25 – 0.23 | 0.931 |
| Group [PD on] | 0.07 | -0.09 – 0.22 | 0.402 |
| Recipient s2z1 | 0.01 | 0.00 – 0.03 | 0.023 |
| Reward | 0.03 | 0.02 – 0.05 | <0.001 |
| Trial number r | 0.03 | 0.02 – 0.05 | <0.001 |
| Effort | 0.54 | 0.48 – 0.59 | <0.001 |
|
Group [PD on] × Recipient s2z1 |
-0.01 | -0.02 – 0.01 | 0.397 |
| Group [PD on] × Reward | 0.00 | -0.01 – 0.02 | 0.757 |
| Recipient s2z1 × Reward | 0.00 | -0.01 – 0.02 | 0.472 |
|
Group [PD on] × Trial number r |
-0.02 | -0.04 – -0.00 | 0.011 |
|
Recipient s2z1 × Trial number r |
0.00 | -0.01 – 0.01 | 0.738 |
| Reward × Trial number r | 0.01 | -0.01 – 0.02 | 0.321 |
| Group [PD on] × Effort | 0.04 | 0.03 – 0.06 | <0.001 |
| Recipient s2z1 × Effort | -0.00 | -0.01 – 0.01 | 0.906 |
| Trial number r × Effort | 0.01 | 0.00 – 0.03 | 0.016 |
|
(Group [PD on] × Recipient s2z1) × Reward |
0.00 | -0.02 – 0.02 | 0.975 |
|
(Group [PD on] × Recipient s2z1) × Trial number r |
0.01 | -0.01 – 0.03 | 0.333 |
|
(Group [PD on] × Reward) × Trial number r |
0.02 | -0.00 – 0.03 | 0.096 |
|
(Recipient s2z1 × Reward) × Trial number r |
0.00 | -0.01 – 0.01 | 0.729 |
|
(Group [PD on] × Recipient s2z1) × Effort |
0.00 | -0.01 – 0.02 | 0.738 |
|
(Group [PD on] × Trial number r) × Effort |
-0.01 | -0.02 – 0.01 | 0.403 |
|
(Recipient s2z1 × Trial number r) × Effort |
-0.01 | -0.02 – 0.01 | 0.259 |
|
(Group [PD on] × Recipient s2z1 × Reward) × Trial number r |
-0.01 | -0.03 – 0.01 | 0.201 |
|
(Group [PD on] × Recipient s2z1 × Trial number r) × Effort |
0.02 | 0.00 – 0.04 | 0.028 |
| Random Effects | |||
| σ2 | 0.16 | ||
| τ00 ID | 0.55 | ||
| τ11 ID.scale(Effort) | 0.03 | ||
| τ11 ID.GroupPD on | 0.23 | ||
| ρ01 | 0.72 | ||
| -0.34 | |||
| ICC | 0.78 | ||
| N ID | 38 | ||
| Observations | 9330 | ||
| Marginal R2 / Conditional R2 | 0.300 / 0.847 | ||
emmip(force.4way.PDonvsPDoff, Group ~ Effort, at=list(Effort = c(4,9,16,25,36)), type = 'response', lmerTest.limit = 9330)
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 9330' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 9330)' or larger];
## but be warned that this may result in large computation time and memory use.
## NOTE: Results may be misleading due to involvement in interactions
emmip(force.4way.PDonvsPDoff, Effort ~ Trial.number.r | Recipient_s2z | Group, at=list(Trial.number.r = 1:150, Effort = c(4,36)), type = 'response', lmerTest.limit = 9330)
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 9330' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 9330)' or larger];
## but be warned that this may result in large computation time and memory use.
force.two.3way.hypo.HCvsPDoff <- lmer(scale(force_norm_2) ~ Group*Recipient_s2z*scale(Reward) +
Group*Recipient_s2z*scale(Effort) +
(1 + scale(Effort) | ID), data=force.PDoffvsHC.df, control=lmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(force.two.3way.hypo.HCvsPDoff)
| scale(force_norm_2) | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 0.20 | 0.01 – 0.40 | 0.040 |
| Group [PD off] | -0.35 | -0.63 – -0.07 | 0.014 |
| Recipient s2z1 | 0.00 | -0.01 – 0.01 | 0.718 |
| Reward | 0.03 | 0.02 – 0.05 | <0.001 |
| Effort | 0.70 | 0.64 – 0.76 | <0.001 |
|
Group [PD off] × Recipient s2z1 |
0.02 | -0.00 – 0.03 | 0.067 |
| Group [PD off] × Reward | 0.00 | -0.01 – 0.02 | 0.763 |
| Recipient s2z1 × Reward | -0.01 | -0.02 – 0.01 | 0.311 |
| Group [PD off] × Effort | -0.12 | -0.20 – -0.03 | 0.006 |
| Recipient s2z1 × Effort | -0.01 | -0.02 – 0.01 | 0.278 |
|
(Group [PD off] × Recipient s2z1) × Reward |
0.00 | -0.01 – 0.02 | 0.624 |
|
(Group [PD off] × Recipient s2z1) × Effort |
0.01 | -0.01 – 0.03 | 0.291 |
| Random Effects | |||
| σ2 | 0.19 | ||
| τ00 ID | 0.41 | ||
| τ11 ID.scale(Effort) | 0.04 | ||
| ρ01 ID | 0.62 | ||
| ICC | 0.70 | ||
| N ID | 80 | ||
| Observations | 9829 | ||
| Marginal R2 / Conditional R2 | 0.418 / 0.827 | ||
emmip(force.two.3way.hypo.HCvsPDoff, Group ~ Effort, at=list(Effort = c(4,9,16,25,36)), type = 'response', lmerTest.limit = 9330)
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 9829' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 9829)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 9330.
## To enable adjustments, add the argument 'lmerTest.limit = 9829' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 9829)' or larger];
## but be warned that this may result in large computation time and memory use.
## NOTE: Results may be misleading due to involvement in interactions
force.4way.HCvsPDoff <- lmer(scale(force_norm_2) ~ Group*Recipient_s2z*scale(Reward)*scale(Trial.number.r) +
Group*Recipient_s2z*scale(Effort)*scale(Trial.number.r) +
(1 + scale(Effort) | ID), data=force.PDoffvsHC.df, control=lmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(force.4way.HCvsPDoff)
| scale(force_norm_2) | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 0.20 | 0.01 – 0.40 | 0.039 |
| Group [PD off] | -0.35 | -0.63 – -0.07 | 0.014 |
| Recipient s2z1 | 0.00 | -0.01 – 0.01 | 0.672 |
| Reward | 0.03 | 0.02 – 0.05 | <0.001 |
| Trial number r | 0.04 | 0.03 – 0.05 | <0.001 |
| Effort | 0.71 | 0.65 – 0.76 | <0.001 |
|
Group [PD off] × Recipient s2z1 |
0.01 | -0.00 – 0.03 | 0.122 |
| Group [PD off] × Reward | 0.00 | -0.01 – 0.02 | 0.730 |
| Recipient s2z1 × Reward | 0.00 | -0.01 – 0.01 | 0.722 |
|
Group [PD off] × Trial number r |
-0.00 | -0.02 – 0.01 | 0.672 |
|
Recipient s2z1 × Trial number r |
0.02 | 0.00 – 0.03 | 0.007 |
| Reward × Trial number r | 0.01 | -0.00 – 0.02 | 0.116 |
| Group [PD off] × Effort | -0.12 | -0.20 – -0.03 | 0.006 |
| Recipient s2z1 × Effort | -0.00 | -0.01 – 0.01 | 0.705 |
| Trial number r × Effort | 0.03 | 0.02 – 0.05 | <0.001 |
|
(Group [PD off] × Recipient s2z1) × Reward |
0.00 | -0.02 – 0.02 | 0.793 |
|
(Group [PD off] × Recipient s2z1) × Trial number r |
-0.01 | -0.03 – 0.00 | 0.121 |
|
(Group [PD off] × Reward) × Trial number r |
-0.00 | -0.02 – 0.02 | 0.712 |
|
(Recipient s2z1 × Reward) × Trial number r |
-0.01 | -0.03 – -0.00 | 0.027 |
|
(Group [PD off] × Recipient s2z1) × Effort |
0.00 | -0.01 – 0.02 | 0.663 |
|
(Group [PD off] × Trial number r) × Effort |
-0.02 | -0.04 – -0.00 | 0.047 |
|
(Recipient s2z1 × Trial number r) × Effort |
0.01 | -0.00 – 0.02 | 0.103 |
|
(Group [PD off] × Recipient s2z1 × Reward) × Trial number r |
0.02 | -0.00 – 0.03 | 0.085 |
|
(Group [PD off] × Recipient s2z1 × Trial number r) × Effort |
-0.02 | -0.04 – 0.00 | 0.055 |
| Random Effects | |||
| σ2 | 0.18 | ||
| τ00 ID | 0.41 | ||
| τ11 ID.scale(Effort) | 0.04 | ||
| ρ01 ID | 0.63 | ||
| ICC | 0.71 | ||
| N ID | 80 | ||
| Observations | 9829 | ||
| Marginal R2 / Conditional R2 | 0.420 / 0.830 | ||
emmip(force.4way.HCvsPDoff, Effort ~ Trial.number.r | Group, at=list(Trial.number.r = 1:150, Effort = c(4,9, 16,25,36)), type = 'response', lmerTest.limit = 9330)
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 9829' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 9829)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 9330.
## To enable adjustments, add the argument 'lmerTest.limit = 9829' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 9829)' or larger];
## but be warned that this may result in large computation time and memory use.
## NOTE: Results may be misleading due to involvement in interactions
#emmip(force.4way.HCvsPDoff, Recipient_s2z ~ Trial.number.r | Group, at=list(Trial.number.r = 1:150), type = 'response')
force.two.3way.hypo.HCvsPDon <- lmer(scale(force_norm_2) ~ Group*Recipient_s2z*scale(Reward) +
Group*Recipient*scale(Effort) +
(1 + scale(Effort) | ID), data=force.HC_vs_PDon_df, control=lmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
## fixed-effect model matrix is rank deficient so dropping 2 columns / coefficients
## fixed-effect model matrix is rank deficient so dropping 2 columns / coefficients
tab_model(force.two.3way.hypo.HCvsPDon)
| scale(force_norm_2) | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 0.16 | -0.03 – 0.35 | 0.092 |
| Group [PD on] | -0.28 | -0.55 – -0.00 | 0.049 |
| Recipient s2z1 | 0.00 | -0.01 – 0.01 | 0.734 |
| Reward | 0.03 | 0.02 – 0.05 | <0.001 |
| Effort | 0.68 | 0.62 – 0.75 | <0.001 |
|
Group [PD on] × Recipient s2z1 |
0.00 | -0.02 – 0.02 | 0.881 |
| Group [PD on] × Reward | 0.00 | -0.01 – 0.02 | 0.656 |
| Recipient s2z1 × Reward | -0.01 | -0.02 – 0.01 | 0.328 |
| Group [PD on] × Effort | -0.06 | -0.15 – 0.03 | 0.210 |
|
Recipient [other] × Effort |
0.01 | -0.01 – 0.04 | 0.295 |
|
(Group [PD on] × Recipient s2z1) × Reward |
0.01 | -0.01 – 0.02 | 0.458 |
|
Group [PD on] × Recipient [other] × Effort |
-0.01 | -0.04 – 0.03 | 0.676 |
| Random Effects | |||
| σ2 | 0.19 | ||
| τ00 ID | 0.39 | ||
| τ11 ID.scale(Effort) | 0.04 | ||
| ρ01 ID | 0.72 | ||
| ICC | 0.69 | ||
| N ID | 80 | ||
| Observations | 9863 | ||
| Marginal R2 / Conditional R2 | 0.423 / 0.821 | ||
force.two.fourway.hypo.HCvsPDon <- lmer(scale(force_norm_2) ~ Group*Recipient_s2z*scale(Reward)*scale(Trial.number.r) +
Group*Recipient_s2z*scale(Effort)*scale(Trial.number.r) +
(1 + scale(Effort) | ID), data=force.HC_vs_PDon_df, REML=FALSE, control=lmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
tab_model(force.two.fourway.hypo.HCvsPDon)
| scale(force_norm_2) | |||
|---|---|---|---|
| Predictors | Estimates | CI | p |
| (Intercept) | 0.16 | -0.02 – 0.35 | 0.086 |
| Group [PD on] | -0.28 | -0.55 – -0.01 | 0.046 |
| Recipient s2z1 | 0.00 | -0.01 – 0.01 | 0.686 |
| Reward | 0.03 | 0.02 – 0.05 | <0.001 |
| Trial number r | 0.04 | 0.03 – 0.05 | <0.001 |
| Effort | 0.69 | 0.63 – 0.76 | <0.001 |
|
Group [PD on] × Recipient s2z1 |
0.00 | -0.01 – 0.02 | 0.599 |
| Group [PD on] × Reward | 0.01 | -0.01 – 0.02 | 0.584 |
| Recipient s2z1 × Reward | 0.00 | -0.01 – 0.01 | 0.725 |
|
Group [PD on] × Trial number r |
-0.03 | -0.04 – -0.01 | 0.003 |
|
Recipient s2z1 × Trial number r |
0.02 | 0.00 – 0.03 | 0.009 |
| Reward × Trial number r | 0.01 | -0.00 – 0.02 | 0.128 |
| Group [PD on] × Effort | -0.07 | -0.16 – 0.02 | 0.133 |
| Recipient s2z1 × Effort | -0.00 | -0.01 – 0.01 | 0.714 |
| Trial number r × Effort | 0.03 | 0.02 – 0.05 | <0.001 |
|
(Group [PD on] × Recipient s2z1) × Reward |
0.00 | -0.02 – 0.02 | 0.805 |
|
(Group [PD on] × Recipient s2z1) × Trial number r |
-0.01 | -0.02 – 0.01 | 0.569 |
|
(Group [PD on] × Reward) × Trial number r |
0.01 | -0.01 – 0.03 | 0.186 |
|
(Recipient s2z1 × Reward) × Trial number r |
-0.01 | -0.03 – -0.00 | 0.033 |
|
(Group [PD on] × Recipient s2z1) × Effort |
0.00 | -0.01 – 0.02 | 0.639 |
|
(Group [PD on] × Trial number r) × Effort |
-0.02 | -0.04 – -0.01 | 0.008 |
|
(Recipient s2z1 × Trial number r) × Effort |
0.01 | -0.00 – 0.02 | 0.115 |
|
(Group [PD on] × Recipient s2z1 × Reward) × Trial number r |
0.00 | -0.01 – 0.02 | 0.642 |
|
(Group [PD on] × Recipient s2z1 × Trial number r) × Effort |
0.00 | -0.01 – 0.02 | 0.712 |
| Random Effects | |||
| σ2 | 0.19 | ||
| τ00 ID | 0.38 | ||
| τ11 ID.scale(Effort) | 0.04 | ||
| ρ01 ID | 0.72 | ||
| ICC | 0.69 | ||
| N ID | 80 | ||
| Observations | 9863 | ||
| Marginal R2 / Conditional R2 | 0.430 / 0.821 | ||
emmip(force.two.fourway.hypo.HCvsPDon, Effort ~ Trial.number.r | Group, at=list(Trial.number.r = 1:150, Effort = c(4,9, 16,25,36)), type = 'response', lmerTest.limit = 9330)
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 9863' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 9863)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 9330.
## To enable adjustments, add the argument 'lmerTest.limit = 9863' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 9863)' or larger];
## but be warned that this may result in large computation time and memory use.
## NOTE: Results may be misleading due to involvement in interactions
emmip(force.two.fourway.hypo.HCvsPDon, Group ~ Trial.number.r, at=list(Trial.number.r = 1:150), type = 'response', lmerTest.limit = 9330)
## Note: D.f. calculations have been disabled because the number of observations exceeds 3000.
## To enable adjustments, add the argument 'pbkrtest.limit = 9863' (or larger)
## [or, globally, 'set emm_options(pbkrtest.limit = 9863)' or larger];
## but be warned that this may result in large computation time and memory use.
## Note: D.f. calculations have been disabled because the number of observations exceeds 9330.
## To enable adjustments, add the argument 'lmerTest.limit = 9863' (or larger)
## [or, globally, 'set emm_options(lmerTest.limit = 9863)' or larger];
## but be warned that this may result in large computation time and memory use.
## NOTE: Results may be misleading due to involvement in interactions
## Wilcox tests of Credits
Below show pairwise Wilcox tests comparing groups with regard to number of credits earned. They show total credits, total credits for self and total credits for other. No differences between any groupwise comparisons.
#HC vs PDoff - credits overall
credits_stats_total_HCvsPDoff <-
PDoffvsHC.df %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits ~ Group, data = credits_stats_total_HCvsPDoff, paired = FALSE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits HC PD off 42 38 884. 0.407
#no difference between groups
#HC vs PDoff - credits for self
credits_stats_totalself_HCvsPDoff <-
MASTER.df.full %>%
filter(Group != 'PD on') %>%
filter(Recipient == 'self') %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits_self = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits_self ~ Group, data = credits_stats_totalself_HCvsPDoff, paired = FALSE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits_self HC PD off 42 38 826 0.791
#no difference
#HC vs PDoff - credits for other
credits_stats_totalother_HCvsPDoff <-
MASTER.df.full %>%
filter(Group != 'PD on') %>%
filter(Recipient == 'other') %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits_other = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits_other ~ Group, data = credits_stats_totalother_HCvsPDoff, paired = FALSE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits_other HC PD off 42 38 908. 0.289
#no difference
#PD on vs PDoff - credits overall
credits_stats_total_PDonvsPDoff <-
PD.df %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits ~ Group, data = credits_stats_total_PDonvsPDoff, paired = TRUE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits PD off PD on 38 38 350 0.988
#no difference between groups
#PDon vs PDoff - credits for self
credits_stats_totalself_PDonvsPDoff <-
PD.df %>%
filter(Recipient == 'self') %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits_self = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits_self ~ Group, data = credits_stats_totalself_PDonvsPDoff, paired = TRUE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits_self PD off PD on 38 38 336. 0.962
#no difference between groups
#PDon vs PDoff - credits for other
credits_stats_totalother_PDonvsPDoff <-
PD.df %>%
filter(Recipient == 'other') %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits_other = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits_other ~ Group, data = credits_stats_totalother_PDonvsPDoff, paired = TRUE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits_other PD off PD on 38 38 334. 1
# HC vs PDon - overall credits
credits_stats_total_PDonvsHC <-
HC_vs_PDon_df %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits ~ Group, data = credits_stats_total_PDonvsHC, paired = FALSE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits HC PD on 42 38 878. 0.441
#no difference
#HC vs PDon - credits for self
credits_stats_totalself_PDonvsHC <-
HC_vs_PDon_df %>%
filter(Recipient == 'self') %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits_self = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits_self ~ Group, data = credits_stats_totalself_PDonvsHC, paired = FALSE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits_self HC PD on 42 38 832. 0.75
#no difference
#HC vs PDon - credits for other
credits_stats_totalother_PDonvsHC <-
HC_vs_PDon_df %>%
filter(Recipient == 'other') %>%
select(c(ID, Group,Recipient, Recipient_s2z, Outcome)) %>%
group_by(ID, Group) %>%
dplyr::summarise(total_credits_other = sum(Outcome), .groups = 'drop')
wilcox_test(total_credits_other ~ Group, data = credits_stats_totalother_PDonvsHC, paired = FALSE)
## # A tibble: 1 × 7
## .y. group1 group2 n1 n2 statistic p
## * <chr> <chr> <chr> <int> <int> <dbl> <dbl>
## 1 total_credits_other HC PD on 42 38 904. 0.312
#no difference
Below shows output of very simple glm of success (Success ~ Group + (1| ID)), as well as mean success across groups
simplesuccessglmer <- glmer(Success ~ Group +
(1 | ID), family='binomial', data=success.threegroups.df,control=glmerControl(optimizer='bobyqa', optCtrl=list(maxfun=2e5)))
summary(simplesuccessglmer)
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: Success ~ Group + (1 | ID)
## Data: success.threegroups.df
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e+05))
##
## AIC BIC logLik deviance df.resid
## 4550.5 4580.8 -2271.2 4542.5 14507
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -12.6097 0.0841 0.1286 0.2275 0.5440
##
## Random effects:
## Groups Name Variance Std.Dev.
## ID (Intercept) 1.853 1.361
## Number of obs: 14511, groups: ID, 80
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.2956 0.2494 17.226 <2e-16 ***
## GroupPD off -0.5482 0.3424 -1.601 0.1094
## GroupPD on -0.6895 0.3415 -2.019 0.0435 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) GrpPDof
## GroupPD off -0.702
## GroupPD on -0.704 0.960
success.threegroups.df %>%
select(c(ID, Group, Success.r)) %>%
group_by(ID, Group) %>%
dplyr::summarise(mean_succ = mean(Success.r)) %>%
group_by(Group) %>%
dplyr::summarise(success = mean(mean_succ))
## `summarise()` has grouped output by 'ID'. You can override using the `.groups`
## argument.
## # A tibble: 3 × 2
## Group success
## <fct> <dbl>
## 1 HC 0.972
## 2 PD off 0.952
## 3 PD on 0.945