8  Research Question 1

8.1 Model Specification

Show/Hide Code
models_rq1 <- data_rq1 %>%
  group_by(perception) %>%
  nest %>%
  mutate(
    # Models with all covariates included
    mod_full = map(
      data,
      ~ lmer(
        rating ~
          Cohort +
            Semester_Week +
            Test_Version +
            `Item-Level Accuracy` +
            Baseline_Threat +
            Gender +
            Timepoint * Condition +
            (1 | Participant) +
            (1 | Item),
        data = .x
      )
    ),
    # Models with no covariates
    mod_cov_removed = map(
      data,
      ~ lmer(
        rating ~
          Cohort +
            Semester_Week +
            Test_Version +
            Gender +
            Timepoint * Condition +
            (1 | Participant) +
            (1 | Item),
        data = .x
      )
    ),
    # Models with gender interaction
    mod_gender_interact = map(
      data,
      ~ lmer(
        rating ~
          Cohort +
            Semester_Week +
            Test_Version +
            `Item-Level Accuracy` +
            Baseline_Threat +
            Timepoint * Condition * Gender +
            (1 | Participant) +
            (1 | Item),
        data = .x
      )
    ),
    # Empty means models (only random effects)
    mod_empty_means = map(
      data,
      ~ lmer(
        rating ~
          (1 | Participant) +
            (1 | Item),
        data = .x
      )
    ),
    # Compare 2-way and 3-way interaction models
    comparison = pmap(list(mod_full, mod_gender_interact), anova)
  ) %>%
  name_list_columns() # Name the list columns

# Data with model-predicted outcome values
predicted_values <- data_rq1 %>%
  group_by(perception) %>%
  nest() %>%
  mutate(
    predicted = case_match(
      perception,
      "Confidence" ~
        map(
          data,
          ~ predict(
            models_rq1$mod_gender_interact$Confidence,
            newdata = .x,
            se.fit = TRUE
          ) %>%
            as_tibble()
        ),
      "Anxiety" ~
        map(
          data,
          ~ predict(
            models_rq1$mod_gender_interact$Anxiety,
            newdata = .x,
            se.fit = TRUE
          ) %>%
            as_tibble()
        ),
      "Difficulty" ~
        map(
          data,
          ~ predict(
            models_rq1$mod_full$Difficulty,
            newdata = .x,
            se.fit = TRUE
          ) %>%
            as_tibble()
        )
    )
  ) %>%
  unnest(c(data, predicted))

8.2 Reproduction of Table 4

Show/Hide Code
handle_model_print(
  list(
    models_rq1$mod_gender_interact$Confidence,
    models_rq1$mod_gender_interact$Anxiety,
    models_rq1$mod_full$Difficulty
  ),
  str_perception_levels |>
    (\(x) paste0("H", 1:3, ": ", x))(),
  n_models = 3,
  is_lmer = TRUE,
  raneff_rownum = 15
)
Supplementary Table 8.1: Results from Mixed Effects Models Testing Hypotheses 1-3: Effects of Mindfulness Training on Item-Level Judgments While Answering Physics Questions
  H1: Confidence H2: Anxiety H3: Difficulty
Predictors Estimates SE p Estimates SE p Estimates SE p
(Intercept) 3.69 0.15 <0.001 3.33 0.12 <0.001 3.56 0.12 <0.001
Cohort [Cohort 2] 0.38 0.31 0.222 -0.16 0.43 0.709 -0.52 0.32 0.106
Cohort [Cohort 3] 0.07 0.27 0.785 0.06 0.38 0.868 -0.33 0.28 0.235
Semester Week 0.10 0.05 0.036 -0.04 0.07 0.537 -0.12 0.05 0.019
Test Version [B] -0.13 0.12 0.268 -0.08 0.10 0.385 -0.07 0.10 0.518
Item-Level Accuracy [Correct] 0.13 0.04 0.005 -0.08 0.04 0.026 -0.03 0.04 0.426
Baseline Threat -0.24 0.04 <0.001 0.22 0.06 <0.001 0.15 0.04 <0.001
Timepoint [Posttest] 0.19 0.04 <0.001 -0.34 0.03 <0.001 -0.12 0.04 <0.001
Condition [Mindfulness] 0.07 0.11 0.545 -0.25 0.15 0.087 -0.08 0.11 0.479
Gender [Women or Non-binary] -0.35 0.12 0.003 0.49 0.16 0.002 0.22 0.11 0.048
Timepoint [Posttest] × Condition [Mindfulness] 0.13 0.08 0.089 -0.11 0.07 0.102 -0.29 0.07 <0.001
Timepoint [Posttest] × Gender [Women or Non-binary] 0.06 0.08 0.451 -0.12 0.07 0.071
Condition [Mindfulness] × Gender [Women or Non-binary] -0.19 0.22 0.391 -0.11 0.30 0.721
(Timepoint [Posttest] × Condition [Mindfulness]) × Gender [Women or Non-binary] 0.32 0.15 0.034 -0.31 0.13 0.018
Random Effects
σ2 1.17 0.87 0.93
τ00 0.33 Participant 0.72 Participant 0.37 Participant
0.45 Item 0.17 Item 0.27 Item
ICC 0.40 0.51 0.41
N 149 Participant 149 Participant 149 Participant
22 Item 22 Item 22 Item
Observations 3275 3275 3275
Marginal R2 / Conditional R2 0.099 / 0.461 0.123 / 0.567 0.068 / 0.448

8.3 Confidence Judgments: Model Comparison

Show/Hide Code
handle_model_print(
  list(
    models_rq1$mod_cov_removed$Confidence,
    models_rq1$mod_full$Confidence,
    models_rq1$mod_gender_interact$Confidence
  ),
  c(
    "Accuracy and Baseline Threat Removed",
    "2-Way Interaction",
    "3-Way Interaction"
  ),
  n_models = 3,
  is_lmer = TRUE,
  raneff_rownum = 15
)
Supplementary Table 8.2: Comparison of Models Predicting Confidence Judgments
  Accuracy and Baseline Threat Removed 2-Way Interaction 3-Way Interaction
Predictors Estimates SE p Estimates SE p Estimates SE p
(Intercept) 3.69 0.16 <0.001 3.69 0.15 <0.001 3.69 0.15 <0.001
Cohort [Cohort 2] 0.28 0.34 0.409 0.38 0.31 0.221 0.38 0.31 0.222
Cohort [Cohort 3] 0.01 0.30 0.977 0.07 0.27 0.786 0.07 0.27 0.785
Semester Week 0.09 0.05 0.082 0.10 0.05 0.035 0.10 0.05 0.036
Test Version [B] -0.14 0.12 0.235 -0.14 0.12 0.253 -0.13 0.12 0.268
Gender [Women or Non-binary] -0.51 0.12 <0.001 -0.32 0.11 0.003 -0.35 0.12 0.003
Timepoint [Posttest] 0.19 0.04 <0.001 0.19 0.04 <0.001 0.19 0.04 <0.001
Condition [Mindfulness] 0.10 0.12 0.394 0.07 0.11 0.543 0.07 0.11 0.545
Timepoint [Posttest] × Condition [Mindfulness] 0.13 0.08 0.086 0.13 0.08 0.090 0.13 0.08 0.089
Item-Level Accuracy [Correct] 0.12 0.04 0.005 0.13 0.04 0.005
Baseline Threat -0.24 0.04 <0.001 -0.24 0.04 <0.001
Timepoint [Posttest] × Gender [Women or Non-binary] 0.06 0.08 0.451
Condition [Mindfulness] × Gender [Women or Non-binary] -0.19 0.22 0.391
(Timepoint [Posttest] × Condition [Mindfulness]) × Gender [Women or Non-binary] 0.32 0.15 0.034
Random Effects
σ2 1.17 1.17 1.17
τ00 0.42 Participant 0.33 Participant 0.33 Participant
0.46 Item 0.45 Item 0.45 Item
ICC 0.43 0.40 0.40
N 149 Participant 149 Participant 149 Participant
22 Item 22 Item 22 Item
Observations 3275 3275 3275
Marginal R2 / Conditional R2 0.057 / 0.463 0.099 / 0.460 0.099 / 0.461

8.4 Anxiety Judgments: Model Comparison

Show/Hide Code
handle_model_print(
  list(
    models_rq1$mod_cov_removed$Anxiety,
    models_rq1$mod_full$Anxiety,
    models_rq1$mod_gender_interact$Anxiety
  ),
  c(
    "Accuracy and Baseline Threat Removed",
    "2-Way Interaction",
    "3-Way Interaction"
  ),
  n_models = 3,
  is_lmer = TRUE,
  raneff_rownum = 15
)
Supplementary Table 8.3: Comparison of Models Predicting Anxiety Judgments
  Accuracy and Baseline Threat Removed 2-Way Interaction 3-Way Interaction
Predictors Estimates SE p Estimates SE p Estimates SE p
(Intercept) 3.33 0.12 <0.001 3.33 0.12 <0.001 3.33 0.12 <0.001
Cohort [Cohort 2] -0.08 0.45 0.867 -0.16 0.43 0.703 -0.16 0.43 0.709
Cohort [Cohort 3] 0.12 0.40 0.764 0.06 0.38 0.879 0.06 0.38 0.868
Semester Week -0.03 0.07 0.639 -0.04 0.07 0.538 -0.04 0.07 0.537
Test Version [B] -0.08 0.10 0.408 -0.08 0.10 0.399 -0.08 0.10 0.385
Gender [Women or Non-binary] 0.60 0.16 <0.001 0.42 0.15 0.006 0.49 0.16 0.002
Timepoint [Posttest] -0.34 0.03 <0.001 -0.34 0.03 <0.001 -0.34 0.03 <0.001
Condition [Mindfulness] -0.29 0.15 0.063 -0.25 0.15 0.087 -0.25 0.15 0.087
Timepoint [Posttest] × Condition [Mindfulness] -0.11 0.07 0.102 -0.11 0.07 0.105 -0.11 0.07 0.102
Item-Level Accuracy [Correct] -0.08 0.04 0.028 -0.08 0.04 0.026
Baseline Threat 0.23 0.06 <0.001 0.22 0.06 <0.001
Timepoint [Posttest] × Gender [Women or Non-binary] -0.12 0.07 0.071
Condition [Mindfulness] × Gender [Women or Non-binary] -0.11 0.30 0.721
(Timepoint [Posttest] × Condition [Mindfulness]) × Gender [Women or Non-binary] -0.31 0.13 0.018
Random Effects
σ2 0.87 0.87 0.87
τ00 0.80 Participant 0.72 Participant 0.72 Participant
0.18 Item 0.17 Item 0.17 Item
ICC 0.53 0.51 0.51
N 149 Participant 149 Participant 149 Participant
22 Item 22 Item 22 Item
Observations 3275 3275 3275
Marginal R2 / Conditional R2 0.078 / 0.565 0.120 / 0.565 0.123 / 0.567

8.5 Difficulty Judgments: Model Comparison

Show/Hide Code
handle_model_print(
  list(
    models_rq1$mod_cov_removed$Difficulty,
    models_rq1$mod_full$Difficulty,
    models_rq1$mod_gender_interact$Difficulty
  ),
  c(
    "Accuracy and Baseline Threat Removed",
    "2-Way Interaction",
    "3-Way Interaction"
  ),
  n_models = 3,
  is_lmer = TRUE,
  raneff_rownum = 15
)
Supplementary Table 8.4: Comparison of Models Predicting Difficulty Judgments
  Accuracy and Baseline Threat Removed 2-Way Interaction 3-Way Interaction
Predictors Estimates SE p Estimates SE p Estimates SE p
(Intercept) 3.56 0.13 <0.001 3.56 0.12 <0.001 3.56 0.12 <0.001
Cohort [Cohort 2] -0.46 0.33 0.166 -0.52 0.32 0.106 -0.52 0.32 0.107
Cohort [Cohort 3] -0.29 0.29 0.315 -0.33 0.28 0.235 -0.33 0.28 0.234
Semester Week -0.11 0.05 0.032 -0.12 0.05 0.019 -0.12 0.05 0.019
Test Version [B] -0.07 0.10 0.528 -0.07 0.10 0.518 -0.07 0.10 0.507
Gender [Women or Non-binary] 0.34 0.11 0.003 0.22 0.11 0.048 0.16 0.12 0.196
Timepoint [Posttest] -0.12 0.04 <0.001 -0.12 0.04 <0.001 -0.12 0.04 <0.001
Condition [Mindfulness] -0.10 0.12 0.376 -0.08 0.11 0.479 -0.08 0.11 0.478
Timepoint [Posttest] × Condition [Mindfulness] -0.29 0.07 <0.001 -0.29 0.07 <0.001 -0.29 0.07 <0.001
Item-Level Accuracy [Correct] -0.03 0.04 0.426 -0.03 0.04 0.436
Baseline Threat 0.15 0.04 <0.001 0.15 0.04 <0.001
Timepoint [Posttest] × Gender [Women or Non-binary] 0.12 0.07 0.076
Condition [Mindfulness] × Gender [Women or Non-binary] 0.03 0.23 0.910
(Timepoint [Posttest] × Condition [Mindfulness]) × Gender [Women or Non-binary] 0.11 0.14 0.420
Random Effects
σ2 0.93 0.93 0.93
τ00 0.41 Participant 0.37 Participant 0.38 Participant
0.27 Item 0.27 Item 0.27 Item
ICC 0.42 0.41 0.41
N 149 Participant 149 Participant 149 Participant
22 Item 22 Item 22 Item
Observations 3275 3275 3275
Marginal R2 / Conditional R2 0.046 / 0.448 0.068 / 0.448 0.068 / 0.449

8.6 Reproduction of Figure 4

Show/Hide Code
data_rq1 %>%
  group_by(Participant, Gender, perception, Timepoint, Condition) %>%
  summarise(rating = mean(rating), .groups = "drop") %>%
  mutate(
    perception = factor(
      perception,
      levels = c("Confidence", "Anxiety", "Difficulty")
    )
  ) %>%
  ggplot(aes(Timepoint, rating, group = Condition, color = Condition)) +
  facet_grid(perception ~ Gender, margins = "Gender") +
  stat_summary(geom = "line", fun = "mean") +
  stat_summary(geom = "errorbar", fun.data = "mean_se", width = .2) +
  stat_summary(geom = "point", fun = "mean") +
  scale_y_continuous(breaks = 1:6, limits = c(1, 6)) +
  scale_x_discrete(expand = expansion(mult = .3)) +
  scale_color_manual(values = c(color_cntrl, color_mindful)) +
  labs(x = NULL, y = "Mean Rating (Raw Data)") +
  theme(
    legend.position = "right",
    plot.background = element_rect(fill = 'transparent'),
    # aspect.ratio = 1,
    legend.background = element_rect(fill = 'transparent'),
    legend.key = element_rect(
      fill = 'white',
      linewidth = .2,
      linetype = 'solid',
      color = color_cntrl
    )
  )
Supplementary Figure 8.1: Participants’ Mean Judgment Ratings at Baseline and Posttest by Experimental Condition and Gender

8.7 Reproduction of Figure 5

Show/Hide Code
predicted_values %>%
  # Calculate the mean fit for each participant at baseline and posttest
  group_by(Participant, perception, Gender, Condition, Timepoint) %>%
  summarise(fit = mean(fit), .groups = "drop") %>%
  # group by gender, condition and perform a paired t test with equal variance assumed
  group_by(perception, Gender, Condition) %>%
  t_test(
    formula = fit ~ Timepoint,
    paired = TRUE,
    var.equal = TRUE,
    detailed = TRUE,
    ref.group = "Posttest"
  ) %>%
  # Convert 95% confidence intervals to SE
  mutate(se = (conf.high - conf.low) / 3.92, .after = estimate) %>%
  # Reorder perception variables to match text
  mutate(perception = fct_relevel(perception, "Confidence")) %>%
  ggplot(mapping = aes(x = Gender, y = estimate)) +
  facet_wrap(~perception) +
  labs(y = "Estimated Change from Baseline to Posttest") +
  geom_col(
    position = "dodge",
    mapping = aes(fill = Condition)
  ) +
  geom_errorbar(
    mapping = aes(ymin = conf.low, ymax = conf.high, group = Condition),
    position = position_dodge(.9),
    width = .2
  ) +
  geom_text(
    mapping = aes(
      label = round(estimate, 2),
      y = ifelse(estimate < 0, conf.low - .03, conf.high + .03),
      group = Condition
    ),
    size = 3,
    position = position_dodge(.9)
  ) +
  geom_hline(
    yintercept = 0
  ) +
  scale_x_discrete(labels = c("Men", "Women/NB")) +
  scale_fill_manual(values = c(color_cntrl, color_mindful))
Supplementary Figure 8.2: Estimated Marginal Means for Effects of Main Variables of Interest