Main Analyses - Consistent sample with environmental vegetarians

Author

Anonymised

Published

last rendered on: Aug 11, 2025

Show the code
# Change the following values depending on the session
date <- "2025-05-19"

# Load data file
All_Measures_Per_Trial <- utils::read.csv(paste("../preprocessed data/All_Measures_Per_Trial_", date, ".csv", sep=""))

#Filter participants 
All_Measures_Per_Trial <- All_Measures_Per_Trial %>%
  mutate(env_vegetarianism = case_when(
    vege == 1 & vege_Prolific == 1 & pivotal.reason == "Yes" ~ 1,
    vege == 0 & vege_Prolific == 0 ~ 0,
    TRUE ~ NA_real_
  ))

1 Descriptive statistics

Group Descriptive Statistics with t-test Results
Variable Omnivore_Mean Omnivore_SD Env_vegetarian_Mean Env_vegetarian_SD t_value p_value
Sample size 172 NA 122 NA NA NA
Age 40 10.569 36.508 11.400 2.667 0.008
Education 4.68 1.138 5.131 0.909 -3.771 0.000
Income 4.238 1.599 4.074 1.716 0.833 0.405
Gender Distribution by Group (Chi² p-value = 0.305)
Non-vegetarian Environmental vegetarian
W 80 65
M 92 57
Proportion of pro-environmental decisions
Variable Omnivore_Mean Omnivore_SD Vegetarian_Mean Vegetarian_SD
Decision 0.51 0.36 0.62 0.38

Number of participants consistently choosing the same option
Chosen.option Non_vegetarians Environmental_vegetarians
Always pro-self 30 17
Always pro-environmental 23 38
Environmental attitude score and perceived efficacy of CO2 certificates
Variable Omnivore_Mean Omnivore_SD Env_vegetarian_Mean Env_vegetarian_SD t_value p_value
NEP score 54.808 9.434 56.500 9.465 -1.512 0.132
Certificates efficacy 3.326 1.081 3.656 1.058 -2.612 0.010

Process tracing measures
Variable Omnivore_Mean Omnivore_SD Env_vegetarian_Mean Env_vegetarian_SD
Delta duration on attributes 0.02 0.43 0.13 0.46
Delta duration on options 0.00 0.09 0.02 0.10
First acquisition on CO2 0.51 0.44 0.62 0.42
Last acquisition on CO2 0.46 0.34 0.50 0.36
Payne index -0.53 0.34 -0.41 0.48

2 Preregistered main analyses

2.1 RQ1: diet predicts pro-environmental decision

2.1.1 Main models

Show the code
M1.1 <- glmer(
  formula = decision ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

M1.2 <- glmer(
  formula = decision ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

M1.3 <- glmer(
  formula = decision ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

To compare environmental vegetarians and non-vegetarians in the proportion of pro-environmental decisions made in the carbon emission task (RQ1), we run mixed-effects logistic regressions with decision as the dependent variable and random intercepts for participants and trials.

  • In the first model (M1.1), we include environmental vegetarianism (coded as 1 for environmental vegetarians, 0 for non-vegetarians) as the main predictor of interest. Additionally, attribute position (coded as 1 if carbon emissions are displayed at the top of the matrix, 0 if at the bottom) and option position (coded as 1 if the pro-environmental option is on the left, 0 if on the right) are also included as fixed effects to account for potential display effects.

  • In the second model (M1.2), we test the sensitivity of results of M1.1 to the addition of control variables related to the task by adding fixed effects for percentage difference in carbon emissions (ranging from 1 [10%] to 5 [100%]), percentage difference in bonus payment (ranging from 1 [10%] to 5 [100%]) and sequential position of the trial (ranging from 1 to 25).

  • In the third model (M1.3), we test the sensitivity of results of M1.1 to the addition of demographic control variables by adding fixed effects for sex, age, education, income, environmental attitudes (assessed by the New Ecological Paradigm), and beliefs in the efficacy of European Union Emission Trading System (measured on a 5-point Likert scale from 1=not effective at all to 5=very effective).

  decision
Predictors Odds Ratios CI p
(Intercept) 0.35 0.11 – 1.10 0.072
env vegetarianism 7.26 2.38 – 22.15 <0.001
CB carbonUp 5.31 1.77 – 15.96 0.003
CB selfishLeft 0.97 0.82 – 1.14 0.686
Random Effects
σ2 3.29
τ00 subject 21.40
τ00 trialNum_fixed 2.99
ICC 0.88
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.057 / 0.888
  decision
Predictors Odds Ratios CI p
(Intercept) 0.63 0.20 – 1.96 0.428
env vegetarianism 7.23 2.37 – 22.03 0.001
CB carbonUp 5.31 1.77 – 15.92 0.003
CB selfishLeft 0.97 0.82 – 1.14 0.683
carbon level 2.05 1.77 – 2.38 <0.001
bonus level 0.40 0.34 – 0.46 <0.001
trialNum centred 0.99 0.98 – 1.01 0.320
Random Effects
σ2 3.29
τ00 subject 21.35
τ00 trialNum_fixed 0.23
ICC 0.87
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.150 / 0.888
  decision
Predictors Odds Ratios CI p
(Intercept) 0.02 0.00 – 0.51 0.020
env vegetarianism 4.33 1.37 – 13.70 0.012
CB carbonUp 4.97 1.69 – 14.60 0.004
CB selfishLeft 0.97 0.81 – 1.15 0.704
gender 1.98 0.63 – 6.27 0.243
age centred 1.02 0.97 – 1.07 0.477
education level 0.91 0.54 – 1.54 0.735
income 0.85 0.61 – 1.20 0.351
CertificatesEff 3.30 1.96 – 5.56 <0.001
NEP score centred 1.19 1.11 – 1.26 <0.001
Random Effects
σ2 3.29
τ00 subject 18.13
τ00 trialNum_fixed 3.01
ICC 0.87
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.210 / 0.894
Data: All_Measures_Per_Trial
Models:
M1.1: decision ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject) + (1 | trialNum_fixed)
M1.2: decision ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject) + (1 | trialNum_fixed)
M1.3: decision ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject) + (1 | trialNum_fixed)
     npar    AIC    BIC  logLik deviance Chisq Df Pr(>Chisq)    
M1.1    6 4575.6 4616.8 -2281.8   4563.6                        
M1.2    9 4522.0 4583.8 -2252.0   4504.0 59.57  3  7.264e-13 ***
M1.3   12 4529.2 4611.7 -2252.6   4505.2  0.00  3          1    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

2.1.2 Post Hoc analyses

If any control variables showed significant effects, we tested for potential interactions with vegetarianism.

Show the code
#Post hoc on significant covariates for M1.1
M1_CarbonUp <- glmer(
  formula = decision ~ env_vegetarianism * CB_carbonUp + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)

tab_model(M1_CarbonUp, transform = "exp")  
  decision
Predictors Odds Ratios CI p
(Intercept) 0.45 0.13 – 1.58 0.215
env vegetarianism 3.67 0.72 – 18.77 0.119
CB carbonUp 3.16 0.76 – 13.16 0.114
env vegetarianism × CB
carbonUp
3.60 0.39 – 33.36 0.259
Random Effects
σ2 3.29
τ00 subject 21.32
τ00 trialNum_fixed 2.99
ICC 0.88
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.060 / 0.888
Show the code
#Post hoc on significant covariates for M1.2
M1_Carbon <- glmer(
  formula = decision ~ env_vegetarianism * carbon_level + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)
  
tab_model(M1_Carbon, transform = "exp")  
  decision
Predictors Odds Ratios CI p
(Intercept) 0.08 0.02 – 0.34 0.001
env vegetarianism 13.67 4.17 – 44.83 <0.001
carbon level 2.23 1.50 – 3.32 <0.001
env vegetarianism ×
carbon level
0.80 0.71 – 0.91 <0.001
Random Effects
σ2 3.29
τ00 subject 22.03
τ00 trialNum_fixed 1.97
ICC 0.88
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.067 / 0.887


Simple slopes analyses were conducted to interpret the interactions.

Pairwise contrasts at each carbon difference
carbon_level Contrast Odds Ratio 95% CI Signif. p-value
1 env_vegetarianism0 - env_vegetarianism1 0.09 0.03 0.29 *** < 0.001
2 env_vegetarianism0 - env_vegetarianism1 0.11 0.04 0.36 *** < 0.001
3 env_vegetarianism0 - env_vegetarianism1 0.14 0.05 0.44 *** < 0.001
4 env_vegetarianism0 - env_vegetarianism1 0.18 0.06 0.56 ** 0.00304
5 env_vegetarianism0 - env_vegetarianism1 0.22 0.07 0.71 * 0.01135
Show the code
#Post hoc on significant covariates for M1.2
M1_Bonus <- glmer(
  formula = decision ~ env_vegetarianism * bonus_level + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)
  
tab_model(M1_Bonus, transform = "exp")  
  decision
Predictors Odds Ratios CI p
(Intercept) 19.91 5.40 – 73.40 <0.001
env vegetarianism 2.44 0.74 – 8.11 0.145
bonus level 0.35 0.25 – 0.49 <0.001
env vegetarianism × bonus
level
1.40 1.23 – 1.59 <0.001
Random Effects
σ2 3.29
τ00 subject 21.96
τ00 trialNum_fixed 1.31
ICC 0.88
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.089 / 0.887


Simple slopes analyses were conducted to interpret the interactions.

Pairwise contrasts at each bonus percentage difference
bonus_level Contrast Odds Ratio 95% CI Signif. p-value
1 env_vegetarianism0 - env_vegetarianism1 0.29 0.09 0.94 * 0.0382
2 env_vegetarianism0 - env_vegetarianism1 0.21 0.07 0.65 ** 0.0070
3 env_vegetarianism0 - env_vegetarianism1 0.15 0.05 0.46 *** <0.001
4 env_vegetarianism0 - env_vegetarianism1 0.11 0.03 0.33 *** <0.001
5 env_vegetarianism0 - env_vegetarianism1 0.08 0.02 0.24 *** <0.001
Show the code
#Post hoc on significant covariates for M1.3
M1_Certif <- glmer(
  formula = decision ~ env_vegetarianism * CertificatesEff + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)
  
tab_model(M1_Certif, transform = "exp") 
  decision
Predictors Odds Ratios CI p
(Intercept) 0.01 0.00 – 0.08 <0.001
env vegetarianism 266.21 4.37 – 16228.04 0.008
CertificatesEff 4.54 2.18 – 9.45 <0.001
env vegetarianism ×
CertificatesEff
0.33 0.11 – 1.01 0.053
Random Effects
σ2 3.29
τ00 subject 21.25
τ00 trialNum_fixed 3.00
ICC 0.88
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.088 / 0.891


Simple slopes analyses were conducted to interpret the interactions.

Pairwise contrasts at each perceived efficacy of CO2 certificates
CertificatesEff Contrast Odds Ratio 95% CI Signif. p-value
1 env_vegetarianism0 - env_vegetarianism1 0.01 0.00 0.24 ** 0.00408
2 env_vegetarianism0 - env_vegetarianism1 0.03 0.00 0.27 ** 0.00142
3 env_vegetarianism0 - env_vegetarianism1 0.10 0.03 0.38 *** < 0.001
4 env_vegetarianism0 - env_vegetarianism1 0.31 0.08 1.12 0.07370
5 env_vegetarianism0 - env_vegetarianism1 0.93 0.12 6.97 0.94121
Show the code
#Post hoc on significant covariates for M1.3
M1_NEP <- glmer(
  formula = decision ~ env_vegetarianism * NEP_score_centred + (1 | subject) + (1 | trialNum_fixed),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)
  
tab_model(M1_NEP, transform = "exp") 
  decision
Predictors Odds Ratios CI p
(Intercept) 0.89 0.33 – 2.37 0.814
env vegetarianism 5.65 1.80 – 17.71 0.003
NEP score centred 1.15 1.07 – 1.24 <0.001
env vegetarianism × NEP
score centred
1.12 0.99 – 1.27 0.067
Random Effects
σ2 3.29
τ00 subject 19.76
τ00 trialNum_fixed 3.00
ICC 0.87
N subject 294
N trialNum_fixed 25
Observations 7110
Marginal R2 / Conditional R2 0.149 / 0.892

2.2 RQ2a - diet predicts ΔDuration on attributes

2.2.1 Main models

Show the code
M2a.1 <- lmer(
  formula = delta_duration_att ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject),
  data = All_Measures_Per_Trial
)

M2a.2 <- lmer(
  formula = delta_duration_att ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject),
  data = All_Measures_Per_Trial
)

M2a.3 <- lmer(
  formula = delta_duration_att ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial
)

To compare environmental vegetarians and non-vegetarians in the proportion of visiting time spent on carbon boxes compared to bonus boxes (RQ2a), we run mixed-effects models with ΔDuration on attributes as the dependent variable and random intercepts for participants and trials.

  • In the first model (M2A.1), we include environmental vegetarianism (coded as 1 for environmental vegetarians, 0 for non-vegetarians) as the main predictor of interest. Additionally, attribute position (coded as 1 if carbon emissions are displayed at the top of the matrix, 0 if at the bottom) and option position (coded as 1 if the pro-environmental option is on the left, 0 if on the right) are also included as fixed effects to account for potential display effects.

  • In the second model (M2A.2), we test the sensitivity of results of M2A.1 to the addition of control variables related to the task by adding fixed effects for percentage difference in carbon emissions (ranging from 1 [10%] to 5 [100%]), percentage difference in bonus payment (ranging from 1 [10%] to 5 [100%]) and sequential position of the trial (ranging from 1 to 25).

  • In the third model (M2A.3), we test the sensitivity of results of M2A.1 to the addition of demographic control variables by adding fixed effects for sex, age, education, income, environmental attitudes (assessed by the New Ecological Paradigm), and beliefs in the efficacy of European Union Emission Trading System (measured on a 5-point Likert scale from 1=not effective at all to 5=very effective).

  delta_duration_att
Predictors Estimates CI p
(Intercept) 0.00 -0.08 – 0.09 0.952
env vegetarianism 0.11 0.00 – 0.21 0.042
CB carbonUp 0.03 -0.07 – 0.13 0.577
CB selfishLeft 0.00 -0.01 – 0.01 0.808
Random Effects
σ2 0.06
τ00 subject 0.19
ICC 0.76
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.012 / 0.765
  delta_duration_att
Predictors Estimates CI p
(Intercept) -0.00 -0.09 – 0.09 0.957
env vegetarianism 0.11 0.00 – 0.21 0.042
CB carbonUp 0.03 -0.07 – 0.13 0.577
CB selfishLeft 0.00 -0.01 – 0.01 0.798
carbon level -0.00 -0.01 – 0.00 0.531
bonus level 0.00 -0.00 – 0.01 0.148
trialNum centred 0.00 -0.00 – 0.00 0.065
Random Effects
σ2 0.06
τ00 subject 0.19
ICC 0.76
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.012 / 0.765
  delta_duration_att
Predictors Estimates CI p
(Intercept) -0.05 -0.36 – 0.26 0.736
env vegetarianism 0.08 -0.02 – 0.19 0.119
CB carbonUp 0.01 -0.08 – 0.11 0.775
CB selfishLeft 0.00 -0.01 – 0.01 0.803
gender 0.02 -0.08 – 0.13 0.647
age centred 0.00 -0.00 – 0.01 0.379
education level -0.02 -0.07 – 0.03 0.379
income -0.00 -0.03 – 0.03 0.869
CertificatesEff 0.05 0.00 – 0.10 0.033
NEP score centred 0.01 0.01 – 0.02 <0.001
Random Effects
σ2 0.06
τ00 subject 0.18
ICC 0.75
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.087 / 0.768
Data: All_Measures_Per_Trial
Models:
M2a.1: delta_duration_att ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject)
M2a.2: delta_duration_att ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject)
M2a.3: delta_duration_att ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject)
      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
M2a.1    6 1487.9 1529.1 -737.95   1475.9                          
M2a.2    9 1488.0 1549.8 -734.97   1470.0  5.9493  3     0.1141    
M2a.3   12 1468.5 1551.0 -722.27   1444.5 25.3978  3  1.275e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

2.2.2 Post Hoc analyses

If any control variables showed significant effects, we tested for potential interactions with environmental vegetarianism.

Show the code
#Post hoc on significant covariates for M2a.3
M2a_Certif <- lmer(
  formula = delta_duration_att ~ env_vegetarianism * CertificatesEff + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2a_Certif, transform = NULL) 
  delta_duration_att
Predictors Estimates CI p
(Intercept) -0.27 -0.49 – -0.06 0.011
env vegetarianism 0.45 0.10 – 0.80 0.012
CertificatesEff 0.09 0.03 – 0.15 0.004
env vegetarianism ×
CertificatesEff
-0.10 -0.20 – -0.01 0.035
Random Effects
σ2 0.06
τ00 subject 0.19
ICC 0.76
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.032 / 0.765


Simple slopes analyses were conducted to interpret the interactions.

Pairwise contrasts at each perceived efficacy level
CertificatesEff Contrast Estimate 95% CI Signif. p-value
1 env_vegetarianism0 - env_vegetarianism1 -0.35 -0.61 -0.09 ** 0.00877
2 env_vegetarianism0 - env_vegetarianism1 -0.25 -0.42 -0.07 ** 0.00644
3 env_vegetarianism0 - env_vegetarianism1 -0.14 -0.26 -0.03 * 0.01298
4 env_vegetarianism0 - env_vegetarianism1 -0.04 -0.15 0.07 0.46307
5 env_vegetarianism0 - env_vegetarianism1 0.06 -0.11 0.23 0.49626
Show the code
#Post hoc on significant covariates for M2a.3
M2a_NEP <- lmer(
  formula = delta_duration_att ~ env_vegetarianism * NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2a_NEP, transform = NULL) 
  delta_duration_att
Predictors Estimates CI p
(Intercept) 0.02 -0.04 – 0.09 0.466
env vegetarianism 0.08 -0.02 – 0.18 0.106
NEP score centred 0.01 0.00 – 0.02 0.001
env vegetarianism × NEP
score centred
0.00 -0.01 – 0.01 0.437
Random Effects
σ2 0.06
τ00 subject 0.18
ICC 0.75
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.072 / 0.765

2.3 RQ2b - diet predicts ΔDuration on options

2.3.1 Main models

Show the code
M2b.1 <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject),
  data = All_Measures_Per_Trial
)

M2b.2 <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject),
  data = All_Measures_Per_Trial
)

M2b.3 <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial
)

To compare environmental vegetarians and non-vegetarians in the proportion of visiting time spent on the pro-environmental option compared to pro-self option (RQ2b), we run mixed-effects models with ΔDuration on options as the dependent variable and random intercepts for participants and trials.

  • In the first model (M2B.1), we include environmental vegetarianism (coded as 1 for environmental vegetarians, 0 for non-vegetarians) as the main predictor of interest. Additionally, attribute position (coded as 1 if carbon emissions are displayed at the top of the matrix, 0 if at the bottom) and option position (coded as 1 if the pro-environmental option is on the left, 0 if on the right) are also included as fixed effects to account for potential display effects.

  • In the second model (M2B.2), we test the sensitivity of results of M2B.1 to the addition of control variables related to the task by adding fixed effects for percentage difference in carbon emissions (ranging from 1 [10%] to 5 [100%]), percentage difference in bonus payment (ranging from 1 [10%] to 5 [100%]) and sequential position of the trial (ranging from 1 to 25).

  • In the third model (M2B.3), we test the sensitivity of results of M2B.1 to the addition of demographic control variables by adding fixed effects for sex, age, education, income, environmental attitudes (assessed by the New Ecological Paradigm), and beliefs in the efficacy of European Union Emission Trading System (measured on a 5-point Likert scale from 1=not effective at all to 5=very effective).

  delta_duration_opt
Predictors Estimates CI p
(Intercept) -0.02 -0.04 – 0.00 0.096
env vegetarianism 0.03 0.01 – 0.05 0.015
CB carbonUp 0.03 0.01 – 0.05 0.008
CB selfishLeft -0.00 -0.01 – 0.01 0.400
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.13
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.007 / 0.138
  delta_duration_opt
Predictors Estimates CI p
(Intercept) 0.00 -0.02 – 0.03 0.784
env vegetarianism 0.03 0.01 – 0.05 0.016
CB carbonUp 0.03 0.01 – 0.05 0.008
CB selfishLeft -0.00 -0.01 – 0.01 0.394
carbon level 0.01 0.00 – 0.01 <0.001
bonus level -0.01 -0.02 – -0.01 <0.001
trialNum centred -0.00 -0.00 – 0.00 0.365
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.13
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.018 / 0.148
  delta_duration_opt
Predictors Estimates CI p
(Intercept) -0.04 -0.11 – 0.02 0.217
env vegetarianism 0.02 -0.00 – 0.04 0.078
CB carbonUp 0.03 0.01 – 0.05 0.010
CB selfishLeft -0.00 -0.01 – 0.01 0.411
gender 0.02 -0.01 – 0.04 0.163
age centred 0.00 -0.00 – 0.00 0.228
education level -0.00 -0.01 – 0.01 0.756
income -0.01 -0.01 – 0.00 0.094
CertificatesEff 0.02 0.01 – 0.03 0.003
NEP score centred 0.00 0.00 – 0.00 0.006
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.12
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.022 / 0.141
Data: All_Measures_Per_Trial
Models:
M2b.1: delta_duration_opt ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject)
M2b.2: delta_duration_opt ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject)
M2b.3: delta_duration_opt ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject)
      npar     AIC     BIC logLik deviance  Chisq Df Pr(>Chisq)    
M2b.1    6 -1182.4 -1141.1 597.18  -1194.4                         
M2b.2    9 -1260.5 -1198.7 639.25  -1278.5 84.151  3     <2e-16 ***
M2b.3   12 -1198.2 -1115.7 611.09  -1222.2  0.000  3          1    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

2.3.2 Post Hoc analyses

We performed further exploratory analyses adding each significant covariate as moderator of the effect of diet on delta duration on options.

Show the code
#Post hoc on significant covariates for M2b.1
M2b_CarbonUp <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism * CB_carbonUp + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2b_CarbonUp, transform = NULL) 
  delta_duration_opt
Predictors Estimates CI p
(Intercept) -0.01 -0.04 – 0.01 0.159
env vegetarianism 0.02 -0.01 – 0.05 0.253
CB carbonUp 0.02 -0.01 – 0.05 0.114
env vegetarianism × CB
carbonUp
0.02 -0.03 – 0.06 0.494
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.13
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.008 / 0.138
Show the code
#Post hoc on significant covariates for M2b.2
M2b_Carbon <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism * carbon_level + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2b_Carbon, transform = NULL) 
  delta_duration_opt
Predictors Estimates CI p
(Intercept) -0.02 -0.04 – -0.00 0.024
env vegetarianism 0.02 -0.01 – 0.05 0.226
carbon level 0.01 0.00 – 0.01 0.004
env vegetarianism ×
carbon level
0.00 -0.00 – 0.01 0.460
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.13
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.006 / 0.140
Show the code
#Post hoc on significant covariates for M2b.2
M2b_Bonus <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism * bonus_level + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2b_Bonus, transform = NULL) 
  delta_duration_opt
Predictors Estimates CI p
(Intercept) 0.04 0.02 – 0.06 <0.001
env vegetarianism 0.02 -0.01 – 0.05 0.213
bonus level -0.02 -0.02 – -0.01 <0.001
env vegetarianism × bonus
level
0.00 -0.00 – 0.01 0.493
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.14
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.011 / 0.145
Show the code
#Post hoc on significant covariates for M2b.3
M2b_Certif <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism * CertificatesEff + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2b_Certif, transform = NULL) 
  delta_duration_opt
Predictors Estimates CI p
(Intercept) -0.06 -0.10 – -0.01 0.012
env vegetarianism 0.06 -0.01 – 0.14 0.115
CertificatesEff 0.02 0.00 – 0.03 0.012
env vegetarianism ×
CertificatesEff
-0.01 -0.03 – 0.01 0.305
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.13
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.007 / 0.138
Show the code
#Post hoc on significant covariates for M2b.3
M2b_NEP <- lmer(
  formula = delta_duration_opt ~ env_vegetarianism * NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial
)
  
tab_model(M2b_NEP, transform = NULL) 
  delta_duration_opt
Predictors Estimates CI p
(Intercept) -0.00 -0.02 – 0.01 0.781
env vegetarianism 0.02 0.00 – 0.04 0.040
NEP score centred 0.00 0.00 – 0.00 0.039
env vegetarianism × NEP
score centred
0.00 -0.00 – 0.00 0.256
Random Effects
σ2 0.05
τ00 subject 0.01
ICC 0.13
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.011 / 0.138

2.4 RQ2c - diet predicts first visit

2.4.1 Main models

Show the code
M2c.1 <- glmer(
  formula = first_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

M2c.2 <- glmer(
  formula = first_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

M2c.3 <- glmer(
  formula = first_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

To compare environmental vegetarians and non-vegetarians on the likelihood of performing their first visit on a carbon box (RQ2c), we run mixed-effects models with first visit as the dependent variable and random intercepts for participants and trials.

  • In the first model (M2C.1), we include environmental vegetarianism (coded as 1 for environmental vegetarians, 0 for non-vegetarians) as the main predictor of interest. Additionally, attribute position (coded as 1 if carbon emissions are displayed at the top of the matrix, 0 if at the bottom) and option position (coded as 1 if the pro-environmental option is on the left, 0 if on the right) are also included as fixed effects to account for potential display effects.

  • In the second model (M2C.2), we test the sensitivity of results of M2C.1 to the addition of control variables related to the task by adding fixed effects for percentage difference in carbon emissions (ranging from 1 [10%] to 5 [100%]), percentage difference in bonus payment (ranging from 1 [10%] to 5 [100%]) and sequential position of the trial (ranging from 1 to 25).

  • In the third model (M2C.3), we test the sensitivity of results of M2C.1 to the addition of demographic control variables by adding fixed effects for sex, age, education, income, environmental attitudes (assessed by the New Ecological Paradigm), and beliefs in the efficacy of European Union Emission Trading System (measured on a 5-point Likert scale from 1=not effective at all to 5=very effective).

  first_visit
Predictors Odds Ratios CI p
(Intercept) 0.03 0.01 – 0.07 <0.001
env vegetarianism 3.75 1.49 – 9.45 0.005
CB carbonUp 677.24 243.16 – 1886.23 <0.001
CB selfishLeft 1.05 0.87 – 1.26 0.639
Random Effects
σ2 3.29
τ00 subject 11.99
ICC 0.78
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.419 / 0.875
  first_visit
Predictors Odds Ratios CI p
(Intercept) 0.03 0.01 – 0.08 <0.001
env vegetarianism 3.76 1.49 – 9.48 0.005
CB carbonUp 684.11 245.13 – 1909.24 <0.001
CB selfishLeft 1.05 0.87 – 1.26 0.626
carbon level 0.96 0.90 – 1.02 0.193
bonus level 1.02 0.95 – 1.09 0.609
trialNum centred 1.01 1.00 – 1.02 0.135
Random Effects
σ2 3.29
τ00 subject 12.03
ICC 0.79
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.419 / 0.875
  first_visit
Predictors Odds Ratios CI p
(Intercept) 0.01 0.00 – 0.17 0.002
env vegetarianism 3.20 1.24 – 8.26 0.016
CB carbonUp 608.97 225.56 – 1644.12 <0.001
CB selfishLeft 1.05 0.87 – 1.26 0.637
gender 1.92 0.73 – 5.04 0.185
age centred 1.02 0.98 – 1.06 0.433
education level 0.91 0.59 – 1.40 0.663
income 1.05 0.80 – 1.38 0.732
CertificatesEff 1.41 0.92 – 2.17 0.112
NEP score centred 1.07 1.01 – 1.12 0.012
Random Effects
σ2 3.29
τ00 subject 11.31
ICC 0.77
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.444 / 0.875
Data: All_Measures_Per_Trial
Models:
M2c.1: first_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject)
M2c.2: first_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject)
M2c.3: first_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject)
      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)  
M2c.1    5 3703.6 3738.0 -1846.8   3693.6                        
M2c.2    8 3705.4 3760.4 -1844.7   3689.4  4.1678  3    0.24391  
M2c.3   11 3700.1 3775.7 -1839.1   3678.1 11.3054  3    0.01018 *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

2.4.2 Post Hoc analyses

If any control variables showed significant effects, we tested for potential interactions with environmental vegetarianism.

Show the code
#Post hoc on significant covariates for M2c.1
M2c_CarbonUp <- glmer(
  formula = first_visit ~ env_vegetarianism * CB_carbonUp + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)
  
tab_model(M2c_CarbonUp, transform = "exp") 
  first_visit
Predictors Odds Ratios CI p
(Intercept) 0.02 0.01 – 0.06 <0.001
env vegetarianism 7.92 2.07 – 30.31 0.003
CB carbonUp 1242.94 332.02 – 4653.05 <0.001
env vegetarianism × CB
carbonUp
0.24 0.04 – 1.51 0.129
Random Effects
σ2 3.29
τ00 subject 11.95
ICC 0.78
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.422 / 0.875
Show the code
#Post hoc on significant covariates for M2c.3
M2c_NEP <- glmer(
  formula = first_visit ~ env_vegetarianism * NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 2e5))
)
 
tab_model(M2c_NEP, transform = "exp") 
  first_visit
Predictors Odds Ratios CI p
(Intercept) 1.04 0.48 – 2.27 0.920
env vegetarianism 3.59 1.06 – 12.16 0.040
NEP score centred 1.08 0.99 – 1.18 0.067
env vegetarianism × NEP
score centred
1.07 0.94 – 1.22 0.309
Random Effects
σ2 3.29
τ00 subject 21.93
ICC 0.87
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.061 / 0.878

2.5 RQ2d - diet predicts last visit

2.5.1 Main models

Show the code
M2d.1 <- glmer(
  formula = last_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

M2d.2 <- glmer(
  formula = last_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

M2d.3 <- glmer(
  formula = last_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject),
  data = All_Measures_Per_Trial,
  family = binomial(link = "logit"),
  control = glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 5e5))
)

To compare environmental vegetarians and non-vegetarians on the likelihood of performing their last visit on a carbon box (RQ2c), we run mixed-effects models with first visit as the dependent variable and random intercepts for participants and trials.

  • In the first model (M2D.1), we include environmental vegetarianism (coded as 1 for environmental vegetarians, 0 for non-vegetarians) as the main predictor of interest. Additionally, attribute position (coded as 1 if carbon emissions are displayed at the top of the matrix, 0 if at the bottom) and option position (coded as 1 if the pro-environmental option is on the left, 0 if on the right) are also included as fixed effects to account for potential display effects.

  • In the second model (M2D.2), we test the sensitivity of results of M2D.1 to the addition of control variables related to the task by adding fixed effects for percentage difference in carbon emissions (ranging from 1 [10%] to 5 [100%]), percentage difference in bonus payment (ranging from 1 [10%] to 5 [100%]) and sequential position of the trial (ranging from 1 to 25).

  • In the third model (M2D.3), we test the sensitivity of results of M2D.1 to the addition of demographic control variables by adding fixed effects for sex, age, education, income, environmental attitudes (assessed by the New Ecological Paradigm), and beliefs in the efficacy of European Union Emission Trading System (measured on a 5-point Likert scale from 1=not effective at all to 5=very effective).

  last_visit
Predictors Odds Ratios CI p
(Intercept) 4.00 2.81 – 5.71 <0.001
env vegetarianism 1.46 0.96 – 2.22 0.079
CB carbonUp 0.05 0.03 – 0.07 <0.001
CB selfishLeft 0.81 0.71 – 0.92 0.001
Random Effects
σ2 3.29
τ00 subject 2.83
ICC 0.46
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.273 / 0.609
  last_visit
Predictors Odds Ratios CI p
(Intercept) 3.48 2.32 – 5.20 <0.001
env vegetarianism 1.46 0.96 – 2.23 0.079
CB carbonUp 0.05 0.03 – 0.07 <0.001
CB selfishLeft 0.81 0.71 – 0.92 0.001
carbon level 1.01 0.97 – 1.05 0.689
bonus level 1.04 1.00 – 1.09 0.081
trialNum centred 1.02 1.01 – 1.03 <0.001
Random Effects
σ2 3.29
τ00 subject 2.85
ICC 0.46
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.276 / 0.612
  last_visit
Predictors Odds Ratios CI p
(Intercept) 3.50 0.97 – 12.62 0.055
env vegetarianism 1.39 0.91 – 2.15 0.130
CB carbonUp 0.05 0.03 – 0.07 <0.001
CB selfishLeft 0.81 0.72 – 0.92 0.001
gender 0.99 0.64 – 1.53 0.977
age centred 1.01 0.99 – 1.03 0.324
education level 0.94 0.77 – 1.14 0.527
income 1.04 0.91 – 1.18 0.570
CertificatesEff 1.10 0.91 – 1.33 0.325
NEP score centred 1.05 1.02 – 1.07 <0.001
Random Effects
σ2 3.29
τ00 subject 2.63
ICC 0.44
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.297 / 0.609
Data: All_Measures_Per_Trial
Models:
M2d.1: last_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject)
M2d.2: last_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + carbon_level + bonus_level + trialNum_centred + (1 | subject)
M2d.3: last_visit ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + gender + age_centred + education_level + income + CertificatesEff + NEP_score_centred + (1 | subject)
      npar    AIC    BIC  logLik deviance   Chisq Df Pr(>Chisq)    
M2d.1    5 6545.7 6580.1 -3267.8   6535.7                          
M2d.2    8 6533.3 6588.3 -3258.6   6517.3 18.4044  3   0.000363 ***
M2d.3   11 6538.8 6614.4 -3258.4   6516.8  0.5243  3   0.913522    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

3 Preregistered exploratory analyses

3.1 EX1 - diet predicts total visiting time

Show the code
M_TVT1 <- lmer(
  formula = t_total_scaled ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject),
  data = All_Measures_Per_Trial
)
  t_total_scaled
Predictors Estimates CI p
(Intercept) 0.71 0.63 – 0.79 <0.001
env vegetarianism -0.01 -0.10 – 0.09 0.909
CB carbonUp 0.00 -0.09 – 0.10 0.929
CB selfishLeft -0.00 -0.02 – 0.02 0.683
Random Effects
σ2 0.16
τ00 subject 0.16
ICC 0.49
N subject 294
Observations 7130
Marginal R2 / Conditional R2 0.000 / 0.493

3.2 EX2 - diet predicts Payne index

Show the code
M_PI1 <- lmer(
  formula = payne_index ~ env_vegetarianism + CB_carbonUp + CB_selfishLeft + (1 | subject),
  data = All_Measures_Per_Trial
)
  payne_index
Predictors Estimates CI p
(Intercept) -0.51 -0.60 – -0.43 <0.001
env vegetarianism 0.14 0.04 – 0.23 0.006
CB carbonUp -0.05 -0.14 – 0.05 0.309
CB selfishLeft 0.02 -0.00 – 0.03 0.053
Random Effects
σ2 0.13
τ00 subject 0.17
ICC 0.57
N subject 294
Observations 7095
Marginal R2 / Conditional R2 0.017 / 0.573