These are results for the multi-institutional study involving students from UW, Foothill College, and Chapman University. Data collected in the Fall/Winter of 2024.

# Cronbach's alphas and correlations

## Depression T1 r = .65
cor.test(merged_data$PHQ_4_1_T1, merged_data$PHQ_4_2_T1, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_1_T1 and merged_data$PHQ_4_2_T1
## t = 18.726, df = 482, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5941793 0.6977154
## sample estimates:
##       cor 
## 0.6489416
## Depression T2 r = .68
cor.test(merged_data$PHQ_4_1_T2, merged_data$PHQ_4_2_T2, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_1_T2 and merged_data$PHQ_4_2_T2
## t = 18.34, df = 389, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6239246 0.7307849
## sample estimates:
##       cor 
## 0.6809632
## Depression T3 r = .65
cor.test(merged_data$PHQ_4_1_T3, merged_data$PHQ_4_2_T3, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_1_T3 and merged_data$PHQ_4_2_T3
## t = 16.029, df = 353, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.5844304 0.7054651
## sample estimates:
##       cor 
## 0.6490361
## Depression T4 r = .68
cor.test(merged_data$PHQ_4_1_T4, merged_data$PHQ_4_2_T4, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_1_T4 and merged_data$PHQ_4_2_T4
## t = 17.312, df = 347, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6201027 0.7333368
## sample estimates:
##      cor 
## 0.680766
## Anxiety T1 r = .73
cor.test(merged_data$PHQ_4_3_T1, merged_data$PHQ_4_4_T1, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_3_T1 and merged_data$PHQ_4_4_T1
## t = 23.768, df = 482, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6906645 0.7730883
## sample estimates:
##       cor 
## 0.7345747
## Anxiety T2 r = .75
cor.test(merged_data$PHQ_4_3_T2, merged_data$PHQ_4_4_T2, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_3_T2 and merged_data$PHQ_4_4_T2
## t = 22.273, df = 389, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.7015770 0.7892364
## sample estimates:
##      cor 
## 0.748661
## Anxiety T3 r = .74
cor.test(merged_data$PHQ_4_3_T3, merged_data$PHQ_4_4_T3, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_3_T3 and merged_data$PHQ_4_4_T3
## t = 20.548, df = 353, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6866606 0.7820171
## sample estimates:
##       cor 
## 0.7380014
## Anxiety T4 r = .73
cor.test(merged_data$PHQ_4_3_T4, merged_data$PHQ_4_4_T4, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$PHQ_4_3_T4 and merged_data$PHQ_4_4_T4
## t = 19.981, df = 347, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6785656 0.7767750
## sample estimates:
##       cor 
## 0.7314409
## loneliness T1 .74
loneliness_T1 <- merged_data |>
  dplyr::select(loneliness_1_T1, loneliness_2_T1, loneliness_3_T1)
alpha_pos <- psych::alpha(loneliness_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = loneliness_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.74      0.74    0.67      0.49 2.9 0.02  1.9 0.55     0.46
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.7  0.74  0.78
## Duhachek   0.7  0.74  0.78
## 
##  Reliability if an item is dropped:
##                 raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## loneliness_1_T1      0.74      0.74    0.59      0.59 2.8    0.024    NA  0.59
## loneliness_2_T1      0.63      0.63    0.46      0.46 1.7    0.033    NA  0.46
## loneliness_3_T1      0.59      0.59    0.42      0.42 1.5    0.037    NA  0.42
## 
##  Item statistics 
##                   n raw.r std.r r.cor r.drop mean   sd
## loneliness_1_T1 484  0.77  0.77  0.57   0.50  1.9 0.66
## loneliness_2_T1 484  0.82  0.82  0.69   0.59  1.8 0.67
## loneliness_3_T1 484  0.85  0.84  0.73   0.62  1.9 0.70
## 
## Non missing response frequency for each item
##                    1    2    3 miss
## loneliness_1_T1 0.28 0.55 0.16    0
## loneliness_2_T1 0.31 0.53 0.16    0
## loneliness_3_T1 0.32 0.50 0.18    0
## loneliness T2 .76
loneliness_T2 <- merged_data |>
  dplyr::select(loneliness_1_T2, loneliness_2_T2, loneliness_3_T2)
alpha_pos <- psych::alpha(loneliness_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = loneliness_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.76      0.76    0.69      0.52 3.3 0.018  1.7 0.53     0.55
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.73  0.76   0.8
## Duhachek  0.73  0.76   0.8
## 
##  Reliability if an item is dropped:
##                 raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## loneliness_1_T2      0.72      0.73    0.57      0.57 2.6    0.025    NA  0.57
## loneliness_2_T2      0.71      0.71    0.55      0.55 2.4    0.027    NA  0.55
## loneliness_3_T2      0.61      0.62    0.45      0.45 1.6    0.035    NA  0.45
## 
##  Item statistics 
##                   n raw.r std.r r.cor r.drop mean   sd
## loneliness_1_T2 391  0.81  0.80  0.64   0.56  1.8 0.65
## loneliness_2_T2 391  0.80  0.81  0.66   0.58  1.7 0.60
## loneliness_3_T2 391  0.86  0.85  0.75   0.66  1.7 0.68
## 
## Non missing response frequency for each item
##                    1    2    3 miss
## loneliness_1_T2 0.35 0.53 0.13  0.2
## loneliness_2_T2 0.41 0.52 0.07  0.2
## loneliness_3_T2 0.40 0.47 0.13  0.2
## loneliness T3 .81
loneliness_T3 <- merged_data |>
  dplyr::select(loneliness_1_T3, loneliness_2_T3, loneliness_3_T3)
alpha_pos <- psych::alpha(loneliness_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = loneliness_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.81      0.81    0.74      0.58 4.2 0.015  1.7 0.56     0.57
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.78  0.81  0.83
## Duhachek  0.78  0.81  0.84
## 
##  Reliability if an item is dropped:
##                 raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## loneliness_1_T3      0.78      0.78    0.64      0.64 3.6    0.020    NA  0.64
## loneliness_2_T3      0.73      0.73    0.57      0.57 2.7    0.025    NA  0.57
## loneliness_3_T3      0.69      0.70    0.53      0.53 2.3    0.028    NA  0.53
## 
##  Item statistics 
##                   n raw.r std.r r.cor r.drop mean   sd
## loneliness_1_T3 355  0.83  0.83  0.68   0.61  1.7 0.67
## loneliness_2_T3 355  0.85  0.85  0.74   0.66  1.7 0.63
## loneliness_3_T3 355  0.87  0.87  0.78   0.69  1.7 0.67
## 
## Non missing response frequency for each item
##                    1    2    3 miss
## loneliness_1_T3 0.40 0.47 0.12 0.27
## loneliness_2_T3 0.44 0.48 0.09 0.27
## loneliness_3_T3 0.43 0.45 0.12 0.27
## loneliness T4 .81
loneliness_T4 <- merged_data |>
  dplyr::select(loneliness_1_T4, loneliness_2_T4, loneliness_3_T4)
alpha_pos <- psych::alpha(loneliness_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = loneliness_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.81      0.81    0.75      0.58 4.2 0.015  1.7 0.57     0.57
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.78  0.81  0.84
## Duhachek  0.78  0.81  0.84
## 
##  Reliability if an item is dropped:
##                 raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## loneliness_1_T4      0.81      0.81    0.68      0.68 4.3    0.017    NA  0.68
## loneliness_2_T4      0.73      0.73    0.57      0.57 2.7    0.025    NA  0.57
## loneliness_3_T4      0.67      0.67    0.50      0.50 2.0    0.030    NA  0.50
## 
##  Item statistics 
##                   n raw.r std.r r.cor r.drop mean   sd
## loneliness_1_T4 349  0.81  0.81  0.64   0.59  1.8 0.65
## loneliness_2_T4 349  0.85  0.86  0.76   0.67  1.7 0.65
## loneliness_3_T4 349  0.89  0.88  0.81   0.72  1.8 0.69
## 
## Non missing response frequency for each item
##                    1    2    3 miss
## loneliness_1_T4 0.36 0.52 0.12 0.28
## loneliness_2_T4 0.39 0.50 0.11 0.28
## loneliness_3_T4 0.39 0.46 0.15 0.28
## stress
stress <- merged_data |> 
  dplyr::select(contains("Perceived_Stress_")) |> 
  mutate(
    Perceived_Stress_1_T1_scored = Perceived_Stress_1_T1 - 1,  # From 1-5 to 0-4
    Perceived_Stress_2_T1_scored = 5 - Perceived_Stress_2_T1,  # Reverse score (5 - x)
    Perceived_Stress_3_T1_scored = 5 - Perceived_Stress_3_T1,  # Reverse score (5 - x)
    Perceived_Stress_4_T1_scored = Perceived_Stress_4_T1 - 1) |>   # From 1-5 to 0-4
  mutate(
    Perceived_Stress_1_T2_scored = Perceived_Stress_1_T2 - 1,  # From 1-5 to 0-4
    Perceived_Stress_2_T2_scored = 5 - Perceived_Stress_2_T2,  # Reverse score (5 - x)
    Perceived_Stress_3_T2_scored = 5 - Perceived_Stress_3_T2,  # Reverse score (5 - x)
    Perceived_Stress_4_T2_scored = Perceived_Stress_4_T2 - 1) |>  # From 1-5 to 0-4
  mutate(
    Perceived_Stress_1_T3_scored = Perceived_Stress_1_T3 - 1,  # From 1-5 to 0-4
    Perceived_Stress_2_T3_scored = 5 - Perceived_Stress_2_T3,  # Reverse score (5 - x)
    Perceived_Stress_3_T3_scored = 5 - Perceived_Stress_3_T3,  # Reverse score (5 - x)
    Perceived_Stress_4_T3_scored = Perceived_Stress_4_T3 - 1) |>   # From 1-5 to 0-4
  mutate(
    Perceived_Stress_1_T4_scored = Perceived_Stress_1_T4 - 1,  # From 1-5 to 0-4
    Perceived_Stress_2_T4_scored = 5 - Perceived_Stress_2_T4,  # Reverse score (5 - x)
    Perceived_Stress_3_T4_scored = 5 - Perceived_Stress_3_T4,  # Reverse score (5 - x)
    Perceived_Stress_4_T4_scored = Perceived_Stress_4_T4 - 1)   # From 1-5 to 0-4

## stress T1 .74
stress_T1 <- stress |>
  dplyr::select(Perceived_Stress_1_T1_scored, Perceived_Stress_2_T1_scored, Perceived_Stress_3_T1_scored, Perceived_Stress_4_T1_scored)
alpha_pos <- psych::alpha(stress_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = stress_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.73      0.74    0.69      0.41 2.8 0.019  1.7 0.74     0.39
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.69  0.73  0.77
## Duhachek  0.70  0.73  0.77
## 
##  Reliability if an item is dropped:
##                              raw_alpha std.alpha G6(smc) average_r S/N alpha se
## Perceived_Stress_1_T1_scored      0.66      0.67    0.58      0.40 2.0    0.026
## Perceived_Stress_2_T1_scored      0.72      0.72    0.64      0.47 2.6    0.021
## Perceived_Stress_3_T1_scored      0.67      0.67    0.59      0.40 2.0    0.025
## Perceived_Stress_4_T1_scored      0.63      0.64    0.54      0.37 1.8    0.029
##                               var.r med.r
## Perceived_Stress_1_T1_scored 0.0039  0.39
## Perceived_Stress_2_T1_scored 0.0054  0.47
## Perceived_Stress_3_T1_scored 0.0148  0.34
## Perceived_Stress_4_T1_scored 0.0017  0.39
## 
##  Item statistics 
##                                n raw.r std.r r.cor r.drop mean   sd
## Perceived_Stress_1_T1_scored 484  0.78  0.76  0.64   0.55  1.9 1.04
## Perceived_Stress_2_T1_scored 484  0.66  0.69  0.51   0.43  1.4 0.87
## Perceived_Stress_3_T1_scored 484  0.73  0.75  0.63   0.54  1.6 0.88
## Perceived_Stress_4_T1_scored 484  0.82  0.79  0.70   0.60  1.9 1.14
## 
## Non missing response frequency for each item
##                                 0    1    2    3    4 miss
## Perceived_Stress_1_T1_scored 0.10 0.27 0.38 0.19 0.06    0
## Perceived_Stress_2_T1_scored 0.13 0.44 0.32 0.10 0.01    0
## Perceived_Stress_3_T1_scored 0.09 0.36 0.40 0.13 0.02    0
## Perceived_Stress_4_T1_scored 0.10 0.32 0.28 0.21 0.09    0
## stress T2 .66
stress_T2 <- stress |>
  dplyr::select(Perceived_Stress_1_T2_scored, Perceived_Stress_2_T2_scored, Perceived_Stress_3_T2_scored, Perceived_Stress_4_T2_scored)
alpha_pos <- psych::alpha(stress_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = stress_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.66      0.66    0.64      0.33 1.9 0.026  1.7 0.69     0.25
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.60  0.66  0.70
## Duhachek  0.61  0.66  0.71
## 
##  Reliability if an item is dropped:
##                              raw_alpha std.alpha G6(smc) average_r S/N alpha se
## Perceived_Stress_1_T2_scored      0.58      0.59    0.52      0.33 1.4    0.034
## Perceived_Stress_2_T2_scored      0.61      0.61    0.54      0.34 1.6    0.030
## Perceived_Stress_3_T2_scored      0.58      0.58    0.51      0.31 1.4    0.033
## Perceived_Stress_4_T2_scored      0.58      0.59    0.52      0.32 1.4    0.033
##                              var.r med.r
## Perceived_Stress_1_T2_scored 0.028  0.27
## Perceived_Stress_2_T2_scored 0.024  0.27
## Perceived_Stress_3_T2_scored 0.033  0.22
## Perceived_Stress_4_T2_scored 0.027  0.24
## 
##  Item statistics 
##                                n raw.r std.r r.cor r.drop mean   sd
## Perceived_Stress_1_T2_scored 391  0.72  0.70  0.56   0.46  1.6 0.99
## Perceived_Stress_2_T2_scored 391  0.66  0.69  0.53   0.40  1.5 0.94
## Perceived_Stress_3_T2_scored 391  0.69  0.72  0.59   0.45  1.8 0.91
## Perceived_Stress_4_T2_scored 391  0.74  0.70  0.57   0.45  1.8 1.10
## 
## Non missing response frequency for each item
##                                 0    1    2    3    4 miss
## Perceived_Stress_1_T2_scored 0.14 0.35 0.35 0.13 0.03  0.2
## Perceived_Stress_2_T2_scored 0.12 0.43 0.31 0.11 0.03  0.2
## Perceived_Stress_3_T2_scored 0.06 0.34 0.42 0.15 0.04  0.2
## Perceived_Stress_4_T2_scored 0.11 0.27 0.38 0.15 0.09  0.2
## stress T3 .72
stress_T3 <- stress |>
  dplyr::select(Perceived_Stress_1_T3_scored, Perceived_Stress_2_T3_scored, Perceived_Stress_3_T3_scored, Perceived_Stress_4_T3_scored)
alpha_pos <- psych::alpha(stress_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = stress_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.72      0.72    0.69       0.4 2.6 0.021  1.6 0.71     0.34
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.68  0.72  0.76
## Duhachek  0.68  0.72  0.76
## 
##  Reliability if an item is dropped:
##                              raw_alpha std.alpha G6(smc) average_r S/N alpha se
## Perceived_Stress_1_T3_scored      0.66      0.67    0.59      0.40 2.0    0.027
## Perceived_Stress_2_T3_scored      0.67      0.67    0.59      0.40 2.0    0.025
## Perceived_Stress_3_T3_scored      0.66      0.66    0.58      0.39 1.9    0.026
## Perceived_Stress_4_T3_scored      0.65      0.66    0.58      0.39 1.9    0.028
##                              var.r med.r
## Perceived_Stress_1_T3_scored 0.014  0.34
## Perceived_Stress_2_T3_scored 0.014  0.34
## Perceived_Stress_3_T3_scored 0.016  0.33
## Perceived_Stress_4_T3_scored 0.017  0.32
## 
##  Item statistics 
##                                n raw.r std.r r.cor r.drop mean   sd
## Perceived_Stress_1_T3_scored 355  0.74  0.73  0.60   0.52  1.6 0.97
## Perceived_Stress_2_T3_scored 355  0.71  0.74  0.61   0.50  1.3 0.88
## Perceived_Stress_3_T3_scored 355  0.72  0.75  0.63   0.51  1.7 0.90
## Perceived_Stress_4_T3_scored 355  0.78  0.75  0.62   0.53  1.7 1.11
## 
## Non missing response frequency for each item
##                                 0    1    2    3    4 miss
## Perceived_Stress_1_T3_scored 0.13 0.35 0.39 0.09 0.04 0.27
## Perceived_Stress_2_T3_scored 0.16 0.44 0.30 0.09 0.01 0.27
## Perceived_Stress_3_T3_scored 0.09 0.34 0.42 0.13 0.02 0.27
## Perceived_Stress_4_T3_scored 0.13 0.34 0.31 0.14 0.08 0.27
## stress T4 .73
stress_T4 <- stress |>
  dplyr::select(Perceived_Stress_1_T4_scored, Perceived_Stress_2_T4_scored, Perceived_Stress_3_T4_scored, Perceived_Stress_4_T4_scored)
alpha_pos <- psych::alpha(stress_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = stress_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.72      0.73     0.7       0.4 2.6 0.02  1.7 0.71     0.38
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.68  0.72  0.76
## Duhachek  0.68  0.72  0.76
## 
##  Reliability if an item is dropped:
##                              raw_alpha std.alpha G6(smc) average_r S/N alpha se
## Perceived_Stress_1_T4_scored      0.62      0.65    0.57      0.38 1.8    0.030
## Perceived_Stress_2_T4_scored      0.72      0.72    0.65      0.46 2.5    0.021
## Perceived_Stress_3_T4_scored      0.66      0.65    0.60      0.38 1.9    0.026
## Perceived_Stress_4_T4_scored      0.63      0.64    0.56      0.37 1.8    0.029
##                              var.r med.r
## Perceived_Stress_1_T4_scored 0.012  0.39
## Perceived_Stress_2_T4_scored 0.019  0.39
## Perceived_Stress_3_T4_scored 0.041  0.27
## Perceived_Stress_4_T4_scored 0.012  0.36
## 
##  Item statistics 
##                                n raw.r std.r r.cor r.drop mean   sd
## Perceived_Stress_1_T4_scored 349  0.78  0.76  0.66   0.57  1.7 0.97
## Perceived_Stress_2_T4_scored 349  0.64  0.68  0.51   0.40  1.4 0.87
## Perceived_Stress_3_T4_scored 349  0.72  0.76  0.63   0.53  1.7 0.83
## Perceived_Stress_4_T4_scored 349  0.81  0.77  0.68   0.57  1.9 1.15
## 
## Non missing response frequency for each item
##                                 0    1    2    3    4 miss
## Perceived_Stress_1_T4_scored 0.11 0.31 0.39 0.15 0.03 0.28
## Perceived_Stress_2_T4_scored 0.11 0.48 0.29 0.10 0.01 0.28
## Perceived_Stress_3_T4_scored 0.05 0.37 0.43 0.13 0.02 0.28
## Perceived_Stress_4_T4_scored 0.12 0.28 0.30 0.21 0.09 0.28
## SAS - Calm T1 .81
SAS_Calm_T1 <- merged_data |>
  dplyr::select(SAS_1_T1, SAS_2_T1, SAS_3_T1)
alpha_pos <- psych::alpha(SAS_Calm_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Calm_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.81      0.81    0.74      0.59 4.2 0.015  1.9 0.85     0.59
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.78  0.81  0.84
## Duhachek  0.78  0.81  0.84
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_1_T1      0.77      0.77    0.62      0.62 3.3    0.021    NA  0.62
## SAS_2_T1      0.74      0.74    0.59      0.59 2.9    0.023    NA  0.59
## SAS_3_T1      0.71      0.71    0.55      0.55 2.4    0.027    NA  0.55
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T1 484  0.83  0.84  0.70   0.63  2.0 0.97
## SAS_2_T1 484  0.86  0.85  0.73   0.65  1.8 1.04
## SAS_3_T1 484  0.87  0.87  0.77   0.69  1.8 1.00
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T1 0.05 0.26 0.37 0.27 0.06    0
## SAS_2_T1 0.10 0.29 0.35 0.20 0.06    0
## SAS_3_T1 0.08 0.35 0.34 0.17 0.05    0
## SAS - Calm T2 .85
SAS_Calm_T2 <- merged_data |>
  dplyr::select(SAS_1_T2, SAS_2_T2, SAS_3_T2)
alpha_pos <- psych::alpha(SAS_Calm_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Calm_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.85      0.85    0.79      0.65 5.6 0.012  1.9 0.86     0.65
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.82  0.85  0.87
## Duhachek  0.83  0.85  0.87
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_1_T2      0.79      0.79    0.65      0.65 3.8    0.019    NA  0.65
## SAS_2_T2      0.81      0.81    0.68      0.68 4.3    0.017    NA  0.68
## SAS_3_T2      0.76      0.76    0.62      0.62 3.2    0.021    NA  0.62
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T2 391  0.88  0.88  0.78   0.72  2.0 0.99
## SAS_2_T2 391  0.87  0.86  0.75   0.69  1.8 1.00
## SAS_3_T2 391  0.89  0.89  0.81   0.74  1.8 0.96
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T2 0.07 0.22 0.37 0.29 0.05  0.2
## SAS_2_T2 0.10 0.32 0.34 0.21 0.03  0.2
## SAS_3_T2 0.08 0.31 0.36 0.23 0.02  0.2
## SAS - Calm T3 .85
SAS_Calm_T3 <- merged_data |>
  dplyr::select(SAS_1_T3, SAS_2_T3, SAS_3_T3)
alpha_pos <- psych::alpha(SAS_Calm_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Calm_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.85      0.85    0.79      0.65 5.7 0.012  1.9 0.87     0.65
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.82  0.85  0.87
## Duhachek  0.83  0.85  0.87
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_1_T3      0.78      0.78    0.64      0.64 3.6    0.020    NA  0.64
## SAS_2_T3      0.80      0.80    0.67      0.67 4.0    0.018    NA  0.67
## SAS_3_T3      0.79      0.79    0.65      0.65 3.7    0.019    NA  0.65
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T3 355  0.88  0.88  0.79   0.73  2.0 1.00
## SAS_2_T3 355  0.88  0.87  0.77   0.71  1.9 1.03
## SAS_3_T3 355  0.87  0.88  0.78   0.72  1.9 0.96
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T3 0.05 0.25 0.37 0.26 0.07 0.27
## SAS_2_T3 0.09 0.29 0.36 0.21 0.06 0.27
## SAS_3_T3 0.06 0.31 0.37 0.21 0.05 0.27
## SAS - Calm T4 .82
SAS_Calm_T4 <- merged_data |>
  dplyr::select(SAS_1_T4, SAS_2_T4, SAS_3_T4)
alpha_pos <- psych::alpha(SAS_Calm_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Calm_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.82      0.82    0.75       0.6 4.5 0.014    2 0.84     0.58
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.79  0.82  0.84
## Duhachek  0.79  0.82  0.85
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_1_T4      0.73      0.73    0.58      0.58 2.8    0.024    NA  0.58
## SAS_2_T4      0.79      0.79    0.65      0.65 3.7    0.019    NA  0.65
## SAS_3_T4      0.72      0.72    0.56      0.56 2.6    0.025    NA  0.56
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T4 349  0.86  0.86  0.76   0.68  2.1 0.98
## SAS_2_T4 349  0.83  0.84  0.69   0.63  1.9 0.97
## SAS_3_T4 349  0.87  0.87  0.77   0.70  1.9 1.00
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T4 0.05 0.24 0.34 0.31 0.06 0.28
## SAS_2_T4 0.07 0.30 0.34 0.26 0.03 0.28
## SAS_3_T4 0.08 0.28 0.35 0.24 0.04 0.28
## SAS - Wellbeing T1 .83
SAS_WellBeing_T1 <- merged_data |>
  dplyr::select(SAS_4_T1, SAS_5_T1, SAS_6_T1)
alpha_pos <- psych::alpha(SAS_WellBeing_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_WellBeing_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.83      0.83    0.77      0.62 4.8 0.014  2.4 0.83     0.62
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.8  0.83  0.85
## Duhachek   0.8  0.83  0.85
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_4_T1      0.71      0.71    0.55      0.55 2.5    0.026    NA  0.55
## SAS_5_T1      0.77      0.77    0.62      0.62 3.3    0.021    NA  0.62
## SAS_6_T1      0.81      0.81    0.68      0.68 4.2    0.017    NA  0.68
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_4_T1 484  0.88  0.89  0.81   0.74  2.6 0.90
## SAS_5_T1 484  0.86  0.86  0.76   0.68  2.3 0.99
## SAS_6_T1 484  0.84  0.84  0.70   0.64  2.3 0.99
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_4_T1 0.01 0.10 0.34 0.40 0.15    0
## SAS_5_T1 0.04 0.17 0.34 0.34 0.10    0
## SAS_6_T1 0.05 0.16 0.37 0.33 0.09    0
## SAS - Wellbeing T2 .83
SAS_WellBeing_T2 <- merged_data |>
  dplyr::select(SAS_4_T2, SAS_5_T2, SAS_6_T2)
alpha_pos <- psych::alpha(SAS_WellBeing_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_WellBeing_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean  sd median_r
##       0.83      0.83    0.76      0.62 4.8 0.014  2.3 0.8     0.62
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.8  0.83  0.85
## Duhachek   0.8  0.83  0.85
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_4_T2      0.76      0.76    0.62      0.62 3.2    0.021    NA  0.62
## SAS_5_T2      0.77      0.77    0.62      0.62 3.3    0.021    NA  0.62
## SAS_6_T2      0.75      0.75    0.60      0.60 3.1    0.022    NA  0.60
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_4_T2 391  0.85  0.86  0.75   0.68  2.5 0.86
## SAS_5_T2 391  0.87  0.86  0.75   0.68  2.1 0.97
## SAS_6_T2 391  0.87  0.87  0.76   0.69  2.2 0.96
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_4_T2 0.01 0.11 0.37 0.40 0.11  0.2
## SAS_5_T2 0.04 0.25 0.34 0.32 0.06  0.2
## SAS_6_T2 0.04 0.20 0.38 0.31 0.07  0.2
## SAS - Wellbeing T3 .86
SAS_WellBeing_T3 <- merged_data |>
  dplyr::select(SAS_4_T3, SAS_5_T3, SAS_6_T3)
alpha_pos <- psych::alpha(SAS_WellBeing_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_WellBeing_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.86      0.86     0.8      0.67   6 0.011  2.3 0.87     0.66
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.83  0.86  0.88
## Duhachek  0.83  0.86  0.88
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_4_T3      0.77      0.77    0.63      0.63 3.4    0.020    NA  0.63
## SAS_5_T3      0.83      0.83    0.71      0.71 4.8    0.015    NA  0.71
## SAS_6_T3      0.79      0.80    0.66      0.66 3.9    0.019    NA  0.66
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_4_T3 355  0.89  0.90  0.82   0.76  2.5 0.94
## SAS_5_T3 355  0.87  0.87  0.75   0.70  2.1 1.03
## SAS_6_T3 354  0.88  0.88  0.80   0.73  2.2 0.97
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_4_T3 0.02 0.12 0.33 0.39 0.14 0.27
## SAS_5_T3 0.06 0.22 0.34 0.30 0.08 0.27
## SAS_6_T3 0.03 0.21 0.36 0.31 0.09 0.27
## SAS - Wellbeing T4 .84
SAS_WellBeing_T4 <- merged_data |>
  dplyr::select(SAS_4_T4, SAS_5_T4, SAS_6_T4)
alpha_pos <- psych::alpha(SAS_WellBeing_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_WellBeing_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.84      0.84    0.78      0.64 5.3 0.013  2.3 0.83     0.65
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.81  0.84  0.86
## Duhachek  0.82  0.84  0.87
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_4_T4      0.75      0.75    0.60      0.60 3.1    0.022    NA  0.60
## SAS_5_T4      0.80      0.80    0.67      0.67 4.0    0.018    NA  0.67
## SAS_6_T4      0.78      0.79    0.65      0.65 3.7    0.019    NA  0.65
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_4_T4 349  0.88  0.89  0.80   0.73  2.5 0.90
## SAS_5_T4 349  0.87  0.86  0.75   0.69  2.1 1.00
## SAS_6_T4 349  0.87  0.87  0.76   0.70  2.2 0.94
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_4_T4 0.02 0.11 0.30 0.46 0.12 0.28
## SAS_5_T4 0.04 0.26 0.32 0.31 0.07 0.28
## SAS_6_T4 0.04 0.16 0.40 0.33 0.07 0.28
## SAS - Vigour T1 .83
SAS_Vigour_T1 <- merged_data |>
  dplyr::select(SAS_7_T1, SAS_8_T1, SAS_9_T1)
alpha_pos <- psych::alpha(SAS_Vigour_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Vigour_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean  sd median_r
##       0.83      0.83    0.77      0.62 4.8 0.014    2 0.9     0.62
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.8  0.83  0.85
## Duhachek   0.8  0.83  0.85
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_7_T1      0.79      0.79    0.66      0.66 3.8    0.019    NA  0.66
## SAS_8_T1      0.76      0.77    0.62      0.62 3.3    0.021    NA  0.62
## SAS_9_T1      0.73      0.73    0.57      0.57 2.6    0.025    NA  0.57
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean  sd
## SAS_7_T1 484  0.85  0.85  0.72   0.65  1.7 1.1
## SAS_8_T1 484  0.86  0.86  0.75   0.68  2.2 1.0
## SAS_9_T1 484  0.88  0.88  0.80   0.72  2.1 1.0
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_7_T1 0.15 0.31 0.33 0.15 0.06    0
## SAS_8_T1 0.05 0.20 0.33 0.31 0.11    0
## SAS_9_T1 0.05 0.26 0.37 0.24 0.09    0
## SAS - Vigour T2 .86
SAS_Vigour_T2 <- merged_data |>
  dplyr::select(SAS_7_T2, SAS_8_T2, SAS_9_T2)
alpha_pos <- psych::alpha(SAS_Vigour_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Vigour_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.86      0.86    0.81      0.68 6.4 0.011  1.9 0.89     0.68
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.84  0.86  0.88
## Duhachek  0.84  0.86  0.88
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_7_T2      0.84      0.84    0.73      0.73 5.4    0.014    NA  0.73
## SAS_8_T2      0.77      0.77    0.63      0.63 3.4    0.021    NA  0.63
## SAS_9_T2      0.81      0.81    0.68      0.68 4.2    0.017    NA  0.68
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_7_T2 391  0.87  0.87  0.75   0.70  1.5 1.05
## SAS_8_T2 391  0.90  0.91  0.84   0.78  2.1 0.98
## SAS_9_T2 391  0.88  0.89  0.80   0.74  1.9 0.98
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_7_T2 0.18 0.31 0.32 0.17 0.02  0.2
## SAS_8_T2 0.04 0.23 0.36 0.29 0.07  0.2
## SAS_9_T2 0.07 0.27 0.36 0.27 0.04  0.2
## SAS - Vigour T3 .87
SAS_Vigour_T3 <- merged_data |>
  dplyr::select(SAS_7_T3, SAS_8_T3, SAS_9_T3)
alpha_pos <- psych::alpha(SAS_Vigour_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Vigour_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.87      0.87    0.82      0.69 6.7 0.01  1.9 0.93     0.69
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.85  0.87  0.89
## Duhachek  0.85  0.87  0.89
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_7_T3      0.83      0.83    0.71      0.71 4.9    0.015    NA  0.71
## SAS_8_T3      0.81      0.81    0.68      0.68 4.2    0.017    NA  0.68
## SAS_9_T3      0.81      0.81    0.69      0.69 4.4    0.017    NA  0.69
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean  sd
## SAS_7_T3 355  0.89  0.88  0.79   0.74  1.6 1.1
## SAS_8_T3 355  0.90  0.90  0.82   0.76  2.1 1.0
## SAS_9_T3 355  0.89  0.89  0.81   0.76  1.9 1.0
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_7_T3 0.16 0.32 0.30 0.19 0.04 0.27
## SAS_8_T3 0.05 0.27 0.29 0.31 0.08 0.27
## SAS_9_T3 0.07 0.28 0.34 0.26 0.05 0.27
## SAS - Vigour T4 .87
SAS_Vigour_T4 <- merged_data |>
  dplyr::select(SAS_7_T4, SAS_8_T4, SAS_9_T4)
alpha_pos <- psych::alpha(SAS_Vigour_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Vigour_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.87      0.87    0.82      0.69 6.7 0.01  1.9 0.92     0.68
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.85  0.87  0.89
## Duhachek  0.85  0.87  0.89
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_7_T4      0.84      0.84    0.73      0.73 5.4    0.014    NA  0.73
## SAS_8_T4      0.81      0.81    0.68      0.68 4.2    0.018    NA  0.68
## SAS_9_T4      0.80      0.80    0.66      0.66 3.9    0.018    NA  0.66
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean  sd
## SAS_7_T4 348  0.88  0.88  0.77   0.72  1.6 1.1
## SAS_8_T4 349  0.89  0.90  0.82   0.76  2.1 1.0
## SAS_9_T4 349  0.90  0.90  0.83   0.77  1.9 1.0
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_7_T4 0.16 0.33 0.29 0.19 0.03 0.28
## SAS_8_T4 0.06 0.22 0.35 0.31 0.06 0.28
## SAS_9_T4 0.08 0.30 0.32 0.24 0.05 0.28
## SAS - Depression T1 .85
SAS_Depression_T1 <- merged_data |>
  dplyr::select(SAS_10_T1, SAS_11_T1, SAS_12_T1)
alpha_pos <- psych::alpha(SAS_Depression_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Depression_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean sd median_r
##       0.85      0.85    0.79      0.65 5.6 0.012  1.4  1     0.65
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.82  0.85  0.87
## Duhachek  0.82  0.85  0.87
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T1      0.78      0.79    0.65      0.65 3.7    0.019    NA  0.65
## SAS_11_T1      0.80      0.81    0.68      0.68 4.2    0.018    NA  0.68
## SAS_12_T1      0.77      0.77    0.63      0.63 3.4    0.021    NA  0.63
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_10_T1 484  0.87  0.88  0.78   0.72  1.6 1.1
## SAS_11_T1 484  0.86  0.87  0.76   0.70  1.4 1.1
## SAS_12_T1 484  0.89  0.88  0.80   0.73  1.2 1.2
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T1 0.17 0.36 0.25 0.16 0.06    0
## SAS_11_T1 0.23 0.37 0.22 0.14 0.04    0
## SAS_12_T1 0.37 0.28 0.18 0.11 0.06    0
## SAS - Depression T2 .86
SAS_Depression_T2 <- merged_data |>
  dplyr::select(SAS_10_T2, SAS_11_T2, SAS_12_T2)
alpha_pos <- psych::alpha(SAS_Depression_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Depression_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.86      0.86    0.81      0.68 6.3 0.011  1.3 0.95     0.68
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.84  0.86  0.88
## Duhachek  0.84  0.86  0.88
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T2      0.82      0.82    0.70      0.70 4.6    0.016    NA  0.70
## SAS_11_T2      0.79      0.79    0.65      0.65 3.8    0.019    NA  0.65
## SAS_12_T2      0.81      0.81    0.68      0.68 4.2    0.017    NA  0.68
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_10_T2 391  0.88  0.88  0.78   0.72  1.5 1.1
## SAS_11_T2 391  0.89  0.89  0.81   0.76  1.3 1.0
## SAS_12_T2 391  0.89  0.88  0.79   0.74  1.2 1.2
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T2 0.17 0.40 0.25 0.14 0.04  0.2
## SAS_11_T2 0.22 0.44 0.21 0.10 0.03  0.2
## SAS_12_T2 0.36 0.31 0.18 0.10 0.04  0.2
## SAS - Depression T3 .86
SAS_Depression_T3 <- merged_data |>
  dplyr::select(SAS_10_T3, SAS_11_T3, SAS_12_T3)
alpha_pos <- psych::alpha(SAS_Depression_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Depression_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.86      0.86     0.8      0.67 6.1 0.011  1.3 0.99     0.67
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.83  0.86  0.88
## Duhachek  0.84  0.86  0.88
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T3      0.81      0.81    0.68      0.68 4.2    0.017    NA  0.68
## SAS_11_T3      0.80      0.80    0.67      0.67 4.0    0.018    NA  0.67
## SAS_12_T3      0.79      0.79    0.66      0.66 3.8    0.019    NA  0.66
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_10_T3 355  0.88  0.88  0.78   0.72  1.5 1.1
## SAS_11_T3 355  0.88  0.88  0.79   0.73  1.3 1.1
## SAS_12_T3 355  0.89  0.89  0.80   0.74  1.1 1.2
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T3 0.21 0.35 0.25 0.13 0.05 0.27
## SAS_11_T3 0.27 0.38 0.21 0.10 0.04 0.27
## SAS_12_T3 0.39 0.29 0.15 0.11 0.05 0.27
## SAS - Depression T4 .82
SAS_Depression_T4 <- merged_data |>
  dplyr::select(SAS_10_T4, SAS_11_T4, SAS_12_T4)
alpha_pos <- psych::alpha(SAS_Depression_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Depression_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.82      0.82    0.76      0.61 4.7 0.014  1.3 0.94     0.61
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.79  0.82  0.85
## Duhachek  0.79  0.82  0.85
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T4      0.79      0.80    0.66      0.66 4.0    0.018    NA  0.66
## SAS_11_T4      0.71      0.71    0.55      0.55 2.5    0.026    NA  0.55
## SAS_12_T4      0.76      0.76    0.61      0.61 3.1    0.022    NA  0.61
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_10_T4 349  0.83  0.84  0.70   0.63  1.5 1.1
## SAS_11_T4 348  0.87  0.88  0.80   0.72  1.3 1.0
## SAS_12_T4 349  0.87  0.86  0.75   0.68  1.1 1.2
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T4 0.19 0.33 0.30 0.13 0.04 0.28
## SAS_11_T4 0.23 0.37 0.26 0.12 0.02 0.28
## SAS_12_T4 0.38 0.30 0.15 0.11 0.05 0.28
## SAS - Anxiety T1 .79
SAS_Anxiety_T1 <- merged_data |>
  dplyr::select(SAS_13_T1, SAS_14_T1, SAS_15_T1)
alpha_pos <- psych::alpha(SAS_Anxiety_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anxiety_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.79      0.79    0.72      0.56 3.9 0.016  2.1 0.98     0.56
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.76  0.79  0.82
## Duhachek  0.76  0.79  0.83
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_13_T1      0.71      0.71    0.56      0.56 2.5    0.026    NA  0.56
## SAS_14_T1      0.69      0.69    0.53      0.53 2.3    0.028    NA  0.53
## SAS_15_T1      0.75      0.75    0.60      0.60 3.0    0.022    NA  0.60
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_13_T1 484  0.86  0.85  0.72   0.64  1.9 1.2
## SAS_14_T1 484  0.85  0.85  0.75   0.66  2.1 1.1
## SAS_15_T1 484  0.82  0.83  0.68   0.61  2.4 1.1
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_13_T1 0.17 0.23 0.23 0.28 0.09    0
## SAS_14_T1 0.10 0.23 0.27 0.31 0.10    0
## SAS_15_T1 0.05 0.18 0.29 0.32 0.16    0
## SAS - Anxiety T2 .78
SAS_Anxiety_T2 <- merged_data |>
  dplyr::select(SAS_13_T2, SAS_14_T2, SAS_15_T2)
alpha_pos <- psych::alpha(SAS_Anxiety_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anxiety_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.78      0.78    0.71      0.55 3.6 0.017    2 0.94     0.54
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.75  0.78  0.81
## Duhachek  0.75  0.78  0.82
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_13_T2      0.66      0.66    0.50      0.50 2.0    0.031    NA  0.50
## SAS_14_T2      0.70      0.70    0.54      0.54 2.3    0.027    NA  0.54
## SAS_15_T2      0.75      0.75    0.60      0.60 3.0    0.023    NA  0.60
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_13_T2 391  0.86  0.85  0.75   0.66  1.8 1.2
## SAS_14_T2 391  0.84  0.84  0.71   0.63  1.9 1.1
## SAS_15_T2 391  0.80  0.81  0.65   0.58  2.1 1.0
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_13_T2 0.15 0.28 0.25 0.24 0.08  0.2
## SAS_14_T2 0.11 0.26 0.30 0.25 0.08  0.2
## SAS_15_T2 0.05 0.25 0.32 0.28 0.10  0.2
## SAS - Anxiety T3 .78
SAS_Anxiety_T3 <- merged_data |>
  dplyr::select(SAS_13_T3, SAS_14_T3, SAS_15_T3)
alpha_pos <- psych::alpha(SAS_Anxiety_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anxiety_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.78      0.78    0.71      0.54 3.6 0.017  1.9 0.91     0.53
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.75  0.78  0.81
## Duhachek  0.75  0.78  0.81
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_13_T3      0.69      0.69    0.53      0.53 2.3    0.028    NA  0.53
## SAS_14_T3      0.66      0.66    0.49      0.49 1.9    0.031    NA  0.49
## SAS_15_T3      0.76      0.76    0.61      0.61 3.1    0.022    NA  0.61
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_13_T3 355  0.84  0.84  0.72   0.63  1.7 1.1
## SAS_14_T3 355  0.86  0.85  0.75   0.66  1.9 1.1
## SAS_15_T3 355  0.80  0.81  0.64   0.57  2.1 1.0
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_13_T3 0.18 0.27 0.29 0.22 0.04 0.27
## SAS_14_T3 0.11 0.24 0.33 0.25 0.07 0.27
## SAS_15_T3 0.07 0.24 0.34 0.28 0.08 0.27
## SAS - Anxiety T4 .81
SAS_Anxiety_T4 <- merged_data |>
  dplyr::select(SAS_13_T4, SAS_14_T4, SAS_15_T4)
alpha_pos <- psych::alpha(SAS_Anxiety_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anxiety_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.81      0.81    0.74      0.58 4.2 0.015    2 0.96     0.58
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.77  0.81  0.83
## Duhachek  0.78  0.81  0.84
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_13_T4      0.71      0.71    0.55      0.55 2.4    0.027    NA  0.55
## SAS_14_T4      0.73      0.73    0.58      0.58 2.7    0.024    NA  0.58
## SAS_15_T4      0.77      0.77    0.62      0.62 3.3    0.021    NA  0.62
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean  sd
## SAS_13_T4 349  0.87  0.86  0.76   0.68  1.8 1.2
## SAS_14_T4 349  0.85  0.85  0.73   0.66  2.0 1.1
## SAS_15_T4 349  0.83  0.83  0.69   0.62  2.2 1.1
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_13_T4 0.16 0.27 0.26 0.24 0.07 0.28
## SAS_14_T4 0.09 0.27 0.29 0.27 0.09 0.28
## SAS_15_T4 0.07 0.20 0.28 0.35 0.11 0.28
## SAS - Anger T1 .74
SAS_Anger_T1 <- merged_data |>
  dplyr::select(SAS_16_T1, SAS_17_T1, SAS_18_T1)
alpha_pos <- psych::alpha(SAS_Anger_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anger_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.74      0.74    0.66      0.48 2.8 0.02 0.86 0.81     0.49
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.69  0.74  0.77
## Duhachek  0.70  0.74  0.78
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_16_T1      0.69      0.69    0.53      0.53 2.3    0.028    NA  0.53
## SAS_17_T1      0.59      0.60    0.43      0.43 1.5    0.036    NA  0.43
## SAS_18_T1      0.66      0.66    0.49      0.49 1.9    0.031    NA  0.49
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_16_T1 484  0.77  0.79  0.61   0.52 0.66 0.91
## SAS_17_T1 484  0.84  0.83  0.71   0.61 1.00 1.01
## SAS_18_T1 484  0.82  0.81  0.65   0.56 0.92 1.07
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_16_T1 0.58 0.24 0.14 0.03 0.01    0
## SAS_17_T1 0.38 0.35 0.18 0.08 0.02    0
## SAS_18_T1 0.47 0.27 0.15 0.09 0.02    0
## SAS - Anger T2 .77
SAS_Anger_T2 <- merged_data |>
  dplyr::select(SAS_16_T2, SAS_17_T2, SAS_18_T2)
alpha_pos <- psych::alpha(SAS_Anger_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anger_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.77      0.77    0.69      0.52 3.3 0.018 0.83 0.82     0.52
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.73  0.77   0.8
## Duhachek  0.73  0.77   0.8
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_16_T2      0.69      0.69    0.52      0.52 2.2    0.028    NA  0.52
## SAS_17_T2      0.68      0.68    0.52      0.52 2.2    0.029    NA  0.52
## SAS_18_T2      0.68      0.68    0.52      0.52 2.2    0.029    NA  0.52
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_16_T2 391  0.82  0.82  0.68    0.6 0.68 0.95
## SAS_17_T2 391  0.83  0.83  0.69    0.6 1.00 1.03
## SAS_18_T2 391  0.83  0.83  0.68    0.6 0.80 0.99
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_16_T2 0.58 0.23 0.13 0.04 0.01  0.2
## SAS_17_T2 0.39 0.35 0.16 0.09 0.02  0.2
## SAS_18_T2 0.51 0.28 0.14 0.06 0.02  0.2
## SAS - Anger T3 .80
SAS_Anger_T3 <- merged_data |>
  dplyr::select(SAS_16_T3, SAS_17_T3, SAS_18_T3)
alpha_pos <- psych::alpha(SAS_Anger_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anger_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##        0.8       0.8    0.73      0.58 4.1 0.015 0.84 0.87     0.59
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.77   0.8  0.83
## Duhachek  0.77   0.8  0.83
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_16_T3      0.74      0.74    0.59      0.59 2.9    0.023    NA  0.59
## SAS_17_T3      0.74      0.75    0.60      0.60 3.0    0.023    NA  0.60
## SAS_18_T3      0.70      0.71    0.55      0.55 2.4    0.027    NA  0.55
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_16_T3 355  0.83  0.84  0.71   0.64 0.65 0.96
## SAS_17_T3 355  0.84  0.84  0.71   0.64 1.01 1.05
## SAS_18_T3 355  0.87  0.86  0.76   0.68 0.86 1.08
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_16_T3 0.61 0.22 0.12 0.05 0.01 0.27
## SAS_17_T3 0.38 0.34 0.18 0.06 0.03 0.27
## SAS_18_T3 0.52 0.22 0.16 0.08 0.02 0.27
## SAS - Anger T4 .77
SAS_Anger_T4 <- merged_data |>
  dplyr::select(SAS_16_T4, SAS_17_T4, SAS_18_T4)
alpha_pos <- psych::alpha(SAS_Anger_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Anger_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.77      0.77    0.69      0.52 3.3 0.018 0.87 0.86      0.5
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.73  0.77   0.8
## Duhachek  0.73  0.77   0.8
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_16_T4      0.74      0.74    0.59      0.59 2.9    0.023    NA  0.59
## SAS_17_T4      0.66      0.66    0.50      0.50 2.0    0.030    NA  0.50
## SAS_18_T4      0.65      0.65    0.48      0.48 1.9    0.032    NA  0.48
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_16_T4 349  0.78  0.80  0.62   0.55 0.68 0.97
## SAS_17_T4 349  0.84  0.84  0.71   0.62 1.00 1.04
## SAS_18_T4 349  0.86  0.84  0.73   0.63 0.93 1.12
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_16_T4 0.60 0.20 0.13 0.07 0.01 0.28
## SAS_17_T4 0.41 0.31 0.17 0.09 0.01 0.28
## SAS_18_T4 0.49 0.23 0.15 0.11 0.02 0.28
## SAS - Positive T1 .90
SAS_Positive_T1 <- merged_data |>
  dplyr::select(SAS_1_T1, SAS_2_T1, SAS_3_T1, SAS_4_T1, SAS_5_T1, SAS_6_T1, SAS_7_T1, SAS_8_T1, SAS_9_T1)
alpha_pos <- psych::alpha(SAS_Positive_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Positive_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##        0.9       0.9    0.91       0.5 8.9 0.007  2.1 0.75     0.49
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.88   0.9  0.91
## Duhachek  0.89   0.9  0.91
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## SAS_1_T1      0.90      0.90    0.90      0.52 8.8   0.0071 0.0079  0.53
## SAS_2_T1      0.89      0.89    0.89      0.50 8.0   0.0077 0.0126  0.52
## SAS_3_T1      0.89      0.89    0.89      0.50 8.1   0.0076 0.0114  0.52
## SAS_4_T1      0.88      0.88    0.89      0.49 7.6   0.0081 0.0109  0.48
## SAS_5_T1      0.88      0.89    0.89      0.49 7.7   0.0080 0.0098  0.48
## SAS_6_T1      0.88      0.88    0.89      0.49 7.7   0.0080 0.0127  0.48
## SAS_7_T1      0.89      0.89    0.90      0.50 8.1   0.0077 0.0111  0.52
## SAS_8_T1      0.88      0.89    0.89      0.49 7.7   0.0080 0.0096  0.48
## SAS_9_T1      0.88      0.89    0.89      0.49 7.7   0.0080 0.0104  0.48
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T1 484  0.63  0.64  0.58   0.54  2.0 0.97
## SAS_2_T1 484  0.73  0.73  0.69   0.65  1.8 1.04
## SAS_3_T1 484  0.72  0.72  0.69   0.64  1.8 1.00
## SAS_4_T1 484  0.78  0.79  0.77   0.72  2.6 0.90
## SAS_5_T1 484  0.77  0.77  0.75   0.70  2.3 0.99
## SAS_6_T1 484  0.78  0.78  0.74   0.71  2.3 0.99
## SAS_7_T1 484  0.73  0.72  0.67   0.64  1.7 1.08
## SAS_8_T1 484  0.77  0.77  0.74   0.70  2.2 1.05
## SAS_9_T1 484  0.78  0.77  0.74   0.70  2.1 1.02
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T1 0.05 0.26 0.37 0.27 0.06    0
## SAS_2_T1 0.10 0.29 0.35 0.20 0.06    0
## SAS_3_T1 0.08 0.35 0.34 0.17 0.05    0
## SAS_4_T1 0.01 0.10 0.34 0.40 0.15    0
## SAS_5_T1 0.04 0.17 0.34 0.34 0.10    0
## SAS_6_T1 0.05 0.16 0.37 0.33 0.09    0
## SAS_7_T1 0.15 0.31 0.33 0.15 0.06    0
## SAS_8_T1 0.05 0.20 0.33 0.31 0.11    0
## SAS_9_T1 0.05 0.26 0.37 0.24 0.09    0
## SAS - Positive T2 .92
SAS_Positive_T2 <- merged_data |>
  dplyr::select(SAS_1_T2, SAS_2_T2, SAS_3_T2, SAS_4_T2, SAS_5_T2, SAS_6_T2, SAS_7_T2, SAS_8_T2, SAS_9_T2)
alpha_pos <- psych::alpha(SAS_Positive_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Positive_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.92      0.92    0.92      0.55  11 0.0058    2 0.75     0.54
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt      0.9  0.92  0.93
## Duhachek   0.9  0.92  0.93
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r  S/N alpha se  var.r med.r
## SAS_1_T2      0.91      0.91    0.91      0.56 10.2   0.0062 0.0072  0.55
## SAS_2_T2      0.91      0.91    0.91      0.55 10.0   0.0064 0.0083  0.54
## SAS_3_T2      0.91      0.91    0.91      0.56 10.0   0.0063 0.0075  0.55
## SAS_4_T2      0.91      0.91    0.91      0.55  9.7   0.0066 0.0092  0.54
## SAS_5_T2      0.90      0.90    0.91      0.54  9.5   0.0067 0.0087  0.53
## SAS_6_T2      0.90      0.91    0.91      0.55  9.6   0.0066 0.0094  0.53
## SAS_7_T2      0.91      0.91    0.91      0.56 10.2   0.0062 0.0061  0.54
## SAS_8_T2      0.90      0.90    0.90      0.53  9.0   0.0070 0.0069  0.51
## SAS_9_T2      0.91      0.91    0.91      0.55  9.6   0.0066 0.0073  0.53
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T2 391  0.73  0.73  0.69   0.65  2.0 0.99
## SAS_2_T2 391  0.75  0.75  0.72   0.68  1.8 1.00
## SAS_3_T2 391  0.75  0.75  0.72   0.68  1.8 0.96
## SAS_4_T2 391  0.78  0.78  0.75   0.72  2.5 0.86
## SAS_5_T2 391  0.80  0.80  0.77   0.74  2.1 0.97
## SAS_6_T2 391  0.79  0.79  0.75   0.72  2.2 0.96
## SAS_7_T2 391  0.74  0.73  0.69   0.65  1.5 1.05
## SAS_8_T2 391  0.85  0.85  0.84   0.80  2.1 0.98
## SAS_9_T2 391  0.79  0.78  0.76   0.72  1.9 0.98
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T2 0.07 0.22 0.37 0.29 0.05  0.2
## SAS_2_T2 0.10 0.32 0.34 0.21 0.03  0.2
## SAS_3_T2 0.08 0.31 0.36 0.23 0.02  0.2
## SAS_4_T2 0.01 0.11 0.37 0.40 0.11  0.2
## SAS_5_T2 0.04 0.25 0.34 0.32 0.06  0.2
## SAS_6_T2 0.04 0.20 0.38 0.31 0.07  0.2
## SAS_7_T2 0.18 0.31 0.32 0.17 0.02  0.2
## SAS_8_T2 0.04 0.23 0.36 0.29 0.07  0.2
## SAS_9_T2 0.07 0.27 0.36 0.27 0.04  0.2
## SAS - Positive T3 .92
SAS_Positive_T3 <- merged_data |>
  dplyr::select(SAS_1_T3, SAS_2_T3, SAS_3_T3, SAS_4_T3, SAS_5_T3, SAS_6_T3, SAS_7_T3, SAS_8_T3, SAS_9_T3)
alpha_pos <- psych::alpha(SAS_Positive_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Positive_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.92      0.92    0.93      0.56  11 0.0055    2 0.79     0.54
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.91  0.92  0.93
## Duhachek  0.91  0.92  0.93
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r  S/N alpha se  var.r med.r
## SAS_1_T3      0.91      0.92    0.92      0.57 10.8   0.0059 0.0075  0.57
## SAS_2_T3      0.91      0.91    0.92      0.56 10.2   0.0062 0.0097  0.54
## SAS_3_T3      0.91      0.91    0.92      0.57 10.7   0.0059 0.0079  0.57
## SAS_4_T3      0.91      0.91    0.91      0.56 10.0   0.0063 0.0095  0.54
## SAS_5_T3      0.91      0.91    0.91      0.55  9.7   0.0066 0.0091  0.53
## SAS_6_T3      0.91      0.91    0.91      0.55  9.9   0.0064 0.0096  0.54
## SAS_7_T3      0.91      0.91    0.92      0.57 10.5   0.0060 0.0072  0.55
## SAS_8_T3      0.91      0.91    0.91      0.55  9.9   0.0064 0.0076  0.54
## SAS_9_T3      0.91      0.91    0.91      0.56 10.2   0.0063 0.0081  0.54
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T3 355  0.73  0.73  0.69   0.65  2.0 1.00
## SAS_2_T3 355  0.78  0.78  0.75   0.71  1.9 1.03
## SAS_3_T3 355  0.73  0.73  0.70   0.66  1.9 0.96
## SAS_4_T3 355  0.80  0.80  0.77   0.74  2.5 0.94
## SAS_5_T3 355  0.83  0.83  0.81   0.78  2.1 1.03
## SAS_6_T3 354  0.80  0.81  0.78   0.74  2.2 0.97
## SAS_7_T3 355  0.76  0.75  0.71   0.68  1.6 1.08
## SAS_8_T3 355  0.81  0.81  0.79   0.75  2.1 1.04
## SAS_9_T3 355  0.79  0.78  0.76   0.72  1.9 1.00
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T3 0.05 0.25 0.37 0.26 0.07 0.27
## SAS_2_T3 0.09 0.29 0.36 0.21 0.06 0.27
## SAS_3_T3 0.06 0.31 0.37 0.21 0.05 0.27
## SAS_4_T3 0.02 0.12 0.33 0.39 0.14 0.27
## SAS_5_T3 0.06 0.22 0.34 0.30 0.08 0.27
## SAS_6_T3 0.03 0.21 0.36 0.31 0.09 0.27
## SAS_7_T3 0.16 0.32 0.30 0.19 0.04 0.27
## SAS_8_T3 0.05 0.27 0.29 0.31 0.08 0.27
## SAS_9_T3 0.07 0.28 0.34 0.26 0.05 0.27
## SAS - Positive T4 .90
SAS_Positive_T4 <- merged_data |>
  dplyr::select(SAS_1_T4, SAS_2_T4, SAS_3_T4, SAS_4_T4, SAS_5_T4, SAS_6_T4, SAS_7_T4, SAS_8_T4, SAS_9_T4)
alpha_pos <- psych::alpha(SAS_Positive_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Positive_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##        0.9       0.9    0.91      0.51 9.5 0.0067    2 0.74      0.5
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.89   0.9  0.92
## Duhachek  0.89   0.9  0.92
## 
##  Reliability if an item is dropped:
##          raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_1_T4      0.90      0.90    0.91      0.54 9.3   0.0068 0.013  0.54
## SAS_2_T4      0.90      0.90    0.91      0.53 8.9   0.0071 0.018  0.54
## SAS_3_T4      0.90      0.90    0.90      0.52 8.8   0.0070 0.016  0.54
## SAS_4_T4      0.89      0.89    0.90      0.50 8.1   0.0077 0.017  0.48
## SAS_5_T4      0.89      0.89    0.90      0.50 7.9   0.0079 0.015  0.49
## SAS_6_T4      0.89      0.89    0.90      0.50 8.1   0.0077 0.018  0.48
## SAS_7_T4      0.89      0.89    0.90      0.52 8.5   0.0074 0.014  0.50
## SAS_8_T4      0.89      0.89    0.90      0.50 8.0   0.0078 0.014  0.49
## SAS_9_T4      0.89      0.89    0.90      0.51 8.2   0.0077 0.013  0.49
## 
##  Item statistics 
##            n raw.r std.r r.cor r.drop mean   sd
## SAS_1_T4 349  0.65  0.65  0.61   0.55  2.1 0.98
## SAS_2_T4 349  0.69  0.70  0.64   0.61  1.9 0.97
## SAS_3_T4 349  0.70  0.70  0.66   0.61  1.9 1.00
## SAS_4_T4 349  0.79  0.80  0.77   0.73  2.5 0.90
## SAS_5_T4 349  0.81  0.81  0.79   0.75  2.1 1.00
## SAS_6_T4 349  0.78  0.79  0.76   0.72  2.2 0.94
## SAS_7_T4 348  0.75  0.74  0.70   0.66  1.6 1.05
## SAS_8_T4 349  0.81  0.80  0.78   0.74  2.1 1.01
## SAS_9_T4 349  0.79  0.78  0.76   0.71  1.9 1.04
## 
## Non missing response frequency for each item
##             0    1    2    3    4 miss
## SAS_1_T4 0.05 0.24 0.34 0.31 0.06 0.28
## SAS_2_T4 0.07 0.30 0.34 0.26 0.03 0.28
## SAS_3_T4 0.08 0.28 0.35 0.24 0.04 0.28
## SAS_4_T4 0.02 0.11 0.30 0.46 0.12 0.28
## SAS_5_T4 0.04 0.26 0.32 0.31 0.07 0.28
## SAS_6_T4 0.04 0.16 0.40 0.33 0.07 0.28
## SAS_7_T4 0.16 0.33 0.29 0.19 0.03 0.28
## SAS_8_T4 0.06 0.22 0.35 0.31 0.06 0.28
## SAS_9_T4 0.08 0.30 0.32 0.24 0.05 0.28
## SAS - Negative T1 .85
SAS_Negative_T1 <- merged_data |>
  dplyr::select(SAS_10_T1, SAS_11_T1, SAS_12_T1, SAS_13_T1, SAS_14_T1, SAS_15_T1, SAS_16_T1, SAS_17_T1, SAS_18_T1)
alpha_pos <- psych::alpha(SAS_Negative_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Negative_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.85      0.85    0.87      0.39 5.7 0.0098  1.5 0.75     0.39
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.83  0.85  0.87
## Duhachek  0.84  0.85  0.87
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T1      0.83      0.83    0.84      0.38 4.9   0.0114 0.019  0.38
## SAS_11_T1      0.83      0.82    0.84      0.37 4.7   0.0117 0.021  0.37
## SAS_12_T1      0.83      0.83    0.84      0.37 4.8   0.0116 0.020  0.39
## SAS_13_T1      0.83      0.83    0.85      0.38 4.8   0.0114 0.024  0.38
## SAS_14_T1      0.84      0.83    0.85      0.38 5.0   0.0112 0.021  0.38
## SAS_15_T1      0.85      0.84    0.86      0.40 5.4   0.0105 0.018  0.40
## SAS_16_T1      0.86      0.85    0.87      0.42 5.9   0.0098 0.017  0.42
## SAS_17_T1      0.84      0.84    0.85      0.40 5.3   0.0104 0.023  0.42
## SAS_18_T1      0.84      0.84    0.86      0.40 5.2   0.0104 0.024  0.40
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_10_T1 484  0.74  0.73  0.70   0.64 1.58 1.13
## SAS_11_T1 484  0.77  0.76  0.74   0.68 1.38 1.11
## SAS_12_T1 484  0.76  0.75  0.73   0.67 1.22 1.22
## SAS_13_T1 484  0.74  0.73  0.69   0.64 1.88 1.25
## SAS_14_T1 484  0.71  0.70  0.66   0.61 2.09 1.15
## SAS_15_T1 484  0.63  0.62  0.56   0.51 2.37 1.10
## SAS_16_T1 484  0.49  0.52  0.43   0.37 0.66 0.91
## SAS_17_T1 484  0.62  0.64  0.58   0.51 1.00 1.01
## SAS_18_T1 484  0.63  0.64  0.58   0.52 0.92 1.07
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T1 0.17 0.36 0.25 0.16 0.06    0
## SAS_11_T1 0.23 0.37 0.22 0.14 0.04    0
## SAS_12_T1 0.37 0.28 0.18 0.11 0.06    0
## SAS_13_T1 0.17 0.23 0.23 0.28 0.09    0
## SAS_14_T1 0.10 0.23 0.27 0.31 0.10    0
## SAS_15_T1 0.05 0.18 0.29 0.32 0.16    0
## SAS_16_T1 0.58 0.24 0.14 0.03 0.01    0
## SAS_17_T1 0.38 0.35 0.18 0.08 0.02    0
## SAS_18_T1 0.47 0.27 0.15 0.09 0.02    0
## SAS - Negative T2 .86
SAS_Negative_T2 <- merged_data |>
  dplyr::select(SAS_10_T2, SAS_11_T2, SAS_12_T2, SAS_13_T2, SAS_14_T2, SAS_15_T2, SAS_16_T2, SAS_17_T2, SAS_18_T2)
alpha_pos <- psych::alpha(SAS_Negative_T2)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Negative_T2)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.86      0.86    0.87       0.4 6.1 0.0095  1.4 0.73     0.38
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.84  0.86  0.88
## Duhachek  0.84  0.86  0.88
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T2      0.84      0.84    0.85      0.39 5.2   0.0111 0.014  0.36
## SAS_11_T2      0.84      0.84    0.85      0.39 5.1   0.0112 0.013  0.37
## SAS_12_T2      0.84      0.84    0.85      0.39 5.2   0.0112 0.014  0.38
## SAS_13_T2      0.84      0.84    0.85      0.40 5.4   0.0108 0.017  0.38
## SAS_14_T2      0.84      0.84    0.86      0.40 5.3   0.0109 0.017  0.38
## SAS_15_T2      0.85      0.85    0.86      0.42 5.8   0.0102 0.016  0.39
## SAS_16_T2      0.86      0.86    0.86      0.43 5.9   0.0099 0.014  0.39
## SAS_17_T2      0.85      0.85    0.86      0.41 5.5   0.0104 0.018  0.38
## SAS_18_T2      0.85      0.85    0.86      0.41 5.6   0.0102 0.018  0.39
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_10_T2 391  0.74  0.74  0.72   0.65 1.50 1.06
## SAS_11_T2 391  0.76  0.76  0.74   0.68 1.27 1.00
## SAS_12_T2 391  0.75  0.74  0.72   0.66 1.15 1.15
## SAS_13_T2 391  0.71  0.70  0.66   0.61 1.83 1.19
## SAS_14_T2 391  0.72  0.71  0.66   0.62 1.94 1.13
## SAS_15_T2 391  0.62  0.62  0.55   0.51 2.14 1.05
## SAS_16_T2 391  0.57  0.59  0.52   0.46 0.68 0.95
## SAS_17_T2 391  0.66  0.67  0.62   0.56 1.00 1.03
## SAS_18_T2 391  0.63  0.65  0.59   0.53 0.80 0.99
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T2 0.17 0.40 0.25 0.14 0.04  0.2
## SAS_11_T2 0.22 0.44 0.21 0.10 0.03  0.2
## SAS_12_T2 0.36 0.31 0.18 0.10 0.04  0.2
## SAS_13_T2 0.15 0.28 0.25 0.24 0.08  0.2
## SAS_14_T2 0.11 0.26 0.30 0.25 0.08  0.2
## SAS_15_T2 0.05 0.25 0.32 0.28 0.10  0.2
## SAS_16_T2 0.58 0.23 0.13 0.04 0.01  0.2
## SAS_17_T2 0.39 0.35 0.16 0.09 0.02  0.2
## SAS_18_T2 0.51 0.28 0.14 0.06 0.02  0.2
## SAS - Negative T3 .88
SAS_Negative_T3 <- merged_data |>
  dplyr::select(SAS_10_T3, SAS_11_T3, SAS_12_T3, SAS_13_T3, SAS_14_T3, SAS_15_T3, SAS_16_T3, SAS_17_T3, SAS_18_T3)
alpha_pos <- psych::alpha(SAS_Negative_T3)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Negative_T3)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.88      0.88    0.89      0.44 7.1 0.0084  1.3 0.77     0.44
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.86  0.88  0.89
## Duhachek  0.86  0.88  0.89
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T3      0.86      0.86    0.87      0.43 6.1   0.0097 0.013  0.44
## SAS_11_T3      0.86      0.86    0.87      0.43 5.9   0.0099 0.013  0.42
## SAS_12_T3      0.86      0.86    0.87      0.43 6.0   0.0099 0.012  0.42
## SAS_13_T3      0.87      0.87    0.87      0.45 6.4   0.0092 0.014  0.44
## SAS_14_T3      0.86      0.86    0.87      0.44 6.2   0.0094 0.015  0.43
## SAS_15_T3      0.87      0.87    0.88      0.46 6.9   0.0087 0.011  0.45
## SAS_16_T3      0.87      0.87    0.88      0.45 6.5   0.0091 0.013  0.44
## SAS_17_T3      0.87      0.87    0.88      0.45 6.5   0.0090 0.014  0.44
## SAS_18_T3      0.87      0.86    0.87      0.44 6.4   0.0092 0.014  0.44
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_10_T3 355  0.76  0.75  0.72   0.67 1.45 1.12
## SAS_11_T3 355  0.78  0.78  0.76   0.71 1.25 1.07
## SAS_12_T3 355  0.78  0.78  0.75   0.70 1.12 1.19
## SAS_13_T3 355  0.69  0.69  0.64   0.60 1.66 1.12
## SAS_14_T3 355  0.73  0.73  0.69   0.64 1.94 1.10
## SAS_15_T3 355  0.61  0.61  0.54   0.50 2.05 1.05
## SAS_16_T3 355  0.66  0.68  0.63   0.57 0.65 0.96
## SAS_17_T3 355  0.67  0.68  0.62   0.57 1.01 1.05
## SAS_18_T3 355  0.70  0.70  0.66   0.60 0.86 1.08
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T3 0.21 0.35 0.25 0.13 0.05 0.27
## SAS_11_T3 0.27 0.38 0.21 0.10 0.04 0.27
## SAS_12_T3 0.39 0.29 0.15 0.11 0.05 0.27
## SAS_13_T3 0.18 0.27 0.29 0.22 0.04 0.27
## SAS_14_T3 0.11 0.24 0.33 0.25 0.07 0.27
## SAS_15_T3 0.07 0.24 0.34 0.28 0.08 0.27
## SAS_16_T3 0.61 0.22 0.12 0.05 0.01 0.27
## SAS_17_T3 0.38 0.34 0.18 0.06 0.03 0.27
## SAS_18_T3 0.52 0.22 0.16 0.08 0.02 0.27
## SAS - Negative T4 .87
SAS_Negative_T4 <- merged_data |>
  dplyr::select(SAS_10_T4, SAS_11_T4, SAS_12_T4, SAS_13_T4, SAS_14_T4, SAS_15_T4, SAS_16_T4, SAS_17_T4, SAS_18_T4)
alpha_pos <- psych::alpha(SAS_Negative_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = SAS_Negative_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.87      0.87    0.88      0.42 6.4 0.0092  1.4 0.76     0.43
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.85  0.87  0.88
## Duhachek  0.85  0.87  0.88
## 
##  Reliability if an item is dropped:
##           raw_alpha std.alpha G6(smc) average_r S/N alpha se var.r med.r
## SAS_10_T4      0.85      0.85    0.86      0.41 5.5   0.0107 0.016  0.39
## SAS_11_T4      0.84      0.84    0.85      0.40 5.3   0.0109 0.014  0.40
## SAS_12_T4      0.85      0.85    0.86      0.41 5.5   0.0105 0.015  0.43
## SAS_13_T4      0.85      0.85    0.86      0.41 5.7   0.0103 0.014  0.42
## SAS_14_T4      0.85      0.85    0.86      0.42 5.7   0.0102 0.014  0.43
## SAS_15_T4      0.86      0.86    0.86      0.43 6.0   0.0099 0.013  0.43
## SAS_16_T4      0.86      0.86    0.87      0.44 6.4   0.0094 0.012  0.43
## SAS_17_T4      0.85      0.85    0.86      0.42 5.7   0.0101 0.016  0.43
## SAS_18_T4      0.85      0.85    0.86      0.42 5.8   0.0100 0.015  0.42
## 
##  Item statistics 
##             n raw.r std.r r.cor r.drop mean   sd
## SAS_10_T4 349  0.74  0.75  0.71   0.66 1.50 1.08
## SAS_11_T4 348  0.78  0.78  0.76   0.71 1.32 1.02
## SAS_12_T4 349  0.74  0.73  0.69   0.64 1.15 1.19
## SAS_13_T4 349  0.72  0.71  0.67   0.62 1.78 1.19
## SAS_14_T4 349  0.70  0.69  0.65   0.60 2.00 1.12
## SAS_15_T4 349  0.65  0.64  0.58   0.54 2.23 1.09
## SAS_16_T4 349  0.56  0.58  0.50   0.45 0.68 0.97
## SAS_17_T4 349  0.69  0.69  0.65   0.59 1.00 1.04
## SAS_18_T4 349  0.68  0.68  0.63   0.57 0.93 1.12
## 
## Non missing response frequency for each item
##              0    1    2    3    4 miss
## SAS_10_T4 0.19 0.33 0.30 0.13 0.04 0.28
## SAS_11_T4 0.23 0.37 0.26 0.12 0.02 0.28
## SAS_12_T4 0.38 0.30 0.15 0.11 0.05 0.28
## SAS_13_T4 0.16 0.27 0.26 0.24 0.07 0.28
## SAS_14_T4 0.09 0.27 0.29 0.27 0.09 0.28
## SAS_15_T4 0.07 0.20 0.28 0.35 0.11 0.28
## SAS_16_T4 0.60 0.20 0.13 0.07 0.01 0.28
## SAS_17_T4 0.41 0.31 0.17 0.09 0.01 0.28
## SAS_18_T4 0.49 0.23 0.15 0.11 0.02 0.28
## Flourishing T1 .87
Flourishing_T1 <- merged_data |>
  dplyr::select(Flourish_1_T1:Flourish_8_T1)
alpha_pos <- psych::alpha(Flourishing_T1)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = Flourishing_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.87      0.87    0.87      0.46 6.9 0.0087  5.6 0.81     0.46
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.86  0.87  0.89
## Duhachek  0.86  0.87  0.89
## 
##  Reliability if an item is dropped:
##               raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## Flourish_1_T1      0.86      0.86    0.84      0.46 6.0   0.0100 0.0031  0.46
## Flourish_2_T1      0.86      0.86    0.85      0.48 6.4   0.0094 0.0043  0.48
## Flourish_3_T1      0.86      0.86    0.85      0.46 6.0   0.0099 0.0041  0.46
## Flourish_4_T1      0.86      0.86    0.85      0.47 6.3   0.0095 0.0046  0.48
## Flourish_5_T1      0.85      0.85    0.84      0.46 5.9   0.0100 0.0042  0.45
## Flourish_6_T1      0.85      0.85    0.84      0.45 5.7   0.0103 0.0035  0.45
## Flourish_7_T1      0.85      0.85    0.84      0.46 5.9   0.0101 0.0034  0.45
## Flourish_8_T1      0.86      0.86    0.85      0.48 6.3   0.0094 0.0034  0.46
## 
##  Item statistics 
##                 n raw.r std.r r.cor r.drop mean  sd
## Flourish_1_T1 484  0.76  0.74  0.70   0.65  5.4 1.3
## Flourish_2_T1 484  0.68  0.68  0.61   0.57  5.7 1.1
## Flourish_3_T1 484  0.74  0.73  0.68   0.64  5.3 1.2
## Flourish_4_T1 484  0.68  0.69  0.62   0.58  5.7 1.0
## Flourish_5_T1 484  0.75  0.76  0.71   0.66  5.7 1.0
## Flourish_6_T1 484  0.78  0.78  0.75   0.70  5.8 1.1
## Flourish_7_T1 484  0.76  0.76  0.72   0.67  5.6 1.2
## Flourish_8_T1 484  0.68  0.69  0.63   0.58  5.5 1.1
## 
## Non missing response frequency for each item
##                  1    2    3    4    5    6    7 miss
## Flourish_1_T1 0.01 0.01 0.05 0.12 0.20 0.43 0.17    0
## Flourish_2_T1 0.00 0.02 0.03 0.07 0.19 0.46 0.23    0
## Flourish_3_T1 0.01 0.01 0.07 0.12 0.29 0.40 0.10    0
## Flourish_4_T1 0.00 0.01 0.03 0.07 0.24 0.46 0.19    0
## Flourish_5_T1 0.00 0.01 0.04 0.06 0.21 0.48 0.20    0
## Flourish_6_T1 0.01 0.01 0.02 0.08 0.17 0.44 0.28    0
## Flourish_7_T1 0.00 0.02 0.06 0.07 0.21 0.40 0.24    0
## Flourish_8_T1 0.00 0.01 0.04 0.13 0.21 0.48 0.13    0
## Flourishing T4 .89
Flourishing_T4 <- merged_data |>
  dplyr::select(Flourish_1_T4:Flourish_8_T4)
alpha_pos <- psych::alpha(Flourishing_T4)
print(alpha_pos)
## 
## Reliability analysis   
## Call: psych::alpha(x = Flourishing_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N    ase mean   sd median_r
##       0.89      0.89    0.89      0.51 8.3 0.0074  5.6 0.83     0.51
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.88  0.89  0.91
## Duhachek  0.88  0.89  0.91
## 
##  Reliability if an item is dropped:
##               raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r med.r
## Flourish_1_T4      0.87      0.88    0.87      0.50 7.1   0.0087 0.0057  0.51
## Flourish_2_T4      0.89      0.89    0.88      0.53 8.0   0.0077 0.0027  0.53
## Flourish_3_T4      0.87      0.88    0.87      0.50 7.0   0.0087 0.0066  0.49
## Flourish_4_T4      0.88      0.88    0.87      0.52 7.4   0.0083 0.0061  0.52
## Flourish_5_T4      0.88      0.88    0.87      0.51 7.2   0.0086 0.0036  0.51
## Flourish_6_T4      0.87      0.87    0.86      0.49 6.7   0.0090 0.0051  0.50
## Flourish_7_T4      0.88      0.88    0.87      0.51 7.2   0.0085 0.0046  0.51
## Flourish_8_T4      0.88      0.88    0.87      0.51 7.4   0.0084 0.0066  0.52
## 
##  Item statistics 
##                 n raw.r std.r r.cor r.drop mean  sd
## Flourish_1_T4 349  0.78  0.78  0.74   0.70  5.6 1.1
## Flourish_2_T4 349  0.67  0.67  0.61   0.56  5.7 1.1
## Flourish_3_T4 348  0.78  0.78  0.74   0.70  5.3 1.2
## Flourish_4_T4 349  0.73  0.73  0.68   0.64  5.6 1.1
## Flourish_5_T4 349  0.76  0.77  0.73   0.69  5.6 1.0
## Flourish_6_T4 349  0.82  0.82  0.79   0.75  5.8 1.0
## Flourish_7_T4 349  0.77  0.76  0.72   0.67  5.5 1.3
## Flourish_8_T4 349  0.74  0.74  0.69   0.65  5.5 1.0
## 
## Non missing response frequency for each item
##                  1    2    3    4    5    6    7 miss
## Flourish_1_T4 0.00 0.01 0.04 0.09 0.23 0.46 0.17 0.28
## Flourish_2_T4 0.01 0.02 0.03 0.05 0.22 0.47 0.21 0.28
## Flourish_3_T4 0.00 0.03 0.07 0.10 0.30 0.40 0.10 0.28
## Flourish_4_T4 0.00 0.02 0.02 0.07 0.25 0.47 0.16 0.28
## Flourish_5_T4 0.00 0.01 0.03 0.09 0.23 0.47 0.17 0.28
## Flourish_6_T4 0.00 0.01 0.02 0.07 0.19 0.46 0.25 0.28
## Flourish_7_T4 0.00 0.02 0.07 0.08 0.26 0.34 0.23 0.28
## Flourish_8_T4 0.00 0.01 0.03 0.10 0.26 0.46 0.13 0.28
## Social Fit T1 r = .20
cor.test(merged_data$social_fit_1_T1, merged_data$social_fit_2_T1_rev, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$social_fit_1_T1 and merged_data$social_fit_2_T1_rev
## t = 4.5257, df = 482, p-value = 7.591e-06
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1148327 0.2858809
## sample estimates:
##       cor 
## 0.2018958
## Social Fit T4 r = .22
cor.test(merged_data$social_fit_1_T4, merged_data$social_fit_2_T4_rev, method = "pearson")
## 
##  Pearson's product-moment correlation
## 
## data:  merged_data$social_fit_1_T4 and merged_data$social_fit_2_T4_rev
## t = 4.2924, df = 347, p-value = 2.296e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.1224515 0.3219362
## sample estimates:
##       cor 
## 0.2245451
## Mindfulness T1 .84
Mindfulness_T1 <- merged_data |>
  dplyr::select(mindfulness_1_T1:mindfulness_5_T1)
alpha_pos <- psych::alpha(Mindfulness_T1)
print(alpha_pos) 
## 
## Reliability analysis   
## Call: psych::alpha(x = Mindfulness_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean  sd median_r
##       0.84      0.84    0.83      0.52 5.4 0.011  2.9 1.2     0.47
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.82  0.84  0.86
## Duhachek  0.82  0.84  0.87
## 
##  Reliability if an item is dropped:
##                  raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r
## mindfulness_1_T1      0.82      0.82    0.79      0.54 4.7    0.013 0.0082
## mindfulness_2_T1      0.79      0.79    0.75      0.49 3.8    0.016 0.0057
## mindfulness_3_T1      0.84      0.84    0.81      0.57 5.2    0.012 0.0086
## mindfulness_4_T1      0.80      0.81    0.77      0.51 4.2    0.015 0.0080
## mindfulness_5_T1      0.80      0.80    0.77      0.51 4.1    0.015 0.0097
##                  med.r
## mindfulness_1_T1  0.54
## mindfulness_2_T1  0.46
## mindfulness_3_T1  0.61
## mindfulness_4_T1  0.47
## mindfulness_5_T1  0.45
## 
##  Item statistics 
##                    n raw.r std.r r.cor r.drop mean  sd
## mindfulness_1_T1 484  0.76  0.76  0.68   0.61  2.8 1.5
## mindfulness_2_T1 484  0.84  0.84  0.81   0.73  2.8 1.5
## mindfulness_3_T1 484  0.72  0.72  0.59   0.55  3.6 1.6
## mindfulness_4_T1 484  0.81  0.80  0.74   0.68  2.6 1.6
## mindfulness_5_T1 484  0.81  0.81  0.75   0.69  2.8 1.5
## 
## Non missing response frequency for each item
##                     0    1    2    3    4    5    6 miss
## mindfulness_1_T1 0.07 0.12 0.22 0.26 0.20 0.09 0.04    0
## mindfulness_2_T1 0.06 0.14 0.17 0.33 0.17 0.09 0.04    0
## mindfulness_3_T1 0.05 0.06 0.11 0.24 0.24 0.19 0.12    0
## mindfulness_4_T1 0.11 0.14 0.19 0.28 0.17 0.07 0.04    0
## mindfulness_5_T1 0.08 0.14 0.21 0.26 0.18 0.10 0.03    0
## Mindfulness T4 .86
Mindfulness_T4 <- merged_data |>
  dplyr::select(mindfulness_1_T4:mindfulness_5_T4)
alpha_pos <- psych::alpha(Mindfulness_T4)
print(alpha_pos) 
## 
## Reliability analysis   
## Call: psych::alpha(x = Mindfulness_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean  sd median_r
##       0.86      0.86    0.84      0.55 6.1 0.01  3.1 1.2     0.53
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.84  0.86  0.88
## Duhachek  0.84  0.86  0.88
## 
##  Reliability if an item is dropped:
##                  raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r
## mindfulness_1_T4      0.84      0.84    0.81      0.56 5.2    0.012 0.0122
## mindfulness_2_T4      0.81      0.82    0.78      0.52 4.4    0.014 0.0053
## mindfulness_3_T4      0.86      0.86    0.83      0.60 6.0    0.011 0.0059
## mindfulness_4_T4      0.82      0.82    0.78      0.53 4.5    0.014 0.0061
## mindfulness_5_T4      0.81      0.81    0.79      0.52 4.4    0.014 0.0089
##                  med.r
## mindfulness_1_T4  0.56
## mindfulness_2_T4  0.48
## mindfulness_3_T4  0.60
## mindfulness_4_T4  0.53
## mindfulness_5_T4  0.48
## 
##  Item statistics 
##                    n raw.r std.r r.cor r.drop mean  sd
## mindfulness_1_T4 349  0.78  0.78  0.69   0.64  3.1 1.5
## mindfulness_2_T4 349  0.83  0.83  0.79   0.73  3.0 1.5
## mindfulness_3_T4 349  0.72  0.72  0.60   0.56  3.7 1.5
## mindfulness_4_T4 349  0.83  0.83  0.79   0.72  2.8 1.6
## mindfulness_5_T4 349  0.83  0.84  0.79   0.73  2.9 1.5
## 
## Non missing response frequency for each item
##                     0    1    2    3    4    5    6 miss
## mindfulness_1_T4 0.04 0.11 0.19 0.26 0.20 0.13 0.07 0.28
## mindfulness_2_T4 0.07 0.09 0.19 0.28 0.23 0.11 0.05 0.28
## mindfulness_3_T4 0.03 0.06 0.11 0.23 0.26 0.17 0.15 0.28
## mindfulness_4_T4 0.08 0.15 0.16 0.28 0.21 0.09 0.05 0.28
## mindfulness_5_T4 0.05 0.11 0.21 0.28 0.18 0.10 0.05 0.28
## Emotional Resilience T1 .86
EmoRes_T1 <- merged_data |>
  dplyr::select(emo_res_1_T1, emo_res_2_T1_rev, emo_res_3_T1, emo_res_4_T1_rev, emo_res_5_T1, emo_res_6_T1_rev)
alpha_pos <- psych::alpha(EmoRes_T1)
print(alpha_pos) 
## 
## Reliability analysis   
## Call: psych::alpha(x = EmoRes_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.86      0.86    0.84       0.5 5.9 0.01  3.1 0.76      0.5
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.83  0.86  0.87
## Duhachek  0.84  0.86  0.88
## 
##  Reliability if an item is dropped:
##                  raw_alpha std.alpha G6(smc) average_r S/N alpha se  var.r
## emo_res_1_T1          0.82      0.82    0.79      0.48 4.6    0.013 0.0053
## emo_res_2_T1_rev      0.83      0.83    0.81      0.49 4.9    0.012 0.0063
## emo_res_3_T1          0.83      0.83    0.81      0.50 4.9    0.012 0.0064
## emo_res_4_T1_rev      0.82      0.82    0.79      0.48 4.6    0.013 0.0034
## emo_res_5_T1          0.85      0.85    0.82      0.53 5.6    0.011 0.0027
## emo_res_6_T1_rev      0.83      0.83    0.81      0.50 5.0    0.012 0.0044
##                  med.r
## emo_res_1_T1      0.47
## emo_res_2_T1_rev  0.49
## emo_res_3_T1      0.50
## emo_res_4_T1_rev  0.48
## emo_res_5_T1      0.52
## emo_res_6_T1_rev  0.49
## 
##  Item statistics 
##                    n raw.r std.r r.cor r.drop mean   sd
## emo_res_1_T1     483  0.80  0.80  0.76   0.70  3.4 0.97
## emo_res_2_T1_rev 483  0.77  0.77  0.70   0.65  3.0 1.04
## emo_res_3_T1     483  0.76  0.76  0.69   0.64  3.1 0.97
## emo_res_4_T1_rev 483  0.80  0.80  0.76   0.70  3.2 1.02
## emo_res_5_T1     483  0.68  0.69  0.59   0.54  2.9 0.93
## emo_res_6_T1_rev 483  0.76  0.76  0.69   0.64  3.2 1.03
## 
## Non missing response frequency for each item
##                     1    2    3    4    5 miss
## emo_res_1_T1     0.02 0.16 0.27 0.43 0.11 0.01
## emo_res_2_T1_rev 0.05 0.31 0.24 0.35 0.05 0.01
## emo_res_3_T1     0.03 0.27 0.27 0.38 0.04 0.01
## emo_res_4_T1_rev 0.05 0.24 0.26 0.38 0.06 0.01
## emo_res_5_T1     0.04 0.34 0.31 0.29 0.03 0.01
## emo_res_6_T1_rev 0.06 0.22 0.28 0.37 0.06 0.01
## Emotional Resilience T4 .85
EmoRes_T4 <- merged_data |>
  dplyr::select(emo_res_1_T4, emo_res_2_T4_rev, emo_res_3_T4, emo_res_4_T4_rev, emo_res_5_T4, emo_res_6_T4_rev)
alpha_pos <- psych::alpha(EmoRes_T4)
print(alpha_pos) 
## 
## Reliability analysis   
## Call: psych::alpha(x = EmoRes_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.85      0.85    0.83      0.49 5.7 0.01  3.2 0.73     0.52
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.83  0.85  0.87
## Duhachek  0.83  0.85  0.87
## 
##  Reliability if an item is dropped:
##                  raw_alpha std.alpha G6(smc) average_r S/N alpha se   var.r
## emo_res_1_T4          0.82      0.82    0.79      0.47 4.5    0.013 0.00841
## emo_res_2_T4_rev      0.82      0.82    0.80      0.48 4.7    0.013 0.00745
## emo_res_3_T4          0.82      0.82    0.79      0.48 4.6    0.013 0.01001
## emo_res_4_T4_rev      0.82      0.82    0.79      0.47 4.5    0.013 0.00695
## emo_res_5_T4          0.85      0.85    0.83      0.54 5.9    0.011 0.00094
## emo_res_6_T4_rev      0.82      0.82    0.79      0.47 4.5    0.013 0.00617
##                  med.r
## emo_res_1_T4      0.51
## emo_res_2_T4_rev  0.51
## emo_res_3_T4      0.52
## emo_res_4_T4_rev  0.51
## emo_res_5_T4      0.53
## emo_res_6_T4_rev  0.51
## 
##  Item statistics 
##                    n raw.r std.r r.cor r.drop mean   sd
## emo_res_1_T4     349  0.78  0.79  0.74   0.68  3.5 0.91
## emo_res_2_T4_rev 349  0.77  0.76  0.70   0.64  3.1 0.98
## emo_res_3_T4     349  0.78  0.78  0.72   0.66  3.2 1.01
## emo_res_4_T4_rev 349  0.79  0.79  0.73   0.67  3.2 0.98
## emo_res_5_T4     349  0.64  0.64  0.52   0.48  2.9 0.93
## emo_res_6_T4_rev 349  0.78  0.78  0.74   0.67  3.2 0.94
## 
## Non missing response frequency for each item
##                     1    2    3    4    5 miss
## emo_res_1_T4     0.02 0.13 0.27 0.49 0.09 0.28
## emo_res_2_T4_rev 0.05 0.25 0.31 0.35 0.05 0.28
## emo_res_3_T4     0.03 0.28 0.24 0.38 0.07 0.28
## emo_res_4_T4_rev 0.03 0.26 0.26 0.39 0.05 0.28
## emo_res_5_T4     0.03 0.34 0.33 0.27 0.03 0.28
## emo_res_6_T4_rev 0.03 0.22 0.32 0.38 0.05 0.28
## Academic Self-Efficacy T1 .75
Acad_Selfefficacy_T1 <- merged_data |>
  dplyr::select(acad_selfefficacy_1_T1:acad_selfefficacy_5_T1)
alpha_pos <- psych::alpha(Acad_Selfefficacy_T1)
print(alpha_pos) 
## 
## Reliability analysis   
## Call: psych::alpha(x = Acad_Selfefficacy_T1)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N   ase mean   sd median_r
##       0.74      0.75    0.71      0.37 2.9 0.018  4.8 0.84     0.37
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.70  0.74  0.78
## Duhachek  0.71  0.74  0.78
## 
##  Reliability if an item is dropped:
##                        raw_alpha std.alpha G6(smc) average_r S/N alpha se
## acad_selfefficacy_1_T1      0.71      0.71    0.66      0.38 2.5    0.021
## acad_selfefficacy_2_T1      0.70      0.71    0.65      0.37 2.4    0.021
## acad_selfefficacy_3_T1      0.68      0.69    0.63      0.35 2.2    0.023
## acad_selfefficacy_4_T1      0.69      0.70    0.64      0.36 2.3    0.023
## acad_selfefficacy_5_T1      0.70      0.71    0.65      0.38 2.4    0.022
##                         var.r med.r
## acad_selfefficacy_1_T1 0.0021  0.41
## acad_selfefficacy_2_T1 0.0028  0.38
## acad_selfefficacy_3_T1 0.0023  0.34
## acad_selfefficacy_4_T1 0.0026  0.37
## acad_selfefficacy_5_T1 0.0014  0.37
## 
##  Item statistics 
##                          n raw.r std.r r.cor r.drop mean  sd
## acad_selfefficacy_1_T1 483  0.65  0.68  0.55   0.47  5.1 1.0
## acad_selfefficacy_2_T1 482  0.67  0.70  0.58   0.49  5.1 1.0
## acad_selfefficacy_3_T1 483  0.76  0.73  0.64   0.55  4.1 1.4
## acad_selfefficacy_4_T1 483  0.71  0.72  0.61   0.53  5.0 1.1
## acad_selfefficacy_5_T1 483  0.73  0.70  0.58   0.50  4.5 1.4
## 
## Non missing response frequency for each item
##                           1    2    3    4    5    6 miss
## acad_selfefficacy_1_T1 0.00 0.02 0.03 0.28 0.17 0.50 0.01
## acad_selfefficacy_2_T1 0.00 0.01 0.05 0.28 0.20 0.46 0.01
## acad_selfefficacy_3_T1 0.02 0.11 0.18 0.39 0.04 0.26 0.01
## acad_selfefficacy_4_T1 0.01 0.03 0.06 0.21 0.23 0.46 0.01
## acad_selfefficacy_5_T1 0.03 0.07 0.10 0.31 0.16 0.33 0.01
## Academic Self-Efficacy T4 .73
Acad_Selfefficacy_T4 <- merged_data |>
  dplyr::select(acad_selfefficacy_1_T4:acad_selfefficacy_5_T4)
alpha_pos <- psych::alpha(Acad_Selfefficacy_T4)
print(alpha_pos) 
## 
## Reliability analysis   
## Call: psych::alpha(x = Acad_Selfefficacy_T4)
## 
##   raw_alpha std.alpha G6(smc) average_r S/N  ase mean   sd median_r
##       0.72      0.73    0.69      0.35 2.7 0.02  4.9 0.78     0.33
## 
##     95% confidence boundaries 
##          lower alpha upper
## Feldt     0.68  0.72  0.76
## Duhachek  0.68  0.72  0.76
## 
##  Reliability if an item is dropped:
##                        raw_alpha std.alpha G6(smc) average_r S/N alpha se
## acad_selfefficacy_1_T4      0.68      0.68    0.62      0.35 2.2    0.023
## acad_selfefficacy_2_T4      0.66      0.66    0.60      0.33 2.0    0.025
## acad_selfefficacy_3_T4      0.67      0.68    0.63      0.35 2.1    0.025
## acad_selfefficacy_4_T4      0.67      0.68    0.63      0.35 2.1    0.024
## acad_selfefficacy_5_T4      0.69      0.70    0.64      0.36 2.3    0.023
##                         var.r med.r
## acad_selfefficacy_1_T4 0.0016  0.35
## acad_selfefficacy_2_T4 0.0034  0.32
## acad_selfefficacy_3_T4 0.0064  0.33
## acad_selfefficacy_4_T4 0.0076  0.32
## acad_selfefficacy_5_T4 0.0058  0.35
## 
##  Item statistics 
##                          n raw.r std.r r.cor r.drop mean   sd
## acad_selfefficacy_1_T4 349  0.65  0.68  0.57   0.46  5.1 1.02
## acad_selfefficacy_2_T4 349  0.69  0.72  0.63   0.52  5.1 0.97
## acad_selfefficacy_3_T4 349  0.72  0.69  0.57   0.49  4.4 1.28
## acad_selfefficacy_4_T4 349  0.68  0.70  0.57   0.49  5.0 1.05
## acad_selfefficacy_5_T4 349  0.70  0.66  0.53   0.45  4.6 1.29
## 
## Non missing response frequency for each item
##                           1    2    3    4    5    6 miss
## acad_selfefficacy_1_T4 0.00 0.01 0.04 0.26 0.20 0.48 0.28
## acad_selfefficacy_2_T4 0.00 0.01 0.04 0.25 0.21 0.49 0.28
## acad_selfefficacy_3_T4 0.01 0.07 0.13 0.37 0.11 0.31 0.28
## acad_selfefficacy_4_T4 0.00 0.02 0.05 0.23 0.27 0.42 0.28
## acad_selfefficacy_5_T4 0.02 0.04 0.12 0.27 0.20 0.35 0.28

Prep data

Make data long

merged_data <- merged_data %>%
  rename_with(~ gsub("_(T1|T2|T3|T4)$", "_\\1", .x)) # treat as suffix

merged_data_long <- merged_data %>%
  pivot_longer(cols = matches("_T[1234]$"),  # Matches columns ending with _T1, _T2, _T3, or _T4
               names_to = c(".value", "time"),  # Split the variable name and time
               names_pattern = "(.*)_T(1|2|3|4)") %>%  # Use a regex to split correctly
  mutate(time = as.numeric(time))  # Convert the time column to numeric (1 for T1, 2 for T2, etc.)

# fill in the demographic values for rest of timepoints
merged_data_long <- merged_data_long %>%
  group_by(unique_ID) %>%
  fill(cond, Gender, Sex, Age, Education, starts_with("Ethnicity"), int_student, int_student_country, starts_with("SES"), .direction = "downup") %>%
  ungroup()

Set contrasts

# condition
contrasts(merged_data_long$cond) <- cbind(flourish_vs_control=c(-1,1))

# time
merged_data_long <- merged_data_long |> 
  dplyr::mutate(time_f = factor(time),
                treatment_vs_baseline = ifelse(time > 1, 0.33, -1))

contrasts(merged_data_long$time_f) <- cbind(linear=c(-1.5, -0.5, 0.5, 1.5))

Exclusions

3 levels: 1. Intention to treat (no exclusions) 2. Preregistered: “Participants who fail to complete a minimum of 2 timepoints will be excluded from the final analysis. Additionally, students in the treatment condition who do not use the Flourish app, as well as those in the control condition who gain access to the app will also be excluded.” 3. In addition to preregistered exclusions, also exclude students who report unreasonable engagement numbers

Intent to treat

No exclusions

# rename
data_ITT <- merged_data_long

# count number of timepoints participants completed
data_ITT %>%
  dplyr::group_by(unique_ID) %>%
  dplyr::summarise(num_timepoints_completed = sum(Finished == 1, na.rm = TRUE)) %>%  # Count only rows where Finished is 1
  dplyr::count(num_timepoints_completed)  # Count participants by number of completed timepoints
## # A tibble: 4 × 2
##   num_timepoints_completed     n
##                      <int> <int>
## 1                        1    76
## 2                        2    51
## 3                        3    40
## 4                        4   319
# write.csv(data_ITT, "merged_no_exclusions.csv")

# retention rates per condition 
data_ITT %>%
  dplyr::group_by(unique_ID, cond) %>%
  dplyr::summarise(num_timepoints_completed = sum(Finished == 1, na.rm = TRUE)) %>%  # Count only rows where Finished is 1
  dplyr::group_by(cond) %>%
  dplyr::count(num_timepoints_completed)  # Count participants by number of completed timepoints
## `summarise()` has grouped output by 'unique_ID'. You can override using the
## `.groups` argument.
## # A tibble: 8 × 3
## # Groups:   cond [2]
##   cond     num_timepoints_completed     n
##   <fct>                       <int> <int>
## 1 control                         1    44
## 2 control                         2    26
## 3 control                         3    15
## 4 control                         4   162
## 5 flourish                        1    32
## 6 flourish                        2    25
## 7 flourish                        3    25
## 8 flourish                        4   157

Preregistered exclusions

“Participants who fail to complete a minimum of 2 timepoints will be excluded from the final analysis. Additionally, students in the treatment condition who do not use the Flourish app, as well as those in the control condition who gain access to the app will also be excluded.”

# exclude those in the Flourish condition who did not use Flourish app

data_excluded <- merged_data_long %>%
  dplyr::filter(!(cond == "flourish" & time %in% c(2, 3, 4) & (is.na(Engagement_1) | Engagement_1 == 0)))

# remove people in control condition who said they used Flourish

ids_to_exclude <- data_excluded %>%
  dplyr::filter(cond == "control" & time == 4 & contamination == 1) %>%
  pull(unique_ID)

data_excluded <- data_excluded %>%
  filter(!unique_ID %in% ids_to_exclude)

# exclude those with less than minimum of 2 timepoints

data_excluded <- data_excluded %>%
  group_by(unique_ID) %>%
  filter(sum(Finished == 1, na.rm = TRUE) >= 2) %>%  # Check if they have completed 2 or more timepoints
  ungroup()

# count number of timepoints participants completed
data_excluded %>%
  dplyr::group_by(unique_ID) %>%
  dplyr::summarise(num_timepoints_completed = sum(Finished == 1, na.rm = TRUE)) %>%  # Count only rows where Finished is 1
  dplyr::count(num_timepoints_completed)  # Count participants by number of completed timepoints
## # A tibble: 3 × 2
##   num_timepoints_completed     n
##                      <int> <int>
## 1                        2    51
## 2                        3    46
## 3                        4   292
# write.csv(data_excluded, "merged_excluded_prereg.csv")

# retention rates per condition 
data_excluded %>%
  dplyr::group_by(unique_ID, cond) %>%
  dplyr::summarise(num_timepoints_completed = sum(Finished == 1, na.rm = TRUE)) %>%  # Count only rows where Finished is 1
  dplyr::group_by(cond) %>%
  dplyr::count(num_timepoints_completed)  # Count participants by number of completed timepoints
## `summarise()` has grouped output by 'unique_ID'. You can override using the
## `.groups` argument.
## # A tibble: 6 × 3
## # Groups:   cond [2]
##   cond     num_timepoints_completed     n
##   <fct>                       <int> <int>
## 1 control                         2    25
## 2 control                         3    15
## 3 control                         4   147
## 4 flourish                        2    26
## 5 flourish                        3    31
## 6 flourish                        4   145

Additionally exclude unreasonable numbers

In addition to preregistered exclusions, also exclude students who report unreasonable engagement numbers

# exclude those who copied the example engagement numbers (76, 7, 31)

data_excluded_unreasonable <- data_excluded |> 
  dplyr::filter(!unique_ID %in% c("Foothill_1801J", "Foothill_997G", "UW_940E", "UW_1263Y", "Chapman_1026S"))

# exclude those with time 3 numbers that are too high 
# (can safely exclude those who reported > 16 days at time 3 because there were max 16 days between time 2 and 3)

# data_excluded_unreasonable %>%
#   dplyr::select(unique_ID, time, Engagement_1) |> 
#   pivot_wider(names_from = "time", values_from = "Engagement_1") |> 
#   dplyr::mutate(diff_1 = `3` - `2`) |> 
#   dplyr::filter(diff_1 > 16)

data_excluded_unreasonable <- data_excluded_unreasonable |> 
  dplyr::filter(!unique_ID %in% c("Foothill_350P", "UW_480K", "UW_866L", "UW_1097M", "Chapman_1032C", "UW_932Y", "Chapman_763N", "Chapman_1153M", "Chapman_1009B"))

# exclude those with time 4 numbers that are too high 
# (can safely exclude those who reported > 18 days at time 4 because there were max 18 days between time 3 and 4)

# data_excluded_unreasonable %>%
#   dplyr::select(unique_ID, time, Engagement_1) |> 
#   pivot_wider(names_from = "time", values_from = "Engagement_1") |> 
#   dplyr::mutate(diff_2 = `4` - `3`) |> 
#   dplyr::filter(diff_2 > 18)

data_excluded_unreasonable <- data_excluded_unreasonable |> 
  dplyr::filter(!unique_ID %in% c("UW_2412G", "UW_369S", "UW_198E", "UW_699E", "UW_1264V", "UW_184B", "UW_851K", "UW_951M", "Chapman_610M", "Chapman_524Y", "Chapman_504U", "Chapman_991I", "Chapman_135D", "Chapman_734K", "Chapman_875S"))
  
# remove those with differences between timepoints that are negative (which is impossible)
  
# data_excluded_unreasonable %>%
#   dplyr::select(unique_ID, time, Engagement_1) |> 
#   pivot_wider(names_from = "time", values_from = "Engagement_1") |> 
#   dplyr::mutate(diff_1 = `3` - `2`,
#                 diff_2 = `4` - `3`) |> 
#   dplyr::filter(diff_1 < 0 | diff_2 < 0)

data_excluded_unreasonable <- data_excluded_unreasonable |> 
  dplyr::filter(!unique_ID %in% c("Chapman_706R", "Chapman_875M", "Chapman_554S"))

# count number of timepoints participants completed
data_excluded_unreasonable %>%
  dplyr::group_by(unique_ID) %>%
  dplyr::summarise(num_timepoints_completed = sum(Finished == 1, na.rm = TRUE)) %>%  # Count only rows where Finished is 1
  dplyr::count(num_timepoints_completed)  # Count participants by number of completed timepoints
## # A tibble: 3 × 2
##   num_timepoints_completed     n
##                      <int> <int>
## 1                        2    50
## 2                        3    38
## 3                        4   269
# write.csv(data_excluded_unreasonable, "merged_excluded_unreasonable.csv")

# retention rates per condition 
data_excluded_unreasonable %>%
  dplyr::group_by(unique_ID, cond) %>%
  dplyr::summarise(num_timepoints_completed = sum(Finished == 1, na.rm = TRUE)) %>%  # Count only rows where Finished is 1
  dplyr::group_by(cond) %>%
  dplyr::count(num_timepoints_completed)  # Count participants by number of completed timepoints
## `summarise()` has grouped output by 'unique_ID'. You can override using the
## `.groups` argument.
## # A tibble: 6 × 3
## # Groups:   cond [2]
##   cond     num_timepoints_completed     n
##   <fct>                       <int> <int>
## 1 control                         2    25
## 2 control                         3    15
## 3 control                         4   147
## 4 flourish                        2    25
## 5 flourish                        3    23
## 6 flourish                        4   122

Demographics

data_ITT_demog <- data_ITT |> 
  dplyr::select(unique_ID, univ, Age, Sex, Gender, contains("Ethnicity"), int_student, int_student_country, SES, SES_num, Education, cond) |> 
  distinct() 

data_excluded_demog <- data_excluded |> 
  dplyr::select(unique_ID, univ, Age, Sex, Gender, contains("Ethnicity"), int_student, int_student_country, SES, SES_num, Education, cond) |> 
  distinct() 

data_excluded_unreasonable_demog <- data_excluded_unreasonable |> 
  dplyr::select(unique_ID, univ, Age, Sex, Gender, contains("Ethnicity"), int_student, int_student_country, SES, SES_num, Education, cond) |> 
  distinct() 

Age

Intention to Treat

data_ITT_demog %>%
  dplyr::summarise(mean_age = mean(Age, na.rm = TRUE),
                   sd_age = sd(Age, na.rm = TRUE)) |> 
  kable(digits = 2)
mean_age sd_age
20.34 4.03
# by condition
data_ITT_demog |> 
  dplyr::group_by(cond) |> 
  dplyr::summarise(mean_age = mean(Age, na.rm=T), 
                   sd_age = sd(Age, na.rm=T))|> 
  kable(digits = 2)
cond mean_age sd_age
control 20.21 3.28
flourish 20.48 4.69
lm(data=data_ITT_demog, Age ~ cond) |> summary()
## 
## Call:
## lm(formula = Age ~ cond, data = data_ITT_demog)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.483 -1.483 -1.211 -0.211 32.517 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              20.3472     0.1837  110.79   <2e-16 ***
## condflourish_vs_control   0.1358     0.1837    0.74     0.46    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.031 on 480 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.001138,   Adjusted R-squared:  -0.0009426 
## F-statistic: 0.5471 on 1 and 480 DF,  p-value: 0.4599

Excluded Preregistered

data_excluded_demog %>%
  dplyr::summarise(mean_age = mean(Age, na.rm = TRUE),
                   sd_age = sd(Age, na.rm = TRUE)) |> 
  kable(digits = 2)
mean_age sd_age
20.32 4.21
# by condition
data_excluded_demog |> 
  dplyr::group_by(cond) |> 
  dplyr::summarise(mean_age = mean(Age, na.rm=T), 
                   sd_age = sd(Age, na.rm=T))|> 
  kable(digits = 2)
cond mean_age sd_age
control 20.04 3.11
flourish 20.57 5.01
lm(data=data_excluded_demog, Age ~ cond) |> summary()
## 
## Call:
## lm(formula = Age ~ cond, data = data_excluded_demog)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.570 -1.570 -1.043 -0.043 32.430 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              20.3064     0.2137  95.008   <2e-16 ***
## condflourish_vs_control   0.2636     0.2137   1.233    0.218    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.202 on 385 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.003936,   Adjusted R-squared:  0.001348 
## F-statistic: 1.521 on 1 and 385 DF,  p-value: 0.2182

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  dplyr::summarise(mean_age = mean(Age, na.rm = TRUE),
                   sd_age = sd(Age, na.rm = TRUE)) |> 
  kable(digits = 2)
mean_age sd_age
20.35 4.28
# by condition
data_excluded_unreasonable_demog |> 
  dplyr::group_by(cond) |> 
  dplyr::summarise(mean_age = mean(Age, na.rm=T), 
                   sd_age = sd(Age, na.rm=T))|> 
  kable(digits = 2)
cond mean_age sd_age
control 20.04 3.11
flourish 20.69 5.27
lm(data=data_excluded_unreasonable_demog, Age ~ cond) |> summary()
## 
## Call:
## lm(formula = Age ~ cond, data = data_excluded_unreasonable_demog)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.686 -1.686 -1.043 -0.043 32.314 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              20.3646     0.2269  89.748   <2e-16 ***
## condflourish_vs_control   0.3218     0.2269   1.418    0.157    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.276 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.00565,    Adjusted R-squared:  0.002841 
## F-statistic: 2.011 on 1 and 354 DF,  p-value: 0.157

Sex

Intention to Treat

data_ITT_demog %>%
  group_by(Sex) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
Sex count
Man 100
Woman 383
NA 3
# by condition
data_ITT_demog |> 
  group_by(Sex, cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'Sex'. You can override using the `.groups`
## argument.
Sex cond count
Man control 46
Man flourish 54
Woman control 200
Woman flourish 183
NA control 1
NA flourish 2
sex_table <- table(data_ITT_demog$Sex, data_ITT_demog$cond)
formattable(sex_table)
##           
##            control flourish
##   Man       46      54     
##   Woman    200     183     
##   Intersex   0       0
sex_table <- sex_table[rowSums(sex_table) != 0, ] # remove rows with 0 for chi square

chisq.test(sex_table)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  sex_table
## X-squared = 0.99105, df = 1, p-value = 0.3195

Excluded Preregistered

data_excluded_demog %>%
  group_by(Sex) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
Sex count
Man 69
Woman 318
NA 2
# by condition
data_excluded_demog |> 
  group_by(Sex, cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'Sex'. You can override using the `.groups`
## argument.
Sex cond count
Man control 29
Man flourish 40
Woman control 158
Woman flourish 160
NA flourish 2
sex_table <- table(data_excluded_demog$Sex, data_excluded_demog$cond)
formattable(sex_table)
##           
##            control flourish
##   Man       29      40     
##   Woman    158     160     
##   Intersex   0       0
sex_table <- sex_table[rowSums(sex_table) != 0, ] # remove rows with 0 for chi square

chisq.test(sex_table)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  sex_table
## X-squared = 1.0421, df = 1, p-value = 0.3073

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  group_by(Sex) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
Sex count
Man 63
Woman 293
NA 1
# by condition
data_excluded_unreasonable_demog |> 
  group_by(Sex, cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'Sex'. You can override using the `.groups`
## argument.
Sex cond count
Man control 29
Man flourish 34
Woman control 158
Woman flourish 135
NA flourish 1
sex_table <- table(data_excluded_unreasonable_demog$Sex, data_excluded_unreasonable_demog$cond)
formattable(sex_table)
##           
##            control flourish
##   Man       29      34     
##   Woman    158     135     
##   Intersex   0       0
sex_table <- sex_table[rowSums(sex_table) != 0, ] # remove rows with 0 for chi square

chisq.test(sex_table)
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  sex_table
## X-squared = 0.99829, df = 1, p-value = 0.3177

Gender

Intention to Treat

data_ITT_demog %>%
  group_by(Gender) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
Gender count
Female 368
Male 101
Genderqueer/Gender non-conforming 4
Gender non-binary 6
NA 7
# by condition
data_ITT_demog |> 
  group_by(Gender, cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'Gender'. You can override using the
## `.groups` argument.
Gender cond count
Female control 191
Female flourish 177
Male control 47
Male flourish 54
Genderqueer/Gender non-conforming control 3
Genderqueer/Gender non-conforming flourish 1
Gender non-binary control 2
Gender non-binary flourish 4
NA control 4
NA flourish 3
gender_table <- table(data_ITT_demog$Gender, data_ITT_demog$cond)
formattable(gender_table)
##                                    
##                                     control flourish
##   Female                            191     177     
##   Male                               47      54     
##   Trans male/Trans man                0       0     
##   Trans female/Trans woman            0       0     
##   Genderqueer/Gender non-conforming   3       1     
##   Self-identify                       0       0     
##   Gender non-binary                   2       4
gender_table <- gender_table[rowSums(gender_table) != 0, ] # remove rows with 0 for chi square

chisq.test(gender_table)
## Warning in chisq.test(gender_table): Chi-squared approximation may be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  gender_table
## X-squared = 2.5827, df = 3, p-value = 0.4605

Excluded Preregistered

data_excluded_demog %>%
  group_by(Gender) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
Gender count
Female 305
Male 70
Genderqueer/Gender non-conforming 4
Gender non-binary 4
NA 6
# by condition
data_excluded_demog |> 
  group_by(Gender, cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'Gender'. You can override using the
## `.groups` argument.
Gender cond count
Female control 150
Female flourish 155
Male control 30
Male flourish 40
Genderqueer/Gender non-conforming control 3
Genderqueer/Gender non-conforming flourish 1
Gender non-binary control 1
Gender non-binary flourish 3
NA control 3
NA flourish 3
gender_table <- table(data_excluded_demog$Gender, data_excluded_demog$cond)
formattable(gender_table)
##                                    
##                                     control flourish
##   Female                            150     155     
##   Male                               30      40     
##   Trans male/Trans man                0       0     
##   Trans female/Trans woman            0       0     
##   Genderqueer/Gender non-conforming   3       1     
##   Self-identify                       0       0     
##   Gender non-binary                   1       3
gender_table <- gender_table[rowSums(gender_table) != 0, ] # remove rows with 0 for chi square

chisq.test(gender_table)
## Warning in chisq.test(gender_table): Chi-squared approximation may be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  gender_table
## X-squared = 2.9276, df = 3, p-value = 0.4029

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  group_by(Gender) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
Gender count
Female 280
Male 64
Genderqueer/Gender non-conforming 4
Gender non-binary 4
NA 5
# by condition
data_excluded_unreasonable_demog |> 
  group_by(Gender, cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'Gender'. You can override using the
## `.groups` argument.
Gender cond count
Female control 150
Female flourish 130
Male control 30
Male flourish 34
Genderqueer/Gender non-conforming control 3
Genderqueer/Gender non-conforming flourish 1
Gender non-binary control 1
Gender non-binary flourish 3
NA control 3
NA flourish 2
gender_table <- table(data_excluded_unreasonable_demog$Gender, data_excluded_unreasonable_demog$cond)
formattable(gender_table)
##                                    
##                                     control flourish
##   Female                            150     130     
##   Male                               30      34     
##   Trans male/Trans man                0       0     
##   Trans female/Trans woman            0       0     
##   Genderqueer/Gender non-conforming   3       1     
##   Self-identify                       0       0     
##   Gender non-binary                   1       3
gender_table <- gender_table[rowSums(gender_table) != 0, ] # remove rows with 0 for chi square

chisq.test(gender_table)
## Warning in chisq.test(gender_table): Chi-squared approximation may be incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  gender_table
## X-squared = 2.9574, df = 3, p-value = 0.3982

Ethnicity

Intention to Treat

data_ITT_demog %>%
  summarise(
    across(
      c(Ethnicity_White, Ethnicity_Hispanic, Ethnicity_Black, Ethnicity_East_Asian, 
        Ethnicity_South_Asian, Ethnicity_Native_Hawaiian_Pacific_Islander, 
        Ethnicity_Middle_Eastern, Ethnicity_American_Indian, Ethnicity_Mixed, Ethnicity_Self_Identify),
      list(Count = ~sum(. == 1, na.rm = TRUE),
           Percent = ~mean(. == 1, na.rm = TRUE)*100)
    )
  ) %>%
  pivot_longer(
    cols = starts_with("Ethnicity_"),
    names_to = c("Ethnicity", ".value"),
    names_pattern = "Ethnicity_(.*)_(Count|Percent)$"
  ) %>%
  kable(digits = 2)
Ethnicity Count Percent
White 214 44.03
Hispanic 48 9.88
Black 21 4.32
East_Asian 61 12.55
South_Asian 26 5.35
Native_Hawaiian_Pacific_Islander 2 0.41
Middle_Eastern 10 2.06
American_Indian 2 0.41
Mixed 86 17.70
Self_Identify 13 2.67
# by condition
data_ITT_demog |> 
  group_by(cond) |> 
  summarise(
    across(
      c(Ethnicity_White, Ethnicity_Hispanic, Ethnicity_Black, Ethnicity_East_Asian, 
        Ethnicity_South_Asian, Ethnicity_Native_Hawaiian_Pacific_Islander, 
        Ethnicity_Middle_Eastern, Ethnicity_American_Indian, Ethnicity_Mixed, Ethnicity_Self_Identify),
      list(Count = ~sum(. == 1, na.rm = TRUE),
           Percent = ~mean(. == 1, na.rm = TRUE)*100)
    )
  ) %>%
  pivot_longer(
    cols = starts_with("Ethnicity_"),
    names_to = c("Ethnicity", ".value"),
    names_pattern = "Ethnicity_(.*)_(Count|Percent)$"
  ) %>%
  kable(digits = 2)
cond Ethnicity Count Percent
control White 119 48.18
control Hispanic 19 7.69
control Black 10 4.05
control East_Asian 26 10.53
control South_Asian 14 5.67
control Native_Hawaiian_Pacific_Islander 0 0.00
control Middle_Eastern 4 1.62
control American_Indian 1 0.40
control Mixed 47 19.03
control Self_Identify 6 2.43
flourish White 95 39.75
flourish Hispanic 29 12.13
flourish Black 11 4.60
flourish East_Asian 35 14.64
flourish South_Asian 12 5.02
flourish Native_Hawaiian_Pacific_Islander 2 0.84
flourish Middle_Eastern 6 2.51
flourish American_Indian 1 0.42
flourish Mixed 39 16.32
flourish Self_Identify 7 2.93

Excluded Preregistered

data_excluded_demog %>%
  summarise(
    across(
      c(Ethnicity_White, Ethnicity_Hispanic, Ethnicity_Black, Ethnicity_East_Asian, 
        Ethnicity_South_Asian, Ethnicity_Native_Hawaiian_Pacific_Islander, 
        Ethnicity_Middle_Eastern, Ethnicity_American_Indian, Ethnicity_Mixed, Ethnicity_Self_Identify),
      list(Count = ~sum(. == 1, na.rm = TRUE),
           Percent = ~mean(. == 1, na.rm = TRUE)*100)
    )
  ) %>%
  pivot_longer(
    cols = starts_with("Ethnicity_"),
    names_to = c("Ethnicity", ".value"),
    names_pattern = "Ethnicity_(.*)_(Count|Percent)$"
  ) %>%
  kable(digits = 2)
Ethnicity Count Percent
White 179 46.02
Hispanic 32 8.23
Black 16 4.11
East_Asian 52 13.37
South_Asian 22 5.66
Native_Hawaiian_Pacific_Islander 2 0.51
Middle_Eastern 9 2.31
American_Indian 2 0.51
Mixed 62 15.94
Self_Identify 11 2.83

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  summarise(
    across(
      c(Ethnicity_White, Ethnicity_Hispanic, Ethnicity_Black, Ethnicity_East_Asian, 
        Ethnicity_South_Asian, Ethnicity_Native_Hawaiian_Pacific_Islander, 
        Ethnicity_Middle_Eastern, Ethnicity_American_Indian, Ethnicity_Mixed, Ethnicity_Self_Identify),
      list(Count = ~sum(. == 1, na.rm = TRUE),
           Percent = ~mean(. == 1, na.rm = TRUE)*100)
    )
  ) %>%
  pivot_longer(
    cols = starts_with("Ethnicity_"),
    names_to = c("Ethnicity", ".value"),
    names_pattern = "Ethnicity_(.*)_(Count|Percent)$"
  ) %>%
  kable(digits = 2)
Ethnicity Count Percent
White 167 46.78
Hispanic 31 8.68
Black 15 4.20
East_Asian 48 13.45
South_Asian 18 5.04
Native_Hawaiian_Pacific_Islander 2 0.56
Middle_Eastern 5 1.40
American_Indian 2 0.56
Mixed 57 15.97
Self_Identify 11 3.08

International student

Intention to Treat

data_ITT_demog %>%
  group_by(int_student) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
int_student count
Yes 33
No 450
NA 3
data_ITT_demog |> 
  dplyr::filter(int_student == "Yes") |> 
  group_by(int_student_country) |> 
  summarise(count = n()) |> 
  kable(digits = 2)
int_student_country count
Brazil 2
China 10
Colombia 1
Cote d’Ivoire 1
England 1
Hong Kong 1
Hong Kong(China) 1
India 4
Indonesia 1
Japan 1
Philippines 1
South Africa 1
Sweden 1
Taiwan 1
Thailand 1
Turkey 1
Vietnam 1
china 1
mexico 1
NA 1

Excluded Preregistered

data_excluded_demog %>%
  group_by(int_student) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
int_student count
Yes 28
No 359
NA 2
data_excluded_demog |> 
  dplyr::filter(int_student == "Yes") |> 
  group_by(int_student_country) |> 
  summarise(count = n()) |> 
  kable(digits = 2)
int_student_country count
Brazil 2
China 10
Colombia 1
Cote d’Ivoire 1
England 1
Hong Kong 1
India 3
Indonesia 1
Japan 1
Philippines 1
South Africa 1
Sweden 1
Taiwan 1
Thailand 1
Vietnam 1
china 1

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  group_by(int_student) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
int_student count
Yes 23
No 333
NA 1
data_excluded_unreasonable_demog |> 
  dplyr::filter(int_student == "Yes") |> 
  group_by(int_student_country) |> 
  summarise(count = n()) |> 
  kable(digits = 2)
int_student_country count
Brazil 2
China 9
Colombia 1
Cote d’Ivoire 1
England 1
India 1
Indonesia 1
Japan 1
Philippines 1
South Africa 1
Sweden 1
Taiwan 1
Thailand 1
Vietnam 1

SES

Intention to Treat

data_ITT_demog %>%
  group_by(SES) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
SES count
1 37
2 78
3 148
4 142
5 78
NA 3
data_ITT_demog |> 
  dplyr::summarise(mean_SES = mean(SES_num, na.rm = TRUE),
                   sd_SES = sd(SES_num, na.rm = TRUE)) |> 
  kable(digits = 2)
mean_SES sd_SES
3.3 1.15

Excluded Preregistered

data_excluded_demog %>%
  group_by(SES) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
SES count
1 29
2 61
3 121
4 112
5 64
NA 2
data_excluded_demog |> 
  dplyr::summarise(mean_SES = mean(SES_num, na.rm = TRUE),
                   sd_SES = sd(SES_num, na.rm = TRUE)) |> 
  kable(digits = 2)
mean_SES sd_SES
3.31 1.15

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  group_by(SES) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
SES count
1 28
2 56
3 115
4 102
5 55
NA 1
data_excluded_unreasonable_demog |> 
  dplyr::summarise(mean_SES = mean(SES_num, na.rm = TRUE),
                   sd_SES = sd(SES_num, na.rm = TRUE)) |> 
  kable(digits = 2)
mean_SES sd_SES
3.28 1.14

Current degree program

Intention to Treat

data_ITT_demog %>%
  group_by(univ,Education) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'univ'. You can override using the
## `.groups` argument.
univ Education count
Chapman Associates 8
Chapman Bachelors 224
Chapman Masters 1
Chapman PhD 2
Chapman Other 1
Chapman Non-degree student 1
Chapman NA 8
Foothill Associates 44
Foothill Bachelors 7
Foothill Masters 1
Foothill Non-degree student 8
Foothill NA 6
UW Associates 3
UW Bachelors 158
UW Masters 2
UW Other 2
UW Non-degree student 4
UW NA 6

Excluded Preregistered

data_excluded_demog %>%
  group_by(univ,Education) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'univ'. You can override using the
## `.groups` argument.
univ Education count
Chapman Associates 5
Chapman Bachelors 167
Chapman Masters 1
Chapman PhD 2
Chapman Other 1
Chapman NA 6
Foothill Associates 31
Foothill Bachelors 5
Foothill Masters 1
Foothill Non-degree student 7
Foothill NA 5
UW Associates 3
UW Bachelors 143
UW Masters 1
UW Other 2
UW Non-degree student 4
UW NA 5

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  group_by(univ,Education) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
## `summarise()` has grouped output by 'univ'. You can override using the
## `.groups` argument.
univ Education count
Chapman Associates 5
Chapman Bachelors 152
Chapman Masters 1
Chapman PhD 2
Chapman Other 1
Chapman NA 6
Foothill Associates 29
Foothill Bachelors 4
Foothill Masters 1
Foothill Non-degree student 7
Foothill NA 5
UW Associates 2
UW Bachelors 131
UW Masters 1
UW Other 2
UW Non-degree student 4
UW NA 4

Condition count

Intention to Treat

data_ITT_demog %>%
  group_by(cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
cond count
control 247
flourish 239

Excluded Preregistered

data_excluded_demog %>%
  group_by(cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
cond count
control 187
flourish 202

Excluded Unreasonable Numbers

data_excluded_unreasonable_demog %>%
  group_by(cond) %>%
  summarise(count = n()) |> 
  kable(digits = 2)
cond count
control 187
flourish 170

Condition randomization check

Age

Intention to Treat

lm(Age ~ cond, data = data_ITT_demog) |> summary()
## 
## Call:
## lm(formula = Age ~ cond, data = data_ITT_demog)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.483 -1.483 -1.211 -0.211 32.517 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              20.3472     0.1837  110.79   <2e-16 ***
## condflourish_vs_control   0.1358     0.1837    0.74     0.46    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.031 on 480 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.001138,   Adjusted R-squared:  -0.0009426 
## F-statistic: 0.5471 on 1 and 480 DF,  p-value: 0.4599

Excluded Preregistered

lm(Age ~ cond, data = data_excluded) |> summary()
## 
## Call:
## lm(formula = Age ~ cond, data = data_excluded)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.669 -1.669 -1.043 -0.043 32.331 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              20.3561     0.1115 182.612  < 2e-16 ***
## condflourish_vs_control   0.3133     0.1115   2.811  0.00501 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.27 on 1466 degrees of freedom
##   (7 observations deleted due to missingness)
## Multiple R-squared:  0.005361,   Adjusted R-squared:  0.004682 
## F-statistic: 7.901 on 1 and 1466 DF,  p-value: 0.005007

Excluded Unreasonable Numbers

lm(Age ~ cond, data = data_excluded_unreasonable_demog) |> summary()
## 
## Call:
## lm(formula = Age ~ cond, data = data_excluded_unreasonable_demog)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.686 -1.686 -1.043 -0.043 32.314 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)    
## (Intercept)              20.3646     0.2269  89.748   <2e-16 ***
## condflourish_vs_control   0.3218     0.2269   1.418    0.157    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.276 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.00565,    Adjusted R-squared:  0.002841 
## F-statistic: 2.011 on 1 and 354 DF,  p-value: 0.157

Gender

Intention to Treat

contingency_table <- table(data_ITT_demog$Sex, data_ITT_demog$cond)
chisq.test(contingency_table)
## Warning in chisq.test(contingency_table): Chi-squared approximation may be
## incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  contingency_table
## X-squared = NaN, df = 2, p-value = NA

Excluded Preregistered

contingency_table <- table(data_excluded$Sex, data_excluded$cond)
chisq.test(contingency_table)
## Warning in chisq.test(contingency_table): Chi-squared approximation may be
## incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  contingency_table
## X-squared = NaN, df = 2, p-value = NA

Excluded Unreasonable Numbers

contingency_table <- table(data_excluded_unreasonable_demog$Sex, data_excluded_unreasonable_demog$cond)
chisq.test(contingency_table)
## Warning in chisq.test(contingency_table): Chi-squared approximation may be
## incorrect
## 
##  Pearson's Chi-squared test
## 
## data:  contingency_table
## X-squared = NaN, df = 2, p-value = NA

Engagement

Time 2

Intention to Treat

data_ITT %>%
  dplyr::filter(time == 2) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
7.08 9.43 8.07 8.48

Excluded Preregistered

data_excluded |> 
  dplyr::filter(time == 2) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
7.35 9.51 8.37 8.5

Excluded Unreasonable Numbers

data_excluded_unreasonable |> 
  dplyr::filter(time == 2) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
5.42 3.97 7.92 8.24

Time 3

Intention to Treat

data_ITT %>%
  dplyr::filter(time == 3) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
13.65 15.88 14.69 11.91

Excluded Preregistered

data_excluded |> 
  dplyr::filter(time == 3) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
13.81 15.9 14.86 11.88

Excluded Unreasonable Numbers

data_excluded_unreasonable |> 
  dplyr::filter(time == 3) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
9.84 7.95 14.21 11.62

Time 4

Intention to Treat

data_ITT %>%
  dplyr::filter(time == 4) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
22.56 20.8 21.82 15.11

Excluded Preregistered

data_excluded |> 
  dplyr::filter(time == 4) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
22.96 20.77 22.21 14.95

Excluded Unreasonable Numbers

data_excluded_unreasonable |> 
  dplyr::filter(time == 4) |> 
  dplyr::summarise(days_mean = mean(Engagement_1, na.rm = TRUE),
                   days_sd = sd(Engagement_1, na.rm = TRUE),
                   activities_mean = mean(Engagement_3, na.rm = TRUE),
                   activities_sd = sd(Engagement_3, na.rm = TRUE)) |> 
  kable(digits = 2)
days_mean days_sd activities_mean activities_sd
16.48 11.5 21.04 14.76

Histograms

Depression

Intention to Treat

ggplot(subset(data_ITT, time == 1), aes(x = depression)) +
  geom_density(fill = "blue", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_density()`).

data_ITT %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(depression < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(depression >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            81.4            18.6

Excluded Preregistered

ggplot(subset(data_excluded, time == 1), aes(x = depression)) +
  geom_density(fill = "blue", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_density()`).

data_excluded %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(depression < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(depression >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            82.7            17.3

Excluded Unreasonable Numbers

ggplot(subset(data_excluded_unreasonable, time == 1), aes(x = depression)) +
  geom_density(fill = "blue", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_density()`).

data_excluded_unreasonable %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(depression < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(depression >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            82.6            17.4

Anxiety

Intention to Treat

ggplot(subset(data_ITT, time == 1), aes(x = anxiety)) +
  geom_density(fill = "red", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_density()`).

data_ITT %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(anxiety < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(anxiety >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            58.9            41.1

Excluded Preregistered

ggplot(subset(data_excluded, time == 1), aes(x = anxiety)) +
  geom_density(fill = "red", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_density()`).

data_excluded %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(anxiety < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(anxiety >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            59.5            40.5

Excluded Unreasonable Numbers

ggplot(subset(data_excluded_unreasonable, time == 1), aes(x = anxiety)) +
  geom_density(fill = "red", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_density()`).

data_excluded_unreasonable %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(anxiety < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(anxiety >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            57.9            42.1

Loneliness

Intention to Treat

ggplot(subset(data_ITT, time == 1), aes(x = loneliness)) +
  geom_density(fill = "green", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 2 rows containing non-finite outside the scale range
## (`stat_density()`).

data_ITT %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(loneliness < 3, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(loneliness >= 3, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1               0             100

Excluded Preregistered

ggplot(subset(data_excluded, time == 1), aes(x = loneliness)) +
  geom_density(fill = "green", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_density()`).

data_excluded %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(loneliness < 5, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(loneliness >= 5, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            28.1            71.9

Excluded Unreasonable Numbers

ggplot(subset(data_excluded_unreasonable, time == 1), aes(x = loneliness)) +
  geom_density(fill = "green", alpha = 0.5) +
  theme_minimal()
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_density()`).

data_excluded_unreasonable %>%
  dplyr::filter(time == 1) |> 
  dplyr::summarise(under_threshold = round(mean(loneliness < 5, na.rm = TRUE) * 100, 2),
                   above_threshold = round(mean(loneliness >= 5, na.rm = TRUE) * 100, 2))
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            26.7            73.3
ggplot(merged_data, aes(x = loneliness_T1)) +
  geom_density(fill = "green", alpha = 0.5) +
  theme_minimal()

merged_data %>%
  dplyr::summarise(under_threshold = mean(loneliness_T1 < 5, na.rm = TRUE) * 100,
                   above_threshold = mean(loneliness_T1 >= 5, na.rm = TRUE) * 100)
## # A tibble: 1 × 2
##   under_threshold above_threshold
##             <dbl>           <dbl>
## 1            27.1            72.9

Analyses

Linear time (-1.5,-0.5,0.5,1.5)

Depression

Intention to Treat

m0 <- lmer(depression ~ cond * time + (1 | unique_ID) + (1 | univ), data = data_ITT)
m1 <- lmer(depression ~ cond * time + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(depression ~ cond * time + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID)  + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  depression depression depression
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 1.47 1.25 – 1.70 <0.001 2.93 1.94 – 3.92 <0.001 2.48 1.47 – 3.49 <0.001
condflourish vs control 0.04 -0.11 – 0.19 0.604 0.05 -0.09 – 0.20 0.487 0.04 -0.10 – 0.19 0.564
time 0.02 -0.03 – 0.06 0.449 0.01 -0.03 – 0.06 0.506 0.01 -0.03 – 0.06 0.500
condflourish vs control ×
time
-0.03 -0.07 – 0.01 0.114 -0.03 -0.08 – 0.01 0.102 -0.03 -0.08 – 0.01 0.098
Sex [Woman] 0.10 -0.19 – 0.38 0.499 0.11 -0.17 – 0.40 0.447
Age -0.03 -0.06 – -0.00 0.028 -0.03 -0.06 – -0.00 0.045
int student [No] -0.01 -0.46 – 0.44 0.967 0.26 -0.23 – 0.74 0.296
SES num -0.24 -0.34 – -0.14 <0.001 -0.23 -0.33 – -0.13 <0.001
Ethnicity White -0.10 -0.40 – 0.21 0.533
Ethnicity Hispanic 0.02 -0.42 – 0.46 0.936
Ethnicity Black 0.66 0.07 – 1.26 0.029
Ethnicity East Asian 0.19 -0.22 – 0.61 0.353
Ethnicity South Asian 0.87 0.31 – 1.43 0.002
Ethnicity Native Hawaiian
Pacific Islander
0.41 -1.31 – 2.13 0.638
Ethnicity Middle Eastern 0.51 -0.30 – 1.32 0.219
Ethnicity American Indian 0.79 -0.90 – 2.47 0.362
Random Effects
σ2 0.82 0.82 0.82
τ00 1.35 unique_ID 1.27 unique_ID 1.24 unique_ID
0.02 univ 0.05 univ 0.03 univ
ICC 0.63 0.62 0.61
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.001 / 0.628 0.044 / 0.635 0.075 / 0.638

Excluded Preregistered

m0 <- lmer(depression ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
m1 <- lmer(depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  depression depression depression
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 1.45 1.23 – 1.68 <0.001 3.02 1.98 – 4.07 <0.001 2.65 1.56 – 3.73 <0.001
condflourish vs control -0.07 -0.19 – 0.06 0.280 -0.05 -0.17 – 0.07 0.448 -0.05 -0.17 – 0.07 0.430
time - 2 5 0.01 -0.03 – 0.06 0.562 0.01 -0.03 – 0.06 0.590 0.01 -0.03 – 0.06 0.597
condflourish vs control ×
time - 2 5
-0.03 -0.07 – 0.02 0.246 -0.03 -0.07 – 0.02 0.244 -0.03 -0.07 – 0.02 0.239
Sex [Woman] 0.08 -0.24 – 0.40 0.618 0.09 -0.23 – 0.41 0.568
Age -0.04 -0.07 – -0.01 0.022 -0.03 -0.06 – -0.00 0.031
int student [No] 0.03 -0.44 – 0.50 0.888 0.23 -0.28 – 0.73 0.378
SES num -0.27 -0.38 – -0.17 <0.001 -0.27 -0.38 – -0.17 <0.001
Ethnicity White 0.04 -0.29 – 0.38 0.798
Ethnicity Hispanic -0.02 -0.52 – 0.48 0.944
Ethnicity Black 0.54 -0.12 – 1.19 0.108
Ethnicity East Asian 0.27 -0.16 – 0.71 0.217
Ethnicity South Asian 0.74 0.15 – 1.33 0.013
Ethnicity Native Hawaiian
Pacific Islander
0.48 -1.21 – 2.16 0.579
Ethnicity Middle Eastern 0.49 -0.34 – 1.32 0.250
Ethnicity American Indian 0.95 -0.72 – 2.63 0.264
Random Effects
σ2 0.82 0.82 0.83
τ00 1.28 unique_ID 1.18 unique_ID 1.16 unique_ID
0.03 univ 0.06 univ 0.04 univ
ICC 0.61 0.60 0.59
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.002 / 0.614 0.056 / 0.623 0.075 / 0.625

Excluded Unreasonable Numbers

m0 <- lmer(depression ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m2 <- lmer(depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  depression depression depression
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 1.45 1.21 – 1.69 <0.001 3.05 1.96 – 4.14 <0.001 2.73 1.61 – 3.85 <0.001
condflourish vs control -0.07 -0.20 – 0.05 0.250 -0.06 -0.19 – 0.06 0.318 -0.06 -0.18 – 0.07 0.358
time - 2 5 0.00 -0.04 – 0.05 0.909 0.00 -0.04 – 0.05 0.914 0.00 -0.04 – 0.05 0.915
condflourish vs control ×
time - 2 5
-0.04 -0.08 – 0.01 0.121 -0.04 -0.08 – 0.01 0.128 -0.04 -0.08 – 0.01 0.127
Sex [Woman] 0.07 -0.26 – 0.40 0.679 0.09 -0.23 – 0.42 0.573
Age -0.04 -0.07 – -0.00 0.024 -0.03 -0.07 – -0.00 0.032
int student [No] 0.07 -0.45 – 0.58 0.793 0.26 -0.28 – 0.79 0.349
SES num -0.29 -0.40 – -0.18 <0.001 -0.29 -0.40 – -0.17 <0.001
Ethnicity White -0.02 -0.36 – 0.32 0.904
Ethnicity Hispanic -0.17 -0.68 – 0.33 0.496
Ethnicity Black 0.49 -0.18 – 1.17 0.149
Ethnicity East Asian 0.22 -0.23 – 0.66 0.334
Ethnicity South Asian 0.84 0.22 – 1.46 0.008
Ethnicity Native Hawaiian
Pacific Islander
0.40 -1.27 – 2.07 0.638
Ethnicity Middle Eastern -0.09 -1.15 – 0.98 0.875
Ethnicity American Indian 0.91 -0.74 – 2.56 0.282
Random Effects
σ2 0.81 0.81 0.82
τ00 1.26 unique_ID 1.15 unique_ID 1.13 unique_ID
0.03 univ 0.07 univ 0.06 univ
ICC 0.61 0.60 0.59
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.003 / 0.615 0.062 / 0.625 0.086 / 0.628

Anxiety

Intention to Treat

m0 <- lmer(anxiety ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  anxiety anxiety anxiety
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 2.34 2.21 – 2.48 <0.001 3.37 2.32 – 4.41 <0.001 3.39 2.28 – 4.50 <0.001
condflourish vs control -0.12 -0.25 – 0.01 0.076 -0.10 -0.22 – 0.03 0.136 -0.10 -0.23 – 0.02 0.112
time - 2 5 -0.05 -0.10 – -0.00 0.050 -0.05 -0.10 – -0.00 0.035 -0.05 -0.10 – -0.00 0.035
condflourish vs control ×
time - 2 5
-0.02 -0.07 – 0.03 0.499 -0.02 -0.07 – 0.03 0.428 -0.02 -0.07 – 0.03 0.435
Sex [Woman] 0.51 0.19 – 0.84 0.002 0.51 0.19 – 0.84 0.002
Age -0.03 -0.07 – -0.00 0.034 -0.04 -0.07 – -0.00 0.029
int student [No] 0.35 -0.16 – 0.85 0.178 0.34 -0.21 – 0.89 0.224
SES num -0.32 -0.43 – -0.21 <0.001 -0.30 -0.41 – -0.18 <0.001
Ethnicity White -0.14 -0.49 – 0.20 0.420
Ethnicity Hispanic 0.10 -0.40 – 0.60 0.699
Ethnicity Black 0.40 -0.27 – 1.08 0.243
Ethnicity East Asian -0.32 -0.79 – 0.14 0.176
Ethnicity South Asian 0.16 -0.47 – 0.80 0.616
Ethnicity Native Hawaiian
Pacific Islander
0.61 -1.35 – 2.56 0.542
Ethnicity Middle Eastern 0.72 -0.20 – 1.64 0.124
Ethnicity American Indian 0.49 -1.44 – 2.41 0.620
Random Effects
σ2 1.14 1.14 1.14
τ00 1.79 unique_ID 1.59 unique_ID 1.59 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC   0.58  
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.015 / NA 0.078 / 0.616 0.196 / NA

Excluded Preregistered

m0 <- lmer(anxiety ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  anxiety anxiety anxiety
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 2.33 2.19 – 2.47 <0.001 3.47 2.36 – 4.58 <0.001 3.65 2.46 – 4.83 <0.001
condflourish vs control -0.12 -0.26 – 0.02 0.100 -0.09 -0.22 – 0.05 0.201 -0.09 -0.23 – 0.04 0.184
time - 2 5 -0.06 -0.11 – -0.01 0.018 -0.06 -0.12 – -0.01 0.015 -0.06 -0.12 – -0.01 0.016
condflourish vs control ×
time - 2 5
-0.01 -0.06 – 0.04 0.626 -0.01 -0.07 – 0.04 0.579 -0.01 -0.07 – 0.04 0.571
Sex [Woman] 0.52 0.16 – 0.88 0.005 0.51 0.15 – 0.88 0.006
Age -0.04 -0.07 – -0.01 0.022 -0.04 -0.08 – -0.01 0.014
int student [No] 0.41 -0.11 – 0.94 0.123 0.32 -0.25 – 0.89 0.276
SES num -0.35 -0.47 – -0.23 <0.001 -0.34 -0.47 – -0.22 <0.001
Ethnicity White -0.09 -0.47 – 0.29 0.634
Ethnicity Hispanic 0.12 -0.45 – 0.68 0.687
Ethnicity Black 0.40 -0.35 – 1.14 0.295
Ethnicity East Asian -0.27 -0.77 – 0.22 0.282
Ethnicity South Asian -0.11 -0.77 – 0.56 0.756
Ethnicity Native Hawaiian
Pacific Islander
0.56 -1.36 – 2.49 0.565
Ethnicity Middle Eastern 0.67 -0.28 – 1.61 0.165
Ethnicity American Indian 0.53 -1.38 – 2.44 0.587
Random Effects
σ2 1.16 1.16 1.16
τ00 1.74 unique_ID 1.50 unique_ID 1.50 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.016 / NA 0.194 / NA 0.213 / NA

Excluded Unreasonable Numbers

m0 <- lmer(anxiety ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  anxiety anxiety anxiety
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 2.33 2.18 – 2.48 <0.001 3.55 2.38 – 4.72 <0.001 3.66 2.42 – 4.90 <0.001
condflourish vs control -0.12 -0.27 – 0.03 0.122 -0.10 -0.24 – 0.04 0.166 -0.10 -0.25 – 0.04 0.176
time - 2 5 -0.09 -0.14 – -0.03 0.002 -0.08 -0.14 – -0.03 0.002 -0.08 -0.14 – -0.03 0.002
condflourish vs control ×
time - 2 5
-0.04 -0.09 – 0.02 0.193 -0.04 -0.09 – 0.02 0.194 -0.04 -0.09 – 0.02 0.193
Sex [Woman] 0.50 0.13 – 0.88 0.009 0.51 0.13 – 0.89 0.009
Age -0.04 -0.07 – -0.00 0.025 -0.04 -0.08 – -0.01 0.019
int student [No] 0.38 -0.20 – 0.96 0.199 0.33 -0.29 – 0.95 0.292
SES num -0.37 -0.49 – -0.24 <0.001 -0.35 -0.48 – -0.22 <0.001
Ethnicity White -0.11 -0.51 – 0.28 0.572
Ethnicity Hispanic 0.00 -0.58 – 0.58 0.989
Ethnicity Black 0.41 -0.37 – 1.18 0.306
Ethnicity East Asian -0.32 -0.83 – 0.20 0.229
Ethnicity South Asian -0.01 -0.73 – 0.71 0.977
Ethnicity Native Hawaiian
Pacific Islander
0.54 -1.40 – 2.47 0.586
Ethnicity Middle Eastern -0.04 -1.28 – 1.21 0.954
Ethnicity American Indian 0.50 -1.43 – 2.43 0.611
Random Effects
σ2 1.15 1.15 1.15
τ00 1.74 unique_ID 1.51 unique_ID 1.52 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.020 / NA 0.198 / NA 0.211 / NA

Loneliness

Intention to Treat

m0 <- lmer(loneliness ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
#standardize_parameters(m0)
m1 <- lmer(loneliness ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(loneliness ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  loneliness loneliness loneliness
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.29 5.16 – 5.42 <0.001 6.02 4.93 – 7.11 <0.001 5.66 4.52 – 6.79 <0.001
condflourish vs control -0.09 -0.22 – 0.04 0.187 -0.08 -0.21 – 0.05 0.250 -0.09 -0.22 – 0.05 0.199
time - 2 5 -0.12 -0.16 – -0.07 <0.001 -0.12 -0.16 – -0.07 <0.001 -0.12 -0.16 – -0.07 <0.001
condflourish vs control ×
time - 2 5
-0.05 -0.09 – -0.00 0.038 -0.05 -0.09 – -0.00 0.038 -0.05 -0.09 – -0.00 0.038
Sex [Woman] 0.16 -0.17 – 0.48 0.349 0.16 -0.17 – 0.49 0.341
Age -0.03 -0.06 – 0.01 0.139 -0.02 -0.05 – 0.01 0.237
int student [No] 0.45 -0.07 – 0.97 0.090 0.65 0.09 – 1.21 0.023
SES num -0.22 -0.33 – -0.10 <0.001 -0.20 -0.31 – -0.08 0.001
Ethnicity White -0.17 -0.52 – 0.19 0.355
Ethnicity Hispanic 0.14 -0.37 – 0.65 0.590
Ethnicity Black 0.11 -0.58 – 0.80 0.750
Ethnicity East Asian 0.03 -0.45 – 0.50 0.903
Ethnicity South Asian 0.59 -0.06 – 1.24 0.074
Ethnicity Native Hawaiian
Pacific Islander
0.11 -1.88 – 2.10 0.914
Ethnicity Middle Eastern 0.25 -0.69 – 1.18 0.606
Ethnicity American Indian 1.49 -0.47 – 3.46 0.136
Random Effects
σ2 0.97 0.97 0.97
τ00 1.79 unique_ID 1.71 unique_ID 1.71 unique_ID
0.00 univ 0.02 univ 0.01 univ
ICC   0.64 0.64
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.028 / NA 0.043 / 0.656 0.057 / 0.660

Excluded Preregistered

m0 <- lmer(loneliness ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(loneliness ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(loneliness ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  loneliness loneliness loneliness
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.27 5.12 – 5.41 <0.001 6.06 4.87 – 7.26 <0.001 5.83 4.58 – 7.09 <0.001
condflourish vs control -0.10 -0.24 – 0.05 0.194 -0.08 -0.22 – 0.06 0.271 -0.09 -0.23 – 0.05 0.216
time - 2 5 -0.12 -0.17 – -0.07 <0.001 -0.12 -0.16 – -0.07 <0.001 -0.12 -0.16 – -0.07 <0.001
condflourish vs control ×
time - 2 5
-0.05 -0.10 – -0.00 0.039 -0.05 -0.10 – -0.00 0.046 -0.05 -0.10 – -0.00 0.045
Sex [Woman] 0.05 -0.33 – 0.43 0.799 0.05 -0.34 – 0.43 0.816
Age -0.03 -0.06 – 0.01 0.126 -0.03 -0.06 – 0.01 0.154
int student [No] 0.56 0.00 – 1.12 0.049 0.71 0.11 – 1.32 0.020
SES num -0.23 -0.36 – -0.11 <0.001 -0.21 -0.34 – -0.08 0.001
Ethnicity White -0.20 -0.60 – 0.20 0.323
Ethnicity Hispanic 0.07 -0.53 – 0.66 0.818
Ethnicity Black 0.33 -0.45 – 1.12 0.408
Ethnicity East Asian 0.09 -0.43 – 0.61 0.742
Ethnicity South Asian 0.36 -0.35 – 1.06 0.321
Ethnicity Native Hawaiian
Pacific Islander
0.07 -1.95 – 2.09 0.947
Ethnicity Middle Eastern 0.23 -0.77 – 1.22 0.652
Ethnicity American Indian 1.73 -0.28 – 3.74 0.092
Random Effects
σ2 0.97 0.97 0.97
τ00 1.83 unique_ID 1.75 unique_ID 1.75 unique_ID
0.00 univ 0.02 univ 0.01 univ
ICC 0.65 0.64 0.64
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.010 / 0.657 0.049 / 0.662 0.061 / 0.665

Excluded Unreasonable Numbers

m0 <- lmer(loneliness ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(loneliness ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## unable to evaluate scaled gradient
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge: degenerate Hessian with 1 negative eigenvalues
## Warning: Model failed to converge with 1 negative eigenvalue: -8.2e+01
m2 <- lmer(loneliness ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.0168869 (tol = 0.002, component 1)
tab_model(m0, m1, m2)
  loneliness loneliness loneliness
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.27 5.12 – 5.42 <0.001 6.02 4.79 – 7.25 <0.001 5.82 4.53 – 7.11 <0.001
condflourish vs control -0.09 -0.24 – 0.06 0.245 -0.09 -0.24 – 0.06 0.240 -0.09 -0.25 – 0.06 0.221
time - 2 5 -0.13 -0.18 – -0.08 <0.001 -0.13 -0.18 – -0.08 <0.001 -0.13 -0.18 – -0.08 <0.001
condflourish vs control ×
time - 2 5
-0.06 -0.11 – -0.01 0.011 -0.06 -0.11 – -0.02 0.010 -0.06 -0.11 – -0.02 0.010
Sex [Woman] 0.00 -0.39 – 0.40 0.983 0.01 -0.39 – 0.41 0.957
Age -0.02 -0.06 – 0.01 0.204 -0.02 -0.06 – 0.01 0.237
int student [No] 0.47 -0.14 – 1.08 0.130 0.67 0.02 – 1.31 0.043
SES num -0.22 -0.35 – -0.09 0.001 -0.20 -0.33 – -0.06 0.004
Ethnicity White -0.28 -0.69 – 0.14 0.188
Ethnicity Hispanic -0.07 -0.67 – 0.54 0.831
Ethnicity Black 0.25 -0.55 – 1.06 0.538
Ethnicity East Asian -0.02 -0.55 – 0.51 0.939
Ethnicity South Asian 0.44 -0.31 – 1.19 0.247
Ethnicity Native Hawaiian
Pacific Islander
0.03 -1.99 – 2.04 0.980
Ethnicity Middle Eastern 0.05 -1.24 – 1.34 0.938
Ethnicity American Indian 1.67 -0.34 – 3.67 0.103
Random Effects
σ2 0.97 0.97 0.97
τ00 1.80 unique_ID 1.74 unique_ID 1.73 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC   0.64 0.64
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.033 / NA 0.043 / 0.657 0.061 / 0.662

Perceived Stress

Intention to Treat

m0 <- lmer(perceived_stress ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
#standardize_parameters(m0)
m1 <- lmer(perceived_stress ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(perceived_stress ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  perceived stress perceived stress perceived stress
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.63 6.41 – 6.85 <0.001 8.90 7.16 – 10.65 <0.001 8.64 6.80 – 10.48 <0.001
condflourish vs control -0.08 -0.30 – 0.14 0.482 -0.06 -0.28 – 0.15 0.552 -0.08 -0.29 – 0.13 0.465
time - 2 5 -0.08 -0.17 – 0.00 0.061 -0.08 -0.16 – 0.01 0.067 -0.08 -0.16 – 0.01 0.069
condflourish vs control ×
time - 2 5
-0.03 -0.12 – 0.05 0.461 -0.03 -0.11 – 0.06 0.509 -0.03 -0.11 – 0.06 0.504
Sex [Woman] 0.72 0.18 – 1.26 0.009 0.71 0.17 – 1.25 0.010
Age -0.05 -0.10 – 0.01 0.086 -0.04 -0.10 – 0.01 0.105
int student [No] 0.07 -0.77 – 0.91 0.874 0.42 -0.49 – 1.32 0.368
SES num -0.60 -0.78 – -0.41 <0.001 -0.55 -0.74 – -0.36 <0.001
Ethnicity White -0.61 -1.18 – -0.04 0.036
Ethnicity Hispanic -0.14 -0.97 – 0.68 0.733
Ethnicity Black 0.53 -0.59 – 1.65 0.354
Ethnicity East Asian -0.49 -1.26 – 0.28 0.214
Ethnicity South Asian 0.86 -0.19 – 1.91 0.109
Ethnicity Native Hawaiian
Pacific Islander
0.56 -2.67 – 3.79 0.735
Ethnicity Middle Eastern 0.65 -0.87 – 2.17 0.401
Ethnicity American Indian 0.59 -2.58 – 3.77 0.713
Random Effects
σ2 3.54 3.52 3.52
τ00 4.83 unique_ID 4.29 unique_ID 4.22 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC 0.58 0.55  
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.002 / 0.578 0.074 / 0.583 0.191 / NA

Excluded Preregistered

m0 <- lmer(perceived_stress ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(perceived_stress ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(perceived_stress ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  perceived stress perceived stress perceived stress
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.57 6.33 – 6.81 <0.001 8.95 7.13 – 10.78 <0.001 8.85 6.91 – 10.78 <0.001
condflourish vs control -0.09 -0.33 – 0.14 0.436 -0.06 -0.28 – 0.17 0.626 -0.07 -0.29 – 0.16 0.551
time - 2 5 -0.10 -0.19 – -0.01 0.025 -0.10 -0.19 – -0.01 0.033 -0.10 -0.19 – -0.01 0.033
condflourish vs control ×
time - 2 5
-0.02 -0.11 – 0.06 0.582 -0.02 -0.11 – 0.07 0.662 -0.02 -0.11 – 0.07 0.651
Sex [Woman] 0.66 0.07 – 1.26 0.028 0.64 0.04 – 1.24 0.035
Age -0.04 -0.10 – 0.01 0.103 -0.05 -0.10 – 0.01 0.088
int student [No] 0.17 -0.69 – 1.04 0.695 0.36 -0.57 – 1.30 0.446
SES num -0.66 -0.85 – -0.46 <0.001 -0.62 -0.83 – -0.42 <0.001
Ethnicity White -0.37 -0.99 – 0.26 0.252
Ethnicity Hispanic 0.05 -0.88 – 0.97 0.919
Ethnicity Black 0.79 -0.43 – 2.01 0.203
Ethnicity East Asian -0.27 -1.08 – 0.54 0.519
Ethnicity South Asian 0.55 -0.54 – 1.64 0.321
Ethnicity Native Hawaiian
Pacific Islander
0.64 -2.51 – 3.79 0.690
Ethnicity Middle Eastern 0.76 -0.79 – 2.30 0.339
Ethnicity American Indian 0.76 -2.37 – 3.90 0.633
Random Effects
σ2 3.48 3.47 3.47
τ00 4.59 unique_ID 3.96 unique_ID 3.93 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC 0.57   0.53
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.003 / 0.570 0.173 / NA 0.102 / 0.579

Excluded Unreasonable Numbers

m0 <- lmer(perceived_stress ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(perceived_stress ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(perceived_stress ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  perceived stress perceived stress perceived stress
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.54 6.30 – 6.78 <0.001 9.14 7.25 – 11.02 <0.001 8.97 6.98 – 10.95 <0.001
condflourish vs control -0.12 -0.37 – 0.12 0.324 -0.10 -0.33 – 0.13 0.411 -0.11 -0.34 – 0.13 0.365
time - 2 5 -0.11 -0.20 – -0.01 0.024 -0.11 -0.20 – -0.01 0.028 -0.11 -0.20 – -0.01 0.027
condflourish vs control ×
time - 2 5
-0.03 -0.13 – 0.06 0.510 -0.03 -0.12 – 0.07 0.550 -0.03 -0.12 – 0.07 0.549
Sex [Woman] 0.66 0.06 – 1.27 0.032 0.68 0.07 – 1.29 0.029
Age -0.05 -0.10 – 0.01 0.090 -0.05 -0.10 – 0.01 0.083
int student [No] 0.11 -0.83 – 1.04 0.824 0.34 -0.65 – 1.33 0.498
SES num -0.69 -0.90 – -0.49 <0.001 -0.65 -0.86 – -0.45 <0.001
Ethnicity White -0.39 -1.02 – 0.25 0.232
Ethnicity Hispanic -0.10 -1.03 – 0.83 0.831
Ethnicity Black 0.82 -0.43 – 2.07 0.197
Ethnicity East Asian -0.23 -1.05 – 0.60 0.590
Ethnicity South Asian 0.64 -0.51 – 1.79 0.273
Ethnicity Native Hawaiian
Pacific Islander
0.64 -2.46 – 3.74 0.684
Ethnicity Middle Eastern -0.93 -2.92 – 1.06 0.360
Ethnicity American Indian 0.77 -2.32 – 3.85 0.626
Random Effects
σ2 3.53 3.52 3.52
τ00 4.45 unique_ID 3.76 unique_ID 3.74 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC   0.52 0.52
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.008 / NA 0.097 / 0.563 0.110 / 0.568

SAS: Calm

Intention to Treat

m0 <- lmer(SAS_calm ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT) 
## boundary (singular) fit: see help('isSingular')
#standardize_parameters(m0)
m1 <- lmer(SAS_calm ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(SAS_calm ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  SAS calm SAS calm SAS calm
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.74 5.55 – 5.94 <0.001 4.92 3.37 – 6.46 <0.001 4.97 3.32 – 6.62 <0.001
condflourish vs control 0.22 0.03 – 0.41 0.026 0.19 0.01 – 0.38 0.042 0.20 0.01 – 0.39 0.037
time - 2 5 0.11 0.03 – 0.19 0.006 0.11 0.03 – 0.19 0.006 0.11 0.03 – 0.19 0.006
condflourish vs control ×
time - 2 5
0.10 0.02 – 0.18 0.015 0.10 0.02 – 0.18 0.014 0.10 0.02 – 0.18 0.014
Sex [Woman] -0.67 -1.15 – -0.20 0.005 -0.66 -1.14 – -0.18 0.007
Age 0.02 -0.03 – 0.07 0.387 0.02 -0.03 – 0.07 0.389
int student [No] -0.61 -1.35 – 0.13 0.107 -0.66 -1.47 – 0.15 0.110
SES num 0.45 0.29 – 0.61 <0.001 0.43 0.26 – 0.60 <0.001
Ethnicity White 0.14 -0.37 – 0.65 0.585
Ethnicity Hispanic -0.25 -0.99 – 0.49 0.502
Ethnicity Black -0.11 -1.11 – 0.89 0.830
Ethnicity East Asian 0.13 -0.56 – 0.82 0.709
Ethnicity South Asian -0.14 -1.07 – 0.80 0.775
Ethnicity Native Hawaiian
Pacific Islander
0.24 -2.64 – 3.11 0.872
Ethnicity Middle Eastern -0.27 -1.63 – 1.09 0.696
Ethnicity American Indian -0.44 -3.26 – 2.38 0.759
Random Effects
σ2 3.06 3.05 3.05
τ00 3.58 unique_ID 3.22 unique_ID 3.27 unique_ID
0.00 univ 0.01 univ 0.01 univ
ICC   0.51 0.52
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.023 / NA 0.068 / 0.547 0.070 / 0.552

Excluded Preregistered

m0 <- lmer(SAS_calm ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00220683 (tol = 0.002, component 1)
m1 <- lmer(SAS_calm ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00208136 (tol = 0.002, component 1)
m2 <- lmer(SAS_calm ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  SAS calm SAS calm SAS calm
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.73 5.53 – 5.94 <0.001 5.15 3.48 – 6.82 <0.001 5.13 3.34 – 6.92 <0.001
condflourish vs control 0.27 0.07 – 0.48 0.010 0.25 0.05 – 0.45 0.016 0.26 0.05 – 0.46 0.014
time - 2 5 0.15 0.07 – 0.23 <0.001 0.15 0.07 – 0.23 <0.001 0.15 0.07 – 0.23 <0.001
condflourish vs control ×
time - 2 5
0.09 0.01 – 0.17 0.036 0.09 0.00 – 0.17 0.041 0.09 0.00 – 0.17 0.041
Sex [Woman] -0.61 -1.15 – -0.08 0.024 -0.59 -1.13 – -0.04 0.034
Age 0.01 -0.04 – 0.06 0.695 0.01 -0.04 – 0.06 0.695
int student [No] -0.72 -1.50 – 0.07 0.073 -0.68 -1.53 – 0.17 0.117
SES num 0.46 0.29 – 0.64 <0.001 0.45 0.26 – 0.63 <0.001
Ethnicity White 0.08 -0.49 – 0.65 0.776
Ethnicity Hispanic -0.48 -1.33 – 0.36 0.265
Ethnicity Black 0.01 -1.10 – 1.13 0.980
Ethnicity East Asian 0.14 -0.60 – 0.88 0.712
Ethnicity South Asian 0.12 -0.88 – 1.12 0.808
Ethnicity Native Hawaiian
Pacific Islander
0.15 -2.72 – 3.02 0.919
Ethnicity Middle Eastern -0.22 -1.63 – 1.19 0.758
Ethnicity American Indian -0.33 -3.18 – 2.52 0.819
Random Effects
σ2 3.03 3.03 3.03
τ00 3.50 unique_ID 3.15 unique_ID 3.21 unique_ID
0.00 univ 0.03 univ 0.04 univ
ICC 0.54 0.51 0.52
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.017 / 0.544 0.075 / 0.548 0.078 / 0.554

Excluded Unreasonable Numbers

m0 <- lmer(SAS_calm ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(SAS_calm ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m2 <- lmer(SAS_calm ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  SAS calm SAS calm SAS calm
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.72 5.47 – 5.96 <0.001 5.24 3.50 – 6.99 <0.001 5.38 3.54 – 7.23 <0.001
condflourish vs control 0.26 0.04 – 0.47 0.018 0.26 0.05 – 0.47 0.015 0.27 0.06 – 0.48 0.013
time - 2 5 0.14 0.06 – 0.23 0.001 0.14 0.06 – 0.23 0.001 0.14 0.06 – 0.23 0.001
condflourish vs control ×
time - 2 5
0.08 -0.00 – 0.17 0.064 0.08 -0.01 – 0.17 0.074 0.08 -0.01 – 0.16 0.074
Sex [Woman] -0.58 -1.13 – -0.03 0.038 -0.57 -1.13 – -0.01 0.045
Age 0.00 -0.05 – 0.05 0.883 0.00 -0.05 – 0.05 0.919
int student [No] -0.60 -1.45 – 0.26 0.171 -0.62 -1.53 – 0.29 0.180
SES num 0.43 0.25 – 0.62 <0.001 0.42 0.23 – 0.61 <0.001
Ethnicity White 0.00 -0.58 – 0.58 0.995
Ethnicity Hispanic -0.50 -1.36 – 0.36 0.252
Ethnicity Black -0.10 -1.25 – 1.04 0.860
Ethnicity East Asian 0.02 -0.73 – 0.78 0.952
Ethnicity South Asian -0.15 -1.21 – 0.90 0.776
Ethnicity Native Hawaiian
Pacific Islander
0.01 -2.83 – 2.86 0.993
Ethnicity Middle Eastern 0.48 -1.35 – 2.30 0.609
Ethnicity American Indian -0.42 -3.25 – 2.40 0.769
Random Effects
σ2 3.00 2.99 2.99
τ00 3.34 unique_ID 3.06 unique_ID 3.13 unique_ID
0.01 univ 0.04 univ 0.03 univ
ICC 0.53 0.51 0.51
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.015 / 0.535 0.065 / 0.540 0.068 / 0.547

SAS: Well-Being

Intention to Treat

m0 <- lmer(SAS_well_being ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT) 
#standardize_parameters(m0)
m1 <- lmer(SAS_well_being ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(SAS_well_being ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  SAS well being SAS well being SAS well being
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.86 6.46 – 7.27 <0.001 4.56 2.90 – 6.22 <0.001 5.02 3.31 – 6.73 <0.001
condflourish vs control 0.19 -0.01 – 0.38 0.057 0.17 -0.01 – 0.36 0.067 0.19 0.01 – 0.38 0.042
time - 2 5 -0.06 -0.13 – 0.01 0.112 -0.06 -0.14 – 0.01 0.090 -0.06 -0.14 – 0.01 0.086
condflourish vs control ×
time - 2 5
0.08 0.01 – 0.16 0.022 0.08 0.01 – 0.16 0.025 0.08 0.01 – 0.16 0.023
Sex [Woman] 0.21 -0.27 – 0.68 0.387 0.18 -0.29 – 0.66 0.450
Age 0.05 -0.00 – 0.10 0.058 0.04 -0.01 – 0.09 0.082
int student [No] -0.44 -1.19 – 0.31 0.251 -0.74 -1.54 – 0.06 0.072
SES num 0.45 0.29 – 0.61 <0.001 0.43 0.26 – 0.60 <0.001
Ethnicity White 0.29 -0.21 – 0.80 0.257
Ethnicity Hispanic 0.15 -0.59 – 0.88 0.694
Ethnicity Black -0.82 -1.81 – 0.18 0.107
Ethnicity East Asian -0.23 -0.92 – 0.45 0.508
Ethnicity South Asian -0.74 -1.68 – 0.19 0.119
Ethnicity Native Hawaiian
Pacific Islander
-1.53 -4.39 – 1.33 0.293
Ethnicity Middle Eastern -0.43 -1.77 – 0.92 0.535
Ethnicity American Indian -1.43 -4.23 – 1.38 0.318
Random Effects
σ2 2.57 2.57 2.56
τ00 3.66 unique_ID 3.37 unique_ID 3.33 unique_ID
0.09 univ 0.21 univ 0.14 univ
ICC 0.59 0.58 0.58
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1578 1569 1569
Marginal R2 / Conditional R2 0.007 / 0.596 0.054 / 0.604 0.072 / 0.606

Excluded Preregistered

m0 <- lmer(SAS_well_being ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
m1 <- lmer(SAS_well_being ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(SAS_well_being ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.0146806 (tol = 0.002, component 1)
tab_model(m0, m1, m2)
  SAS well being SAS well being SAS well being
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.89 6.47 – 7.30 <0.001 4.53 2.78 – 6.28 <0.001 5.01 3.20 – 6.83 <0.001
condflourish vs control 0.21 0.01 – 0.42 0.044 0.19 -0.01 – 0.39 0.068 0.21 0.01 – 0.41 0.041
time - 2 5 -0.06 -0.13 – 0.02 0.154 -0.06 -0.13 – 0.02 0.132 -0.06 -0.13 – 0.02 0.131
condflourish vs control ×
time - 2 5
0.07 -0.01 – 0.14 0.092 0.06 -0.02 – 0.14 0.119 0.06 -0.01 – 0.14 0.115
Sex [Woman] 0.24 -0.29 – 0.77 0.370 0.23 -0.31 – 0.76 0.401
Age 0.05 -0.00 – 0.10 0.075 0.04 -0.01 – 0.09 0.108
int student [No] -0.48 -1.26 – 0.31 0.235 -0.73 -1.57 – 0.11 0.089
SES num 0.48 0.31 – 0.66 <0.001 0.44 0.26 – 0.62 <0.001
Ethnicity White 0.27 -0.29 – 0.83 0.347
Ethnicity Hispanic -0.09 -0.93 – 0.75 0.834
Ethnicity Black -0.54 -1.64 – 0.56 0.337
Ethnicity East Asian -0.27 -1.01 – 0.46 0.465
Ethnicity South Asian -0.50 -1.49 – 0.49 0.319
Ethnicity Native Hawaiian
Pacific Islander
-1.59 -4.42 – 1.24 0.271
Ethnicity Middle Eastern 0.05 -1.35 – 1.44 0.945
Ethnicity American Indian -1.43 -4.24 – 1.38 0.319
Random Effects
σ2 2.54 2.54 2.54
τ00 3.53 unique_ID 3.22 unique_ID 3.23 unique_ID
0.09 univ 0.18 univ 0.11 univ
ICC 0.59 0.57 0.57
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1411 1405 1405
Marginal R2 / Conditional R2 0.008 / 0.591 0.062 / 0.600 0.074 / 0.600

Excluded Unreasonable Numbers

m0 <- lmer(SAS_well_being ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(SAS_well_being ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m2 <- lmer(SAS_well_being ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  SAS well being SAS well being SAS well being
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.86 6.45 – 7.27 <0.001 4.56 2.74 – 6.38 <0.001 5.14 3.29 – 7.00 <0.001
condflourish vs control 0.18 -0.03 – 0.40 0.095 0.18 -0.03 – 0.39 0.095 0.20 -0.01 – 0.41 0.058
time - 2 5 -0.06 -0.14 – 0.02 0.164 -0.06 -0.14 – 0.02 0.147 -0.06 -0.14 – 0.02 0.146
condflourish vs control ×
time - 2 5
0.06 -0.01 – 0.14 0.112 0.06 -0.02 – 0.14 0.135 0.06 -0.02 – 0.14 0.134
Sex [Woman] 0.28 -0.27 – 0.83 0.324 0.25 -0.31 – 0.80 0.380
Age 0.04 -0.01 – 0.09 0.131 0.03 -0.02 – 0.09 0.217
int student [No] -0.37 -1.23 – 0.50 0.408 -0.67 -1.57 – 0.23 0.144
SES num 0.47 0.29 – 0.66 <0.001 0.44 0.25 – 0.62 <0.001
Ethnicity White 0.29 -0.29 – 0.86 0.331
Ethnicity Hispanic -0.00 -0.85 – 0.85 1.000
Ethnicity Black -0.53 -1.66 – 0.61 0.361
Ethnicity East Asian -0.23 -0.98 – 0.52 0.541
Ethnicity South Asian -0.94 -1.98 – 0.11 0.079
Ethnicity Native Hawaiian
Pacific Islander
-1.60 -4.41 – 1.22 0.266
Ethnicity Middle Eastern 1.10 -0.71 – 2.91 0.233
Ethnicity American Indian -1.40 -4.20 – 1.39 0.324
Random Effects
σ2 2.51 2.51 2.51
τ00 3.49 unique_ID 3.21 unique_ID 3.18 unique_ID
0.09 univ 0.16 univ 0.08 univ
ICC 0.59 0.57 0.57
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.007 / 0.591 0.057 / 0.598 0.077 / 0.599

SAS: Vigour

Intention to Treat

m0 <- lmer(SAS_vigour ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT) 
#standardize_parameters(m0)
m1 <- lmer(SAS_vigour ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(SAS_vigour ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  SAS vigour SAS vigour SAS vigour
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.72 5.33 – 6.11 <0.001 3.89 2.09 – 5.70 <0.001 4.22 2.35 – 6.08 <0.001
condflourish vs control 0.14 -0.07 – 0.36 0.188 0.13 -0.08 – 0.34 0.235 0.13 -0.08 – 0.34 0.222
time - 2 5 -0.07 -0.15 – 0.00 0.057 -0.08 -0.15 – 0.00 0.055 -0.08 -0.16 – -0.00 0.047
condflourish vs control ×
time - 2 5
0.05 -0.03 – 0.13 0.205 0.05 -0.03 – 0.13 0.199 0.05 -0.03 – 0.13 0.189
Sex [Woman] -0.04 -0.58 – 0.49 0.869 -0.06 -0.60 – 0.47 0.813
Age 0.05 -0.01 – 0.10 0.082 0.05 -0.01 – 0.10 0.088
int student [No] -0.49 -1.33 – 0.35 0.255 -0.82 -1.73 – 0.08 0.074
SES num 0.38 0.20 – 0.56 <0.001 0.36 0.17 – 0.54 <0.001
Ethnicity White 0.39 -0.17 – 0.96 0.174
Ethnicity Hispanic 0.42 -0.40 – 1.24 0.313
Ethnicity Black -0.86 -1.98 – 0.25 0.128
Ethnicity East Asian -0.24 -1.01 – 0.52 0.535
Ethnicity South Asian -0.62 -1.67 – 0.42 0.242
Ethnicity Native Hawaiian
Pacific Islander
0.06 -3.15 – 3.27 0.970
Ethnicity Middle Eastern 1.10 -0.42 – 2.61 0.155
Ethnicity American Indian -0.91 -4.06 – 2.25 0.573
Random Effects
σ2 2.87 2.87 2.87
τ00 4.58 unique_ID 4.35 unique_ID 4.32 unique_ID
0.08 univ 0.13 univ 0.06 univ
ICC 0.62 0.61 0.60
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1578 1569 1569
Marginal R2 / Conditional R2 0.004 / 0.621 0.036 / 0.624 0.054 / 0.626

Excluded Preregistered

m0 <- lmer(SAS_vigour ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
m1 <- lmer(SAS_vigour ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(SAS_vigour ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  SAS vigour SAS vigour SAS vigour
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.69 5.31 – 6.06 <0.001 3.79 1.90 – 5.68 <0.001 4.03 2.07 – 5.99 <0.001
condflourish vs control 0.25 0.03 – 0.48 0.027 0.23 0.01 – 0.46 0.038 0.25 0.03 – 0.47 0.027
time - 2 5 -0.07 -0.15 – 0.01 0.100 -0.07 -0.15 – 0.01 0.094 -0.07 -0.15 – 0.01 0.088
condflourish vs control ×
time - 2 5
0.04 -0.04 – 0.12 0.307 0.04 -0.04 – 0.12 0.336 0.04 -0.04 – 0.12 0.333
Sex [Woman] 0.21 -0.38 – 0.80 0.484 0.21 -0.38 – 0.80 0.484
Age 0.05 -0.01 – 0.10 0.097 0.05 -0.01 – 0.10 0.105
int student [No] -0.68 -1.55 – 0.19 0.123 -1.00 -1.93 – -0.07 0.034
SES num 0.41 0.21 – 0.60 <0.001 0.35 0.15 – 0.56 0.001
Ethnicity White 0.55 -0.07 – 1.17 0.083
Ethnicity Hispanic 0.35 -0.57 – 1.27 0.454
Ethnicity Black -0.32 -1.53 – 0.90 0.611
Ethnicity East Asian -0.13 -0.94 – 0.67 0.743
Ethnicity South Asian -0.23 -1.32 – 0.86 0.675
Ethnicity Native Hawaiian
Pacific Islander
0.21 -2.92 – 3.33 0.896
Ethnicity Middle Eastern 1.76 0.22 – 3.29 0.025
Ethnicity American Indian -0.45 -3.55 – 2.66 0.777
Random Effects
σ2 2.87 2.87 2.87
τ00 4.27 unique_ID 4.04 unique_ID 4.01 unique_ID
0.06 univ 0.11 univ 0.05 univ
ICC 0.60 0.59 0.59
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1411 1405 1405
Marginal R2 / Conditional R2 0.010 / 0.606 0.049 / 0.611 0.066 / 0.613

Excluded Unreasonable Numbers

m0 <- lmer(SAS_vigour ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(SAS_vigour ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00303228 (tol = 0.002, component 1)
m2 <- lmer(SAS_vigour ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  SAS vigour SAS vigour SAS vigour
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.60 5.24 – 5.97 <0.001 3.98 2.00 – 5.96 <0.001 4.22 2.20 – 6.25 <0.001
condflourish vs control 0.17 -0.06 – 0.41 0.153 0.18 -0.06 – 0.41 0.138 0.20 -0.03 – 0.44 0.087
time - 2 5 -0.09 -0.17 – -0.00 0.040 -0.09 -0.18 – -0.01 0.035 -0.09 -0.18 – -0.01 0.033
condflourish vs control ×
time - 2 5
0.02 -0.06 – 0.11 0.616 0.02 -0.07 – 0.10 0.671 0.02 -0.07 – 0.10 0.667
Sex [Woman] 0.28 -0.34 – 0.89 0.374 0.28 -0.33 – 0.90 0.367
Age 0.04 -0.02 – 0.10 0.164 0.04 -0.02 – 0.09 0.209
int student [No] -0.66 -1.63 – 0.30 0.176 -1.03 -2.04 – -0.03 0.044
SES num 0.35 0.15 – 0.56 0.001 0.31 0.11 – 0.52 0.003
Ethnicity White 0.65 0.01 – 1.29 0.048
Ethnicity Hispanic 0.49 -0.45 – 1.43 0.308
Ethnicity Black -0.30 -1.56 – 0.96 0.639
Ethnicity East Asian -0.06 -0.89 – 0.78 0.894
Ethnicity South Asian -0.56 -1.73 – 0.60 0.346
Ethnicity Native Hawaiian
Pacific Islander
0.33 -2.81 – 3.46 0.838
Ethnicity Middle Eastern 2.22 0.21 – 4.23 0.031
Ethnicity American Indian -0.33 -3.45 – 2.78 0.834
Random Effects
σ2 2.85 2.85 2.85
τ00 4.24 unique_ID 4.09 unique_ID 4.03 unique_ID
0.05 univ 0.10 univ 0.03 univ
ICC 0.60 0.60 0.59
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1292 1289 1289
Marginal R2 / Conditional R2 0.005 / 0.604 0.036 / 0.610 0.059 / 0.612

SAS: Depression

Intention to Treat

m0 <- lmer(SAS_depression ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(SAS_depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  SAS depression SAS depression SAS depression
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.06 3.83 – 4.28 <0.001 5.58 3.67 – 7.48 <0.001 4.76 2.77 – 6.75 <0.001
condflourish vs control -0.14 -0.37 – 0.08 0.216 -0.12 -0.35 – 0.10 0.283 -0.14 -0.36 – 0.09 0.233
time - 2 5 -0.05 -0.13 – 0.04 0.279 -0.05 -0.13 – 0.04 0.263 -0.05 -0.14 – 0.04 0.249
condflourish vs control ×
time - 2 5
0.03 -0.06 – 0.11 0.535 0.03 -0.06 – 0.11 0.511 0.03 -0.06 – 0.11 0.518
Sex [Woman] 0.44 -0.13 – 1.02 0.130 0.47 -0.10 – 1.04 0.109
Age -0.06 -0.12 – 0.00 0.053 -0.05 -0.11 – 0.01 0.113
int student [No] 0.69 -0.21 – 1.60 0.133 1.07 0.10 – 2.04 0.030
SES num -0.39 -0.58 – -0.19 <0.001 -0.38 -0.58 – -0.18 <0.001
Ethnicity White -0.01 -0.62 – 0.60 0.970
Ethnicity Hispanic 0.13 -0.75 – 1.01 0.770
Ethnicity Black 0.45 -0.75 – 1.65 0.460
Ethnicity East Asian 0.05 -0.77 – 0.87 0.903
Ethnicity South Asian 1.60 0.47 – 2.72 0.005
Ethnicity Native Hawaiian
Pacific Islander
1.60 -1.85 – 5.04 0.364
Ethnicity Middle Eastern 1.66 0.04 – 3.29 0.045
Ethnicity American Indian 2.17 -1.22 – 5.56 0.209
Random Effects
σ2 3.54 3.54 3.53
τ00 5.24 unique_ID 5.00 unique_ID 4.92 unique_ID
0.00 univ 0.07 univ 0.04 univ
ICC   0.59 0.58
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1578 1569 1569
Marginal R2 / Conditional R2 0.007 / NA 0.040 / 0.605 0.063 / 0.610

Excluded Preregistered

m0 <- lmer(SAS_depression ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
m1 <- lmer(SAS_depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(SAS_depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  SAS depression SAS depression SAS depression
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 3.92 3.63 – 4.21 <0.001 5.36 3.35 – 7.37 <0.001 4.74 2.62 – 6.85 <0.001
condflourish vs control -0.18 -0.42 – 0.07 0.157 -0.14 -0.38 – 0.09 0.235 -0.14 -0.38 – 0.10 0.239
time - 2 5 -0.04 -0.13 – 0.05 0.337 -0.04 -0.13 – 0.05 0.358 -0.04 -0.13 – 0.05 0.343
condflourish vs control ×
time - 2 5
0.02 -0.07 – 0.11 0.679 0.02 -0.07 – 0.11 0.634 0.02 -0.07 – 0.11 0.636
Sex [Woman] 0.45 -0.18 – 1.08 0.160 0.49 -0.15 – 1.12 0.134
Age -0.05 -0.11 – 0.01 0.085 -0.04 -0.10 – 0.02 0.142
int student [No] 0.79 -0.14 – 1.72 0.097 0.99 -0.01 – 1.99 0.053
SES num -0.43 -0.64 – -0.22 <0.001 -0.44 -0.66 – -0.23 <0.001
Ethnicity White 0.24 -0.42 – 0.91 0.471
Ethnicity Hispanic 0.13 -0.87 – 1.12 0.804
Ethnicity Black 0.36 -0.94 – 1.67 0.586
Ethnicity East Asian 0.15 -0.71 – 1.02 0.728
Ethnicity South Asian 1.31 0.14 – 2.48 0.028
Ethnicity Native Hawaiian
Pacific Islander
1.83 -1.53 – 5.19 0.285
Ethnicity Middle Eastern 1.48 -0.17 – 3.14 0.079
Ethnicity American Indian 2.48 -0.86 – 5.81 0.145
Random Effects
σ2 3.42 3.42 3.42
τ00 4.96 unique_ID 4.63 unique_ID 4.60 unique_ID
0.02 univ 0.08 univ 0.07 univ
ICC 0.59 0.58 0.58
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1411 1405 1405
Marginal R2 / Conditional R2 0.004 / 0.594 0.050 / 0.601 0.066 / 0.605

Excluded Unreasonable Numbers

m0 <- lmer(SAS_depression ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(SAS_depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m2 <- lmer(SAS_depression ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  SAS depression SAS depression SAS depression
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 3.91 3.63 – 4.20 <0.001 5.32 3.21 – 7.43 <0.001 4.71 2.51 – 6.91 <0.001
condflourish vs control -0.18 -0.43 – 0.07 0.162 -0.16 -0.41 – 0.09 0.205 -0.14 -0.39 – 0.11 0.274
time - 2 5 -0.06 -0.15 – 0.03 0.215 -0.06 -0.15 – 0.03 0.213 -0.06 -0.15 – 0.03 0.205
condflourish vs control ×
time - 2 5
0.00 -0.09 – 0.10 0.947 0.00 -0.09 – 0.10 0.930 0.00 -0.09 – 0.10 0.923
Sex [Woman] 0.52 -0.13 – 1.18 0.117 0.58 -0.08 – 1.24 0.086
Age -0.05 -0.11 – 0.01 0.120 -0.04 -0.10 – 0.02 0.207
int student [No] 0.74 -0.29 – 1.76 0.160 0.90 -0.17 – 1.98 0.100
SES num -0.45 -0.67 – -0.23 <0.001 -0.44 -0.66 – -0.21 <0.001
Ethnicity White 0.17 -0.51 – 0.86 0.621
Ethnicity Hispanic -0.09 -1.10 – 0.92 0.864
Ethnicity Black 0.18 -1.17 – 1.53 0.795
Ethnicity East Asian -0.04 -0.93 – 0.86 0.936
Ethnicity South Asian 1.57 0.32 – 2.82 0.014
Ethnicity Native Hawaiian
Pacific Islander
1.77 -1.59 – 5.14 0.301
Ethnicity Middle Eastern 0.56 -1.60 – 2.72 0.612
Ethnicity American Indian 2.44 -0.90 – 5.77 0.152
Random Effects
σ2 3.44 3.44 3.44
τ00 4.96 unique_ID 4.61 unique_ID 4.58 unique_ID
0.01 univ 0.09 univ 0.08 univ
ICC 0.59 0.58 0.57
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.004 / 0.593 0.051 / 0.599 0.069 / 0.604

SAS: Anxiety

Intention to Treat

m0 <- lmer(SAS_anxiety ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(SAS_anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  SAS anxiety SAS anxiety SAS anxiety
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.02 5.80 – 6.24 <0.001 6.31 4.62 – 8.01 <0.001 6.13 4.33 – 7.94 <0.001
condflourish vs control -0.17 -0.39 – 0.05 0.126 -0.15 -0.35 – 0.06 0.169 -0.16 -0.36 – 0.05 0.146
time - 2 5 -0.12 -0.21 – -0.03 0.006 -0.12 -0.21 – -0.04 0.006 -0.12 -0.21 – -0.04 0.006
condflourish vs control ×
time - 2 5
-0.02 -0.11 – 0.06 0.580 -0.03 -0.11 – 0.06 0.575 -0.02 -0.11 – 0.06 0.588
Sex [Woman] 1.12 0.59 – 1.65 <0.001 1.13 0.60 – 1.66 <0.001
Age -0.03 -0.08 – 0.02 0.284 -0.03 -0.08 – 0.02 0.258
int student [No] 0.98 0.16 – 1.80 0.019 1.05 0.16 – 1.94 0.021
SES num -0.46 -0.65 – -0.28 <0.001 -0.44 -0.62 – -0.25 <0.001
Ethnicity White -0.08 -0.64 – 0.49 0.792
Ethnicity Hispanic 0.40 -0.41 – 1.22 0.331
Ethnicity Black 0.67 -0.43 – 1.77 0.231
Ethnicity East Asian -0.14 -0.90 – 0.62 0.715
Ethnicity South Asian 0.40 -0.64 – 1.43 0.452
Ethnicity Native Hawaiian
Pacific Islander
0.18 -2.99 – 3.35 0.911
Ethnicity Middle Eastern 0.47 -1.02 – 1.96 0.535
Ethnicity American Indian 2.28 -0.83 – 5.39 0.151
Random Effects
σ2 3.79 3.76 3.76
τ00 4.47 unique_ID 3.92 unique_ID 3.95 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.013 / NA 0.146 / NA 0.160 / NA

Excluded Preregistered

m0 <- lmer(SAS_anxiety ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(SAS_anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  SAS anxiety SAS anxiety SAS anxiety
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.97 5.73 – 6.20 <0.001 5.91 4.11 – 7.72 <0.001 5.99 4.06 – 7.92 <0.001
condflourish vs control -0.19 -0.42 – 0.05 0.118 -0.15 -0.37 – 0.07 0.184 -0.15 -0.38 – 0.07 0.181
time - 2 5 -0.14 -0.23 – -0.05 0.003 -0.14 -0.23 – -0.04 0.004 -0.14 -0.23 – -0.04 0.004
condflourish vs control ×
time - 2 5
-0.03 -0.13 – 0.06 0.491 -0.03 -0.13 – 0.06 0.492 -0.03 -0.13 – 0.06 0.490
Sex [Woman] 1.15 0.56 – 1.74 <0.001 1.17 0.57 – 1.76 <0.001
Age -0.02 -0.07 – 0.03 0.485 -0.02 -0.08 – 0.03 0.403
int student [No] 1.26 0.41 – 2.12 0.004 1.18 0.25 – 2.12 0.013
SES num -0.51 -0.70 – -0.31 <0.001 -0.49 -0.69 – -0.28 <0.001
Ethnicity White -0.06 -0.69 – 0.56 0.843
Ethnicity Hispanic 0.30 -0.62 – 1.23 0.520
Ethnicity Black 0.59 -0.63 – 1.81 0.341
Ethnicity East Asian -0.20 -1.01 – 0.61 0.626
Ethnicity South Asian -0.07 -1.16 – 1.02 0.899
Ethnicity Native Hawaiian
Pacific Islander
0.13 -3.01 – 3.28 0.933
Ethnicity Middle Eastern 0.32 -1.22 – 1.86 0.685
Ethnicity American Indian 2.56 -0.57 – 5.69 0.109
Random Effects
σ2 3.78 3.77 3.77
τ00 4.42 unique_ID 3.79 unique_ID 3.83 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.016 / NA 0.166 / NA 0.177 / NA

Excluded Unreasonable Numbers

m0 <- lmer(SAS_anxiety ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(SAS_anxiety ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  SAS anxiety SAS anxiety SAS anxiety
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.01 5.76 – 6.25 <0.001 5.89 3.97 – 7.82 <0.001 5.86 3.84 – 7.89 <0.001
condflourish vs control -0.15 -0.39 – 0.10 0.237 -0.13 -0.37 – 0.10 0.268 -0.14 -0.37 – 0.10 0.256
time - 2 5 -0.15 -0.25 – -0.05 0.002 -0.15 -0.25 – -0.06 0.002 -0.15 -0.25 – -0.06 0.002
condflourish vs control ×
time - 2 5
-0.05 -0.14 – 0.05 0.358 -0.05 -0.15 – 0.05 0.326 -0.05 -0.15 – 0.05 0.329
Sex [Woman] 1.17 0.55 – 1.78 <0.001 1.22 0.59 – 1.84 <0.001
Age -0.02 -0.07 – 0.04 0.575 -0.02 -0.08 – 0.04 0.512
int student [No] 1.17 0.21 – 2.12 0.016 1.14 0.13 – 2.16 0.027
SES num -0.49 -0.70 – -0.29 <0.001 -0.47 -0.68 – -0.26 <0.001
Ethnicity White -0.04 -0.68 – 0.61 0.915
Ethnicity Hispanic 0.23 -0.72 – 1.18 0.640
Ethnicity Black 0.66 -0.62 – 1.93 0.311
Ethnicity East Asian -0.23 -1.07 – 0.61 0.591
Ethnicity South Asian 0.16 -1.01 – 1.33 0.786
Ethnicity Native Hawaiian
Pacific Islander
0.14 -3.03 – 3.31 0.931
Ethnicity Middle Eastern -0.98 -3.01 – 1.06 0.346
Ethnicity American Indian 2.56 -0.59 – 5.71 0.111
Random Effects
σ2 3.77 3.77 3.77
τ00 4.43 unique_ID 3.85 unique_ID 3.88 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC 0.54    
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.006 / 0.543 0.155 / NA 0.169 / NA

SAS: Anger

Intention to Treat

m0 <- lmer(SAS_anger ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
m1 <- lmer(SAS_anger ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(SAS_anger ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  SAS anger SAS anger SAS anger
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 2.73 2.18 – 3.28 <0.001 3.20 1.51 – 4.89 <0.001 2.43 0.68 – 4.18 0.007
condflourish vs control 0.07 -0.12 – 0.26 0.475 0.07 -0.12 – 0.26 0.488 0.05 -0.14 – 0.24 0.608
time - 2 5 0.05 -0.03 – 0.12 0.198 0.05 -0.02 – 0.13 0.169 0.05 -0.02 – 0.13 0.179
condflourish vs control ×
time - 2 5
0.00 -0.07 – 0.07 0.999 0.00 -0.07 – 0.08 0.912 0.00 -0.07 – 0.08 0.900
Sex [Woman] 0.14 -0.35 – 0.62 0.583 0.14 -0.35 – 0.62 0.576
Age -0.02 -0.07 – 0.03 0.468 -0.01 -0.06 – 0.04 0.686
int student [No] 0.48 -0.28 – 1.25 0.218 0.78 -0.04 – 1.59 0.062
SES num -0.20 -0.37 – -0.03 0.018 -0.19 -0.36 – -0.02 0.032
Ethnicity White 0.12 -0.39 – 0.63 0.648
Ethnicity Hispanic 0.65 -0.10 – 1.39 0.090
Ethnicity Black 0.30 -0.71 – 1.31 0.558
Ethnicity East Asian 0.18 -0.52 – 0.88 0.611
Ethnicity South Asian 1.32 0.37 – 2.27 0.006
Ethnicity Native Hawaiian
Pacific Islander
0.75 -2.15 – 3.66 0.611
Ethnicity Middle Eastern 1.42 0.05 – 2.78 0.043
Ethnicity American Indian 1.32 -1.53 – 4.16 0.363
Random Effects
σ2 2.73 2.71 2.71
τ00 3.59 unique_ID 3.47 unique_ID 3.42 unique_ID
0.20 univ 0.22 univ 0.17 univ
ICC 0.58 0.58 0.57
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1579 1570 1570
Marginal R2 / Conditional R2 0.001 / 0.582 0.013 / 0.582 0.033 / 0.584

Excluded Preregistered

m0 <- lmer(SAS_anger ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
m1 <- lmer(SAS_anger ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(SAS_anger ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  SAS anger SAS anger SAS anger
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 2.65 2.16 – 3.13 <0.001 3.37 1.55 – 5.19 <0.001 2.45 0.58 – 4.33 0.010
condflourish vs control 0.12 -0.09 – 0.32 0.270 0.12 -0.08 – 0.33 0.242 0.11 -0.09 – 0.32 0.288
time - 2 5 0.05 -0.03 – 0.12 0.262 0.05 -0.03 – 0.13 0.245 0.04 -0.03 – 0.12 0.270
condflourish vs control ×
time - 2 5
-0.01 -0.09 – 0.06 0.725 -0.01 -0.09 – 0.07 0.763 -0.01 -0.09 – 0.07 0.761
Sex [Woman] 0.10 -0.45 – 0.65 0.728 0.08 -0.47 – 0.63 0.771
Age -0.02 -0.07 – 0.04 0.569 -0.01 -0.06 – 0.05 0.848
int student [No] 0.37 -0.44 – 1.19 0.369 0.61 -0.25 – 1.48 0.166
SES num -0.24 -0.43 – -0.06 0.009 -0.26 -0.44 – -0.07 0.007
Ethnicity White 0.42 -0.16 – 1.00 0.153
Ethnicity Hispanic 1.04 0.18 – 1.90 0.018
Ethnicity Black 0.43 -0.70 – 1.57 0.454
Ethnicity East Asian 0.53 -0.22 – 1.29 0.165
Ethnicity South Asian 1.47 0.45 – 2.49 0.005
Ethnicity Native Hawaiian
Pacific Islander
0.91 -2.01 – 3.82 0.542
Ethnicity Middle Eastern 1.86 0.42 – 3.29 0.011
Ethnicity American Indian 1.66 -1.23 – 4.55 0.261
Random Effects
σ2 2.74 2.74 2.74
τ00 3.55 unique_ID 3.49 unique_ID 3.40 unique_ID
0.14 univ 0.20 univ 0.14 univ
ICC 0.57 0.57 0.56
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1412 1406 1406
Marginal R2 / Conditional R2 0.003 / 0.575 0.017 / 0.581 0.043 / 0.583

Excluded Unreasonable Numbers

m0 <- lmer(SAS_anger ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(SAS_anger ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m2 <- lmer(SAS_anger ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  SAS anger SAS anger SAS anger
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 2.61 2.04 – 3.17 <0.001 3.06 1.16 – 4.96 0.002 2.23 0.26 – 4.19 0.026
condflourish vs control 0.06 -0.16 – 0.27 0.601 0.06 -0.16 – 0.27 0.594 0.05 -0.16 – 0.27 0.628
time - 2 5 0.03 -0.05 – 0.11 0.474 0.03 -0.05 – 0.11 0.482 0.03 -0.05 – 0.11 0.513
condflourish vs control ×
time - 2 5
-0.03 -0.11 – 0.05 0.455 -0.03 -0.11 – 0.05 0.454 -0.03 -0.11 – 0.05 0.459
Sex [Woman] 0.21 -0.35 – 0.78 0.461 0.21 -0.36 – 0.79 0.463
Age -0.01 -0.06 – 0.05 0.753 0.00 -0.05 – 0.06 0.944
int student [No] 0.59 -0.30 – 1.48 0.196 0.78 -0.15 – 1.71 0.102
SES num -0.30 -0.49 – -0.11 0.002 -0.29 -0.48 – -0.09 0.004
Ethnicity White 0.32 -0.28 – 0.91 0.292
Ethnicity Hispanic 0.90 0.02 – 1.78 0.045
Ethnicity Black 0.12 -1.05 – 1.29 0.840
Ethnicity East Asian 0.42 -0.36 – 1.20 0.289
Ethnicity South Asian 1.37 0.29 – 2.45 0.013
Ethnicity Native Hawaiian
Pacific Islander
0.84 -2.07 – 3.75 0.571
Ethnicity Middle Eastern 0.57 -1.29 – 2.44 0.547
Ethnicity American Indian 1.64 -1.25 – 4.52 0.265
Random Effects
σ2 2.61 2.61 2.62
τ00 3.52 unique_ID 3.42 unique_ID 3.40 unique_ID
0.20 univ 0.25 univ 0.20 univ
ICC 0.59 0.58 0.58
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.001 / 0.588 0.024 / 0.594 0.041 / 0.597

SAS: Positive

Intention to Treat

m0 <- lmer(SAS_positive ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
#standardize_parameters(m0)
m1 <- lmer(SAS_positive ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
m2 <- lmer(SAS_positive ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
tab_model(m0, m1, m2)
  SAS positive SAS positive SAS positive
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 18.36 17.49 – 19.22 <0.001 13.42 8.95 – 17.89 <0.001 14.29 9.63 – 18.95 <0.001
condflourish vs control 0.53 -0.00 – 1.07 0.051 0.48 -0.04 – 1.00 0.069 0.51 -0.01 – 1.03 0.056
time - 2 5 -0.02 -0.21 – 0.16 0.796 -0.03 -0.22 – 0.16 0.764 -0.03 -0.22 – 0.16 0.736
condflourish vs control ×
time - 2 5
0.22 0.04 – 0.41 0.020 0.22 0.03 – 0.41 0.020 0.22 0.04 – 0.41 0.019
Sex [Woman] -0.49 -1.81 – 0.82 0.463 -0.53 -1.85 – 0.80 0.436
Age 0.12 -0.02 – 0.25 0.096 0.11 -0.03 – 0.25 0.118
int student [No] -1.57 -3.66 – 0.52 0.140 -2.23 -4.48 – 0.02 0.052
SES num 1.29 0.83 – 1.74 <0.001 1.22 0.75 – 1.69 <0.001
Ethnicity White 0.81 -0.60 – 2.22 0.260
Ethnicity Hispanic 0.31 -1.73 – 2.35 0.767
Ethnicity Black -1.77 -4.54 – 1.00 0.209
Ethnicity East Asian -0.31 -2.22 – 1.60 0.750
Ethnicity South Asian -1.52 -4.12 – 1.09 0.254
Ethnicity Native Hawaiian
Pacific Islander
-1.28 -9.28 – 6.71 0.753
Ethnicity Middle Eastern 0.31 -3.45 – 4.07 0.871
Ethnicity American Indian -2.75 -10.61 – 5.11 0.492
Random Effects
σ2 17.05 17.01 17.00
τ00 29.49 unique_ID 26.89 unique_ID 27.03 unique_ID
0.32 univ 0.77 univ 0.45 univ
ICC 0.64 0.62 0.62
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1577 1568 1568
Marginal R2 / Conditional R2 0.007 / 0.639 0.061 / 0.643 0.072 / 0.645

Excluded Preregistered

m0 <- lmer(SAS_positive ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
m1 <- lmer(SAS_positive ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
m2 <- lmer(SAS_positive ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
tab_model(m0, m1, m2)
  SAS positive SAS positive SAS positive
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 18.31 17.37 – 19.26 <0.001 13.54 8.78 – 18.29 <0.001 14.22 9.23 – 19.22 <0.001
condflourish vs control 0.73 0.16 – 1.30 0.012 0.66 0.11 – 1.21 0.019 0.71 0.15 – 1.27 0.013
time - 2 5 0.02 -0.17 – 0.22 0.806 0.02 -0.18 – 0.21 0.858 0.02 -0.18 – 0.21 0.864
condflourish vs control ×
time - 2 5
0.19 -0.01 – 0.39 0.059 0.18 -0.02 – 0.38 0.073 0.18 -0.02 – 0.38 0.071
Sex [Woman] -0.14 -1.61 – 1.33 0.856 -0.12 -1.61 – 1.37 0.874
Age 0.10 -0.04 – 0.24 0.156 0.10 -0.05 – 0.24 0.185
int student [No] -1.91 -4.09 – 0.26 0.085 -2.42 -4.77 – -0.08 0.043
SES num 1.35 0.86 – 1.83 <0.001 1.24 0.74 – 1.75 <0.001
Ethnicity White 0.86 -0.70 – 2.42 0.278
Ethnicity Hispanic -0.26 -2.58 – 2.07 0.829
Ethnicity Black -0.81 -3.88 – 2.25 0.604
Ethnicity East Asian -0.25 -2.29 – 1.79 0.812
Ethnicity South Asian -0.60 -3.35 – 2.15 0.668
Ethnicity Native Hawaiian
Pacific Islander
-1.26 -9.14 – 6.61 0.753
Ethnicity Middle Eastern 1.54 -2.34 – 5.43 0.435
Ethnicity American Indian -2.19 -10.01 – 5.62 0.582
Random Effects
σ2 16.93 16.94 16.95
τ00 27.99 unique_ID 25.48 unique_ID 25.79 unique_ID
0.39 univ 0.84 univ 0.53 univ
ICC 0.63 0.61 0.61
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1410 1404 1404
Marginal R2 / Conditional R2 0.012 / 0.631 0.072 / 0.637 0.078 / 0.639

Excluded Unreasonable Numbers

m0 <- lmer(SAS_positive ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m1 <- lmer(SAS_positive ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
m2 <- lmer(SAS_positive ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
tab_model(m0, m1, m2)
  SAS positive SAS positive SAS positive
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 18.19 17.22 – 19.16 <0.001 13.84 8.89 – 18.80 <0.001 14.80 9.68 – 19.93 <0.001
condflourish vs control 0.60 0.02 – 1.19 0.044 0.61 0.03 – 1.18 0.039 0.67 0.09 – 1.26 0.024
time - 2 5 -0.00 -0.21 – 0.20 0.975 -0.01 -0.21 – 0.19 0.919 -0.01 -0.22 – 0.19 0.914
condflourish vs control ×
time - 2 5
0.16 -0.04 – 0.37 0.122 0.15 -0.05 – 0.36 0.146 0.15 -0.05 – 0.36 0.145
Sex [Woman] -0.01 -1.53 – 1.51 0.988 -0.03 -1.57 – 1.51 0.973
Age 0.08 -0.06 – 0.23 0.259 0.07 -0.07 – 0.21 0.342
int student [No] -1.66 -4.05 – 0.73 0.173 -2.34 -4.85 – 0.17 0.068
SES num 1.26 0.75 – 1.76 <0.001 1.17 0.65 – 1.69 <0.001
Ethnicity White 0.90 -0.70 – 2.50 0.270
Ethnicity Hispanic -0.04 -2.40 – 2.32 0.973
Ethnicity Black -0.90 -4.05 – 2.25 0.575
Ethnicity East Asian -0.25 -2.34 – 1.83 0.813
Ethnicity South Asian -1.65 -4.56 – 1.26 0.267
Ethnicity Native Hawaiian
Pacific Islander
-1.28 -9.11 – 6.54 0.748
Ethnicity Middle Eastern 3.75 -1.28 – 8.77 0.144
Ethnicity American Indian -2.16 -9.92 – 5.61 0.586
Random Effects
σ2 16.66 16.64 16.65
τ00 27.22 unique_ID 25.29 unique_ID 25.39 unique_ID
0.42 univ 0.80 univ 0.42 univ
ICC 0.62 0.61 0.61
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1292 1289 1289
Marginal R2 / Conditional R2 0.009 / 0.627 0.059 / 0.634 0.072 / 0.636

SAS: Negative

Intention to Treat

options(scipen = 99)
m0 <- lmer(SAS_negative ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_negative ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(SAS_negative ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  SAS negative SAS negative SAS negative
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 12.69 12.16 – 13.23 <0.001 14.41 10.12 – 18.70 <0.001 12.76 8.23 – 17.29 <0.001
condflourish vs control -0.25 -0.78 – 0.29 0.366 -0.21 -0.73 – 0.31 0.431 -0.26 -0.78 – 0.27 0.335
time - 2 5 -0.12 -0.31 – 0.07 0.223 -0.12 -0.31 – 0.07 0.228 -0.12 -0.31 – 0.07 0.216
condflourish vs control ×
time - 2 5
0.00 -0.19 – 0.19 0.987 0.01 -0.19 – 0.20 0.956 0.01 -0.18 – 0.20 0.947
Sex [Woman] 1.70 0.38 – 3.03 0.012 1.75 0.42 – 3.07 0.010
Age -0.07 -0.20 – 0.06 0.269 -0.06 -0.20 – 0.07 0.338
int student [No] 2.03 -0.05 – 4.10 0.056 2.81 0.57 – 5.05 0.014
SES num -1.05 -1.51 – -0.60 <0.001 -0.99 -1.46 – -0.52 <0.001
Ethnicity White -0.02 -1.43 – 1.38 0.976
Ethnicity Hispanic 1.32 -0.71 – 3.36 0.202
Ethnicity Black 1.49 -1.27 – 4.25 0.290
Ethnicity East Asian 0.03 -1.87 – 1.93 0.973
Ethnicity South Asian 3.30 0.70 – 5.89 0.013
Ethnicity Native Hawaiian
Pacific Islander
2.88 -5.11 – 10.86 0.480
Ethnicity Middle Eastern 3.63 -0.12 – 7.38 0.058
Ethnicity American Indian 5.66 -2.19 – 13.52 0.158
Random Effects
σ2 17.75 17.59 17.58
τ00 29.49 unique_ID 27.29 unique_ID 26.88 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 486 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 1578 1569 1569
Marginal R2 / Conditional R2 0.005 / NA 0.124 / NA 0.171 / NA

Excluded Preregistered

m0 <- lmer(SAS_negative ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_negative ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(SAS_negative ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  SAS negative SAS negative SAS negative
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 12.43 11.86 – 13.01 <0.001 14.04 9.48 – 18.60 <0.001 12.67 7.83 – 17.51 <0.001
condflourish vs control -0.25 -0.82 – 0.33 0.402 -0.18 -0.74 – 0.38 0.530 -0.20 -0.76 – 0.36 0.492
time - 2 5 -0.14 -0.34 – 0.06 0.180 -0.13 -0.33 – 0.07 0.196 -0.14 -0.34 – 0.06 0.184
condflourish vs control ×
time - 2 5
-0.03 -0.23 – 0.17 0.772 -0.03 -0.23 – 0.17 0.803 -0.03 -0.23 – 0.17 0.800
Sex [Woman] 1.70 0.22 – 3.18 0.025 1.73 0.24 – 3.22 0.023
Age -0.06 -0.20 – 0.07 0.378 -0.05 -0.19 – 0.08 0.445
int student [No] 2.32 0.16 – 4.48 0.036 2.70 0.36 – 5.04 0.024
SES num -1.18 -1.67 – -0.69 <0.001 -1.18 -1.68 – -0.67 <0.001
Ethnicity White 0.58 -0.98 – 2.14 0.463
Ethnicity Hispanic 1.62 -0.69 – 3.93 0.169
Ethnicity Black 1.46 -1.59 – 4.51 0.348
Ethnicity East Asian 0.48 -1.54 – 2.50 0.640
Ethnicity South Asian 2.71 -0.02 – 5.44 0.051
Ethnicity Native Hawaiian
Pacific Islander
3.18 -4.68 – 11.03 0.428
Ethnicity Middle Eastern 3.72 -0.15 – 7.58 0.060
Ethnicity American Indian 6.61 -1.21 – 14.43 0.098
Random Effects
σ2 17.52 17.45 17.45
τ00 28.46 unique_ID 25.90 unique_ID 25.68 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 1411 1405 1405
Marginal R2 / Conditional R2 0.005 / NA 0.145 / NA 0.178 / NA

Excluded Unreasonable Numbers

m0 <- lmer(SAS_negative ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(SAS_negative ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(SAS_negative ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  SAS negative SAS negative SAS negative
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 12.41 11.81 – 13.01 <0.001 13.63 8.84 – 18.43 <0.001 12.20 7.16 – 17.24 <0.001
condflourish vs control -0.27 -0.87 – 0.33 0.382 -0.24 -0.82 – 0.34 0.420 -0.23 -0.82 – 0.36 0.435
time - 2 5 -0.18 -0.39 – 0.03 0.088 -0.18 -0.39 – 0.02 0.085 -0.19 -0.39 – 0.02 0.079
condflourish vs control ×
time - 2 5
-0.07 -0.28 – 0.13 0.488 -0.08 -0.28 – 0.13 0.473 -0.07 -0.28 – 0.13 0.478
Sex [Woman] 1.88 0.34 – 3.41 0.017 1.98 0.43 – 3.54 0.012
Age -0.04 -0.18 – 0.09 0.535 -0.03 -0.17 – 0.11 0.659
int student [No] 2.35 -0.03 – 4.73 0.053 2.73 0.21 – 5.25 0.034
SES num -1.24 -1.75 – -0.73 <0.001 -1.19 -1.71 – -0.66 <0.001
Ethnicity White 0.44 -1.17 – 2.06 0.588
Ethnicity Hispanic 1.23 -1.13 – 3.59 0.306
Ethnicity Black 1.02 -2.14 – 4.18 0.526
Ethnicity East Asian 0.13 -1.96 – 2.22 0.903
Ethnicity South Asian 3.09 0.17 – 6.01 0.038
Ethnicity Native Hawaiian
Pacific Islander
3.13 -4.74 – 11.00 0.435
Ethnicity Middle Eastern 0.25 -4.80 – 5.30 0.923
Ethnicity American Indian 6.53 -1.30 – 14.36 0.102
Random Effects
σ2 17.07 17.08 17.08
τ00 28.49 unique_ID 25.76 unique_ID 25.75 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 1293 1290 1290
Marginal R2 / Conditional R2 0.007 / NA 0.156 / NA 0.183 / NA
# set up data for pre vs. post analyses

# intention to treat
data_ITT_factor <- data_ITT |> 
  dplyr::filter(time == 1 | time == 4) |> 
  dplyr::mutate(time_factor = as.factor(time)) |> 
  dplyr::mutate(cond_factor = as.factor(cond))

contrasts(data_ITT_factor$time_factor) <- c(-1,1)

# excluded data
data_excluded_factor <- data_excluded |> 
  dplyr::filter(time == 1 | time == 4) |> 
  dplyr::mutate(time_factor = as.factor(time)) |> 
  dplyr::mutate(cond_factor = as.factor(cond))

contrasts(data_excluded_factor$time_factor) <- c(-1,1)

# excluded unreasonable
data_excluded_unreasonable_factor <- data_excluded_unreasonable |> 
  dplyr::filter(time == 1 | time == 4) |> 
  dplyr::mutate(time_factor = as.factor(time)) |> 
  dplyr::mutate(cond_factor = as.factor(cond))

contrasts(data_excluded_unreasonable_factor$time_factor) <- c(-1,1)

Flourishing Score

Intention to Treat

m0 <- lmer(flourishing ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
#standardize_parameters(m0)
m1 <- lmer(flourishing ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(flourishing ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  flourishing flourishing flourishing
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 44.44 43.01 – 45.88 <0.001 38.14 33.33 – 42.95 <0.001 39.93 34.99 – 44.87 <0.001
condflourish vs control 0.13 -0.42 – 0.68 0.648 0.08 -0.46 – 0.62 0.763 0.14 -0.40 – 0.68 0.606
time - 2 5 -0.03 -0.21 – 0.14 0.716 -0.03 -0.21 – 0.14 0.720 -0.03 -0.21 – 0.14 0.705
condflourish vs control ×
time - 2 5
0.19 0.02 – 0.36 0.032 0.19 0.02 – 0.36 0.031 0.19 0.02 – 0.37 0.028
Sex [Woman] 0.40 -0.96 – 1.75 0.564 0.33 -1.03 – 1.68 0.637
Age 0.11 -0.03 – 0.25 0.129 0.09 -0.05 – 0.23 0.209
int student [No] -0.81 -2.98 – 1.36 0.464 -2.03 -4.35 – 0.29 0.086
SES num 1.32 0.85 – 1.79 <0.001 1.26 0.78 – 1.74 <0.001
Ethnicity White 0.88 -0.56 – 2.33 0.232
Ethnicity Hispanic 0.45 -1.63 – 2.54 0.670
Ethnicity Black -1.28 -4.12 – 1.57 0.378
Ethnicity East Asian -1.03 -3.00 – 0.94 0.306
Ethnicity South Asian -2.90 -5.58 – -0.22 0.034
Ethnicity Native Hawaiian
Pacific Islander
-4.92 -13.14 – 3.29 0.240
Ethnicity Middle Eastern -0.62 -4.54 – 3.30 0.757
Ethnicity American Indian -3.24 -11.40 – 4.91 0.435
Random Effects
σ2 12.77 12.77 12.78
τ00 29.89 unique_ID 27.66 unique_ID 27.24 unique_ID
1.30 univ 1.89 univ 1.31 univ
ICC 0.71 0.70 0.69
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 832 829 829
Marginal R2 / Conditional R2 0.002 / 0.710 0.055 / 0.715 0.080 / 0.716

Excluded Preregistered

m0 <- lmer(flourishing ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m1 <- lmer(flourishing ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m2 <- lmer(flourishing ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
tab_model(m0, m1, m2)
  flourishing flourishing flourishing
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 44.61 43.13 – 46.08 <0.001 38.17 32.96 – 43.38 <0.001 40.05 34.66 – 45.44 <0.001
condflourish vs control 0.15 -0.45 – 0.76 0.621 0.10 -0.49 – 0.69 0.743 0.18 -0.42 – 0.78 0.555
time - 2 5 -0.05 -0.23 – 0.14 0.612 -0.05 -0.23 – 0.14 0.607 -0.05 -0.23 – 0.14 0.609
condflourish vs control ×
time - 2 5
0.18 -0.01 – 0.36 0.060 0.17 -0.01 – 0.36 0.068 0.18 -0.01 – 0.36 0.063
Sex [Woman] 0.97 -0.60 – 2.55 0.225 0.92 -0.66 – 2.51 0.253
Age 0.11 -0.04 – 0.26 0.158 0.09 -0.06 – 0.24 0.229
int student [No] -0.74 -3.07 – 1.58 0.531 -1.82 -4.30 – 0.67 0.152
SES num 1.21 0.69 – 1.73 <0.001 1.13 0.60 – 1.67 <0.001
Ethnicity White 0.60 -1.05 – 2.26 0.475
Ethnicity Hispanic -0.07 -2.53 – 2.40 0.957
Ethnicity Black -1.41 -4.66 – 1.85 0.397
Ethnicity East Asian -1.57 -3.74 – 0.60 0.157
Ethnicity South Asian -2.34 -5.25 – 0.58 0.116
Ethnicity Native Hawaiian
Pacific Islander
-5.45 -13.71 – 2.80 0.195
Ethnicity Middle Eastern -0.86 -5.02 – 3.30 0.686
Ethnicity American Indian -3.38 -11.56 – 4.81 0.418
Random Effects
σ2 13.12 13.17 13.21
τ00 29.04 unique_ID 27.22 unique_ID 26.97 unique_ID
1.34 univ 1.73 univ 1.10 univ
ICC 0.70 0.69 0.68
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 711 709 709
Marginal R2 / Conditional R2 0.002 / 0.699 0.049 / 0.703 0.071 / 0.703

Excluded Unreasonable Numbers

m0 <- lmer(flourishing ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m1 <- lmer(flourishing ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m2 <- lmer(flourishing ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
tab_model(m0, m1, m2)
  flourishing flourishing flourishing
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 44.61 43.25 – 45.97 <0.001 38.23 32.94 – 43.51 <0.001 40.00 34.59 – 45.41 <0.001
condflourish vs control 0.15 -0.47 – 0.76 0.641 0.13 -0.47 – 0.74 0.666 0.21 -0.40 – 0.82 0.500
time - 2 5 0.02 -0.17 – 0.21 0.811 0.02 -0.17 – 0.21 0.816 0.02 -0.17 – 0.21 0.817
condflourish vs control ×
time - 2 5
0.25 0.06 – 0.44 0.011 0.24 0.05 – 0.44 0.013 0.24 0.05 – 0.44 0.012
Sex [Woman] 0.83 -0.78 – 2.43 0.311 0.73 -0.88 – 2.34 0.373
Age 0.09 -0.06 – 0.24 0.243 0.07 -0.08 – 0.22 0.369
int student [No] -0.20 -2.72 – 2.31 0.875 -1.26 -3.88 – 1.36 0.346
SES num 1.22 0.68 – 1.75 <0.001 1.13 0.59 – 1.67 <0.001
Ethnicity White 0.83 -0.84 – 2.51 0.329
Ethnicity Hispanic 0.54 -1.93 – 3.01 0.667
Ethnicity Black -0.97 -4.27 – 2.33 0.563
Ethnicity East Asian -1.30 -3.49 – 0.88 0.242
Ethnicity South Asian -2.64 -5.68 – 0.40 0.089
Ethnicity Native Hawaiian
Pacific Islander
-5.37 -13.45 – 2.71 0.192
Ethnicity Middle Eastern 2.25 -3.12 – 7.61 0.412
Ethnicity American Indian -3.28 -11.28 – 4.73 0.422
Random Effects
σ2 12.93 12.97 13.01
τ00 27.58 unique_ID 25.88 unique_ID 25.51 unique_ID
1.08 univ 1.36 univ 0.74 univ
ICC 0.69 0.68 0.67
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.004 / 0.690 0.050 / 0.693 0.077 / 0.694

Social Fit

Intention to Treat

m0 <- lmer(social_fit ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m1 <- lmer(social_fit ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(social_fit ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  social fit social fit social fit
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.19 5.92 – 6.45 <0.001 5.30 4.27 – 6.34 <0.001 5.43 4.35 – 6.51 <0.001
condflourish vs control 0.09 -0.03 – 0.21 0.139 0.08 -0.04 – 0.20 0.166 0.11 -0.01 – 0.23 0.061
time - 2 5 -0.01 -0.05 – 0.04 0.685 -0.01 -0.05 – 0.04 0.689 -0.01 -0.05 – 0.03 0.672
condflourish vs control ×
time - 2 5
-0.00 -0.05 – 0.04 0.862 -0.00 -0.05 – 0.04 0.850 -0.00 -0.05 – 0.04 0.856
Sex [Woman] -0.05 -0.35 – 0.25 0.742 -0.06 -0.36 – 0.24 0.707
Age 0.01 -0.02 – 0.05 0.352 0.02 -0.01 – 0.05 0.292
int student [No] -0.01 -0.49 – 0.47 0.980 -0.03 -0.54 – 0.48 0.908
SES num 0.19 0.08 – 0.29 <0.001 0.16 0.05 – 0.27 0.003
Ethnicity White 0.19 -0.13 – 0.51 0.246
Ethnicity Hispanic -0.43 -0.89 – 0.03 0.068
Ethnicity Black -0.72 -1.35 – -0.09 0.025
Ethnicity East Asian -0.11 -0.54 – 0.33 0.623
Ethnicity South Asian 0.02 -0.57 – 0.61 0.944
Ethnicity Native Hawaiian
Pacific Islander
-0.98 -2.78 – 0.82 0.285
Ethnicity Middle Eastern -0.85 -1.71 – 0.02 0.056
Ethnicity American Indian -1.14 -2.93 – 0.65 0.210
Random Effects
σ2 0.85 0.85 0.85
τ00 1.27 unique_ID 1.24 unique_ID 1.19 unique_ID
0.04 univ 0.04 univ 0.05 univ
ICC 0.61 0.60 0.59
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 833 829 829
Marginal R2 / Conditional R2 0.004 / 0.609 0.026 / 0.611 0.061 / 0.619

Excluded Preregistered

m0 <- lmer(social_fit ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m1 <- lmer(social_fit ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m2 <- lmer(social_fit ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
tab_model(m0, m1, m2)
  social fit social fit social fit
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.22 5.94 – 6.49 <0.001 5.27 4.15 – 6.40 <0.001 5.33 4.15 – 6.51 <0.001
condflourish vs control 0.14 0.01 – 0.27 0.036 0.13 -0.01 – 0.26 0.061 0.15 0.02 – 0.29 0.021
time - 2 5 -0.02 -0.07 – 0.03 0.443 -0.02 -0.07 – 0.03 0.439 -0.02 -0.07 – 0.03 0.440
condflourish vs control ×
time - 2 5
-0.00 -0.05 – 0.04 0.878 -0.00 -0.05 – 0.04 0.858 -0.00 -0.05 – 0.04 0.913
Sex [Woman] -0.02 -0.37 – 0.33 0.901 -0.01 -0.36 – 0.33 0.933
Age 0.02 -0.01 – 0.06 0.138 0.03 -0.01 – 0.06 0.121
int student [No] -0.06 -0.57 – 0.45 0.814 -0.09 -0.64 – 0.45 0.740
SES num 0.15 0.03 – 0.26 0.012 0.12 0.01 – 0.24 0.040
Ethnicity White 0.25 -0.11 – 0.62 0.171
Ethnicity Hispanic -0.33 -0.87 – 0.21 0.228
Ethnicity Black -0.42 -1.13 – 0.30 0.254
Ethnicity East Asian -0.14 -0.62 – 0.34 0.562
Ethnicity South Asian 0.28 -0.36 – 0.92 0.390
Ethnicity Native Hawaiian
Pacific Islander
-0.98 -2.79 – 0.83 0.287
Ethnicity Middle Eastern -0.81 -1.72 – 0.11 0.084
Ethnicity American Indian -1.10 -2.89 – 0.70 0.230
Random Effects
σ2 0.87 0.88 0.88
τ00 1.23 unique_ID 1.21 unique_ID 1.17 unique_ID
0.04 univ 0.05 univ 0.05 univ
ICC 0.59 0.59 0.58
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 712 709 709
Marginal R2 / Conditional R2 0.010 / 0.598 0.027 / 0.600 0.059 / 0.607

Excluded Unreasonable Numbers

m0 <- lmer(social_fit ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m1 <- lmer(social_fit ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m2 <- lmer(social_fit ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
tab_model(m0, m1, m2)
  social fit social fit social fit
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 6.19 5.92 – 6.46 <0.001 5.24 4.07 – 6.42 <0.001 5.31 4.08 – 6.54 <0.001
condflourish vs control 0.11 -0.03 – 0.24 0.129 0.10 -0.04 – 0.24 0.152 0.12 -0.02 – 0.26 0.088
time - 2 5 -0.02 -0.07 – 0.03 0.447 -0.02 -0.07 – 0.03 0.449 -0.02 -0.07 – 0.03 0.436
condflourish vs control ×
time - 2 5
-0.00 -0.05 – 0.05 0.874 -0.00 -0.05 – 0.04 0.863 -0.00 -0.05 – 0.05 0.906
Sex [Woman] -0.01 -0.37 – 0.35 0.960 0.00 -0.36 – 0.37 0.987
Age 0.02 -0.01 – 0.06 0.213 0.02 -0.01 – 0.06 0.207
int student [No] -0.02 -0.59 – 0.54 0.939 -0.08 -0.67 – 0.52 0.801
SES num 0.16 0.04 – 0.28 0.009 0.13 0.00 – 0.25 0.045
Ethnicity White 0.30 -0.08 – 0.67 0.127
Ethnicity Hispanic -0.21 -0.77 – 0.34 0.449
Ethnicity Black -0.38 -1.12 – 0.37 0.323
Ethnicity East Asian -0.01 -0.50 – 0.48 0.967
Ethnicity South Asian 0.24 -0.45 – 0.92 0.496
Ethnicity Native Hawaiian
Pacific Islander
-0.87 -2.69 – 0.95 0.346
Ethnicity Middle Eastern -0.87 -2.09 – 0.35 0.162
Ethnicity American Indian -1.01 -2.81 – 0.79 0.270
Random Effects
σ2 0.86 0.86 0.86
τ00 1.23 unique_ID 1.21 unique_ID 1.19 unique_ID
0.04 univ 0.04 univ 0.04 univ
ICC 0.60 0.59 0.59
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.006 / 0.599 0.024 / 0.603 0.051 / 0.611

Cohesion

Intention to Treat

m0 <- lmer(cohesion ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
#standardize_parameters(m0)
m1 <- lmer(cohesion ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(cohesion ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  cohesion cohesion cohesion
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.68 5.33 – 6.04 <0.001 4.37 2.84 – 5.90 <0.001 4.32 2.73 – 5.92 <0.001
condflourish vs control 0.11 -0.08 – 0.29 0.252 0.12 -0.06 – 0.30 0.186 0.16 -0.02 – 0.34 0.083
time - 2 5 0.08 0.03 – 0.14 0.001 0.08 0.03 – 0.14 0.002 0.08 0.03 – 0.13 0.002
condflourish vs control ×
time - 2 5
0.06 0.01 – 0.11 0.029 0.06 0.01 – 0.11 0.027 0.06 0.01 – 0.11 0.026
Sex [Woman] 0.78 0.33 – 1.23 0.001 0.75 0.30 – 1.20 0.001
Age -0.02 -0.07 – 0.03 0.440 -0.01 -0.06 – 0.03 0.553
int student [No] 0.29 -0.44 – 1.01 0.439 0.35 -0.43 – 1.13 0.378
SES num 0.25 0.09 – 0.40 0.002 0.22 0.06 – 0.38 0.008
Ethnicity White 0.28 -0.20 – 0.77 0.251
Ethnicity Hispanic -0.22 -0.91 – 0.48 0.538
Ethnicity Black -0.82 -1.77 – 0.13 0.090
Ethnicity East Asian -0.17 -0.83 – 0.49 0.609
Ethnicity South Asian 0.47 -0.43 – 1.36 0.308
Ethnicity Native Hawaiian
Pacific Islander
-2.45 -5.20 – 0.31 0.082
Ethnicity Middle Eastern -0.86 -2.17 – 0.45 0.196
Ethnicity American Indian -1.68 -4.42 – 1.06 0.228
Random Effects
σ2 1.13 1.14 1.14
τ00 3.46 unique_ID 3.29 unique_ID 3.23 unique_ID
0.07 univ 0.05 univ 0.04 univ
ICC 0.76 0.75 0.74
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 833 829 829
Marginal R2 / Conditional R2 0.007 / 0.758 0.046 / 0.758 0.075 / 0.762

Excluded Preregistered

m0 <- lmer(cohesion ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m1 <- lmer(cohesion ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m2 <- lmer(cohesion ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
tab_model(m0, m1, m2)
  cohesion cohesion cohesion
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.60 5.14 – 6.07 <0.001 4.00 2.29 – 5.71 <0.001 3.90 2.12 – 5.67 <0.001
condflourish vs control 0.17 -0.03 – 0.38 0.093 0.19 -0.01 – 0.40 0.059 0.24 0.03 – 0.44 0.023
time - 2 5 0.08 0.02 – 0.13 0.007 0.08 0.02 – 0.13 0.007 0.08 0.02 – 0.13 0.007
condflourish vs control ×
time - 2 5
0.05 -0.00 – 0.11 0.066 0.05 -0.00 – 0.11 0.073 0.05 -0.00 – 0.11 0.066
Sex [Woman] 0.97 0.43 – 1.51 <0.001 0.97 0.43 – 1.50 <0.001
Age -0.01 -0.06 – 0.04 0.747 -0.01 -0.06 – 0.04 0.802
int student [No] 0.31 -0.48 – 1.10 0.440 0.40 -0.45 – 1.24 0.353
SES num 0.22 0.04 – 0.40 0.014 0.18 -0.00 – 0.36 0.052
Ethnicity White 0.41 -0.16 – 0.97 0.156
Ethnicity Hispanic -0.31 -1.14 – 0.53 0.472
Ethnicity Black -0.42 -1.52 – 0.68 0.458
Ethnicity East Asian -0.01 -0.74 – 0.73 0.985
Ethnicity South Asian 0.81 -0.18 – 1.80 0.109
Ethnicity Native Hawaiian
Pacific Islander
-2.29 -5.09 – 0.52 0.110
Ethnicity Middle Eastern -0.72 -2.13 – 0.69 0.314
Ethnicity American Indian -1.48 -4.27 – 1.30 0.296
Random Effects
σ2 1.15 1.16 1.16
τ00 3.50 unique_ID 3.38 unique_ID 3.32 unique_ID
0.13 univ 0.06 univ 0.04 univ
ICC 0.76 0.75 0.74
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 712 709 709
Marginal R2 / Conditional R2 0.010 / 0.761 0.050 / 0.761 0.083 / 0.764

Excluded Unreasonable Numbers

m0 <- lmer(cohesion ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m1 <- lmer(cohesion ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m2 <- lmer(cohesion ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
tab_model(m0, m1, m2)
  cohesion cohesion cohesion
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 5.57 5.06 – 6.09 <0.001 3.63 1.79 – 5.46 <0.001 3.67 1.78 – 5.57 <0.001
condflourish vs control 0.16 -0.06 – 0.37 0.158 0.17 -0.04 – 0.39 0.118 0.21 -0.01 – 0.43 0.057
time - 2 5 0.08 0.03 – 0.14 0.003 0.08 0.03 – 0.14 0.003 0.08 0.03 – 0.14 0.003
condflourish vs control ×
time - 2 5
0.06 0.00 – 0.12 0.036 0.06 0.00 – 0.12 0.039 0.06 0.00 – 0.12 0.036
Sex [Woman] 0.96 0.39 – 1.53 0.001 0.96 0.38 – 1.53 0.001
Age -0.00 -0.06 – 0.05 0.913 -0.00 -0.06 – 0.05 0.893
int student [No] 0.58 -0.32 – 1.47 0.205 0.59 -0.34 – 1.52 0.215
SES num 0.22 0.03 – 0.41 0.022 0.17 -0.02 – 0.36 0.084
Ethnicity White 0.41 -0.19 – 1.00 0.178
Ethnicity Hispanic -0.28 -1.16 – 0.59 0.529
Ethnicity Black -0.41 -1.58 – 0.76 0.488
Ethnicity East Asian 0.06 -0.72 – 0.84 0.878
Ethnicity South Asian 0.66 -0.42 – 1.74 0.232
Ethnicity Native Hawaiian
Pacific Islander
-2.26 -5.14 – 0.62 0.124
Ethnicity Middle Eastern -0.40 -2.30 – 1.50 0.680
Ethnicity American Indian -1.47 -4.33 – 1.39 0.312
Random Effects
σ2 1.10 1.10 1.10
τ00 3.69 unique_ID 3.57 unique_ID 3.54 unique_ID
0.16 univ 0.08 univ 0.04 univ
ICC 0.78 0.77 0.77
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.009 / 0.780 0.049 / 0.779 0.076 / 0.783

Mindfulness

Intention to Treat

m0 <- lmer(mindfulness_rev ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
## boundary (singular) fit: see help('isSingular')
#standardize_parameters(m0)
m1 <- lmer(mindfulness_rev ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(mindfulness_rev ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  mindfulness rev mindfulness rev mindfulness rev
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 14.81 14.31 – 15.30 <0.001 11.33 7.42 – 15.24 <0.001 11.69 7.52 – 15.85 <0.001
condflourish vs control 0.20 -0.30 – 0.70 0.430 0.11 -0.37 – 0.59 0.655 0.13 -0.36 – 0.61 0.607
time - 2 5 -0.34 -0.53 – -0.16 <0.001 -0.34 -0.52 – -0.16 <0.001 -0.34 -0.52 – -0.15 <0.001
condflourish vs control ×
time - 2 5
0.19 0.00 – 0.37 0.044 0.19 0.01 – 0.38 0.039 0.19 0.01 – 0.38 0.041
Sex [Woman] -1.79 -2.99 – -0.58 0.004 -1.81 -3.02 – -0.59 0.004
Age 0.22 0.10 – 0.34 <0.001 0.22 0.10 – 0.34 <0.001
int student [No] -2.45 -4.34 – -0.56 0.011 -2.48 -4.53 – -0.42 0.018
SES num 0.81 0.40 – 1.23 <0.001 0.76 0.33 – 1.19 0.001
Ethnicity White 0.03 -1.26 – 1.32 0.963
Ethnicity Hispanic -1.07 -2.93 – 0.79 0.259
Ethnicity Black -0.45 -2.98 – 2.08 0.726
Ethnicity East Asian 0.35 -1.40 – 2.10 0.698
Ethnicity South Asian -0.61 -2.98 – 1.77 0.616
Ethnicity Native Hawaiian
Pacific Islander
0.85 -6.42 – 8.12 0.818
Ethnicity Middle Eastern -1.13 -4.62 – 2.37 0.528
Ethnicity American Indian -6.39 -13.63 – 0.84 0.083
Random Effects
σ2 14.63 14.59 14.57
τ00 21.51 unique_ID 19.05 unique_ID 19.20 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 833 829 829
Marginal R2 / Conditional R2 0.024 / NA 0.182 / NA 0.199 / NA

Excluded Preregistered

m0 <- lmer(mindfulness_rev ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(mindfulness_rev ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(mindfulness_rev ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  mindfulness rev mindfulness rev mindfulness rev
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 14.94 14.40 – 15.48 <0.001 11.42 7.25 – 15.59 <0.001 11.09 6.63 – 15.54 <0.001
condflourish vs control 0.30 -0.23 – 0.84 0.268 0.19 -0.32 – 0.71 0.459 0.19 -0.32 – 0.71 0.464
time - 2 5 -0.37 -0.56 – -0.17 <0.001 -0.37 -0.56 – -0.17 <0.001 -0.37 -0.56 – -0.17 <0.001
condflourish vs control ×
time - 2 5
0.23 0.03 – 0.42 0.022 0.23 0.04 – 0.42 0.019 0.23 0.04 – 0.42 0.018
Sex [Woman] -1.54 -2.89 – -0.18 0.026 -1.56 -2.93 – -0.18 0.026
Age 0.21 0.09 – 0.33 0.001 0.22 0.09 – 0.34 0.001
int student [No] -2.80 -4.78 – -0.83 0.005 -2.43 -4.57 – -0.28 0.027
SES num 0.94 0.49 – 1.39 <0.001 0.94 0.48 – 1.41 <0.001
Ethnicity White -0.15 -1.59 – 1.29 0.841
Ethnicity Hispanic -0.79 -2.91 – 1.33 0.465
Ethnicity Black -0.89 -3.70 – 1.92 0.533
Ethnicity East Asian 0.33 -1.54 – 2.20 0.729
Ethnicity South Asian 0.39 -2.11 – 2.89 0.757
Ethnicity Native Hawaiian
Pacific Islander
0.91 -6.20 – 8.02 0.802
Ethnicity Middle Eastern -2.15 -5.75 – 1.46 0.243
Ethnicity American Indian -6.45 -13.52 – 0.62 0.074
Random Effects
σ2 14.51 14.48 14.48
τ00 20.50 unique_ID 17.72 unique_ID 17.83 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC 0.59    
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 712 709 709
Marginal R2 / Conditional R2 0.013 / 0.591 0.200 / NA 0.218 / NA

Excluded Unreasonable Numbers

m0 <- lmer(mindfulness_rev ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(mindfulness_rev ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(mindfulness_rev ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  mindfulness rev mindfulness rev mindfulness rev
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 14.90 14.35 – 15.45 <0.001 10.74 6.40 – 15.09 <0.001 10.51 5.94 – 15.09 <0.001
condflourish vs control 0.26 -0.29 – 0.81 0.354 0.20 -0.33 – 0.73 0.449 0.21 -0.32 – 0.75 0.435
time - 2 5 -0.37 -0.57 – -0.17 <0.001 -0.38 -0.58 – -0.18 <0.001 -0.38 -0.58 – -0.18 <0.001
condflourish vs control ×
time - 2 5
0.22 0.02 – 0.42 0.032 0.22 0.02 – 0.42 0.033 0.21 0.01 – 0.41 0.036
Sex [Woman] -1.39 -2.78 – 0.01 0.051 -1.48 -2.89 – -0.07 0.039
Age 0.20 0.07 – 0.32 0.002 0.20 0.07 – 0.32 0.002
int student [No] -2.32 -4.47 – -0.17 0.035 -2.14 -4.42 – 0.14 0.065
SES num 1.06 0.59 – 1.52 <0.001 1.03 0.55 – 1.50 <0.001
Ethnicity White 0.17 -1.30 – 1.64 0.818
Ethnicity Hispanic -0.19 -2.33 – 1.95 0.860
Ethnicity Black -0.25 -3.13 – 2.63 0.867
Ethnicity East Asian 0.92 -0.99 – 2.82 0.345
Ethnicity South Asian 0.19 -2.45 – 2.83 0.889
Ethnicity Native Hawaiian
Pacific Islander
1.36 -5.66 – 8.38 0.704
Ethnicity Middle Eastern 3.86 -0.86 – 8.58 0.109
Ethnicity American Indian -6.05 -13.04 – 0.93 0.089
Random Effects
σ2 14.21 14.23 14.23
τ00 19.85 unique_ID 17.17 unique_ID 17.23 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.033 / NA 0.196 / NA 0.219 / NA

Emotional Resilience

Intention to Treat

m0 <- lmer(emo_res ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
#standardize_parameters(m0)
m1 <- lmer(emo_res ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(emo_res ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  emo res emo res emo res
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 18.99 18.61 – 19.37 <0.001 18.46 15.42 – 21.50 <0.001 19.01 15.79 – 22.23 <0.001
condflourish vs control -0.02 -0.40 – 0.36 0.906 -0.06 -0.43 – 0.31 0.732 -0.04 -0.41 – 0.34 0.848
time - 2 5 0.09 -0.02 – 0.20 0.094 0.10 -0.01 – 0.21 0.078 0.10 -0.01 – 0.21 0.080
condflourish vs control ×
time - 2 5
0.11 0.00 – 0.22 0.047 0.11 0.00 – 0.22 0.041 0.11 0.00 – 0.22 0.041
Sex [Woman] -2.23 -3.16 – -1.30 <0.001 -2.19 -3.12 – -1.25 <0.001
Age 0.06 -0.03 – 0.15 0.205 0.06 -0.04 – 0.15 0.229
int student [No] -0.72 -2.19 – 0.76 0.342 -1.02 -2.62 – 0.58 0.210
SES num 0.53 0.21 – 0.86 0.001 0.47 0.14 – 0.81 0.006
Ethnicity White 0.20 -0.80 – 1.20 0.696
Ethnicity Hispanic -0.94 -2.37 – 0.49 0.198
Ethnicity Black -0.37 -2.33 – 1.58 0.707
Ethnicity East Asian 0.42 -0.93 – 1.77 0.546
Ethnicity South Asian -1.28 -3.13 – 0.57 0.174
Ethnicity Native Hawaiian
Pacific Islander
-1.40 -7.09 – 4.28 0.628
Ethnicity Middle Eastern -0.98 -3.68 – 1.72 0.476
Ethnicity American Indian 3.31 -2.34 – 8.97 0.251
Random Effects
σ2 5.09 5.08 5.08
τ00 14.78 unique_ID 13.66 unique_ID 13.66 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC 0.74 0.73 0.73
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 832 829 829
Marginal R2 / Conditional R2 0.002 / 0.744 0.070 / 0.748 0.084 / 0.752

Excluded Preregistered

m0 <- lmer(emo_res ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(emo_res ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(emo_res ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  emo res emo res emo res
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 18.94 18.53 – 19.36 <0.001 17.86 14.57 – 21.16 <0.001 17.94 14.43 – 21.46 <0.001
condflourish vs control 0.18 -0.24 – 0.60 0.395 0.12 -0.29 – 0.52 0.565 0.14 -0.27 – 0.55 0.494
time - 2 5 0.12 0.00 – 0.24 0.043 0.12 0.00 – 0.23 0.045 0.12 0.00 – 0.24 0.044
condflourish vs control ×
time - 2 5
0.09 -0.02 – 0.21 0.113 0.10 -0.02 – 0.21 0.105 0.10 -0.02 – 0.21 0.104
Sex [Woman] -1.99 -3.06 – -0.92 <0.001 -1.87 -2.95 – -0.78 0.001
Age 0.08 -0.02 – 0.18 0.106 0.08 -0.02 – 0.18 0.115
int student [No] -1.08 -2.64 – 0.48 0.176 -1.15 -2.85 – 0.55 0.185
SES num 0.63 0.27 – 0.98 0.001 0.57 0.21 – 0.94 0.002
Ethnicity White 0.25 -0.88 – 1.39 0.658
Ethnicity Hispanic -1.00 -2.67 – 0.67 0.240
Ethnicity Black -0.17 -2.39 – 2.04 0.877
Ethnicity East Asian 0.69 -0.78 – 2.16 0.355
Ethnicity South Asian -0.69 -2.67 – 1.29 0.494
Ethnicity Native Hawaiian
Pacific Islander
-1.17 -6.81 – 4.47 0.684
Ethnicity Middle Eastern -0.58 -3.41 – 2.26 0.690
Ethnicity American Indian 3.61 -2.00 – 9.22 0.207
Random Effects
σ2 5.18 5.18 5.18
τ00 14.35 unique_ID 13.14 unique_ID 13.20 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC     0.72
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 711 709 709
Marginal R2 / Conditional R2 0.016 / NA 0.228 / NA 0.090 / 0.744

Excluded Unreasonable Numbers

m0 <- lmer(emo_res ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(emo_res ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(emo_res ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  emo res emo res emo res
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 18.91 18.47 – 19.35 <0.001 17.45 13.95 – 20.95 <0.001 17.45 13.76 – 21.13 <0.001
condflourish vs control 0.15 -0.29 – 0.59 0.495 0.11 -0.32 – 0.53 0.614 0.14 -0.29 – 0.57 0.517
time - 2 5 0.15 0.03 – 0.27 0.015 0.15 0.03 – 0.27 0.015 0.15 0.03 – 0.27 0.014
condflourish vs control ×
time - 2 5
0.12 0.00 – 0.25 0.044 0.13 0.01 – 0.25 0.040 0.13 0.01 – 0.25 0.041
Sex [Woman] -2.05 -3.17 – -0.93 <0.001 -1.94 -3.08 – -0.81 0.001
Age 0.07 -0.03 – 0.17 0.159 0.07 -0.03 – 0.17 0.190
int student [No] -0.65 -2.39 – 1.09 0.465 -0.79 -2.63 – 1.05 0.398
SES num 0.70 0.32 – 1.07 <0.001 0.62 0.24 – 1.00 0.002
Ethnicity White 0.60 -0.58 – 1.78 0.316
Ethnicity Hispanic -0.71 -2.43 – 1.02 0.421
Ethnicity Black 0.15 -2.16 – 2.45 0.902
Ethnicity East Asian 1.07 -0.46 – 2.59 0.171
Ethnicity South Asian -0.60 -2.73 – 1.53 0.578
Ethnicity Native Hawaiian
Pacific Islander
-0.87 -6.55 – 4.81 0.764
Ethnicity Middle Eastern 1.91 -1.84 – 5.66 0.318
Ethnicity American Indian 3.87 -1.78 – 9.52 0.179
Random Effects
σ2 5.12 5.12 5.11
τ00 14.69 unique_ID 13.40 unique_ID 13.41 unique_ID
0.00 univ 0.00 univ 0.00 univ
ICC 0.74    
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.005 / 0.743 0.238 / NA 0.279 / NA

School Satisfaction

Intention to Treat

m0 <- lmer(school_satis ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m1 <- lmer(school_satis ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(school_satis ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  school satis school satis school satis
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.54 4.35 – 4.72 <0.001 3.31 2.67 – 3.94 <0.001 3.57 2.94 – 4.21 <0.001
condflourish vs control 0.03 -0.04 – 0.11 0.387 0.03 -0.04 – 0.10 0.393 0.04 -0.03 – 0.11 0.244
time - 2 5 0.03 0.01 – 0.05 0.018 0.03 0.00 – 0.05 0.026 0.03 0.00 – 0.05 0.028
condflourish vs control ×
time - 2 5
0.01 -0.02 – 0.03 0.612 0.00 -0.02 – 0.03 0.702 0.01 -0.02 – 0.03 0.669
Sex [Woman] 0.20 0.02 – 0.38 0.032 0.17 -0.00 – 0.35 0.056
Age 0.02 0.00 – 0.04 0.045 0.02 0.00 – 0.04 0.044
int student [No] 0.07 -0.22 – 0.37 0.618 -0.07 -0.38 – 0.23 0.639
SES num 0.18 0.12 – 0.24 <0.001 0.16 0.10 – 0.23 <0.001
Ethnicity White 0.10 -0.09 – 0.29 0.290
Ethnicity Hispanic 0.04 -0.23 – 0.32 0.756
Ethnicity Black -0.74 -1.11 – -0.37 <0.001
Ethnicity East Asian -0.15 -0.41 – 0.11 0.246
Ethnicity South Asian -0.44 -0.79 – -0.08 0.015
Ethnicity Native Hawaiian
Pacific Islander
-1.36 -2.43 – -0.28 0.014
Ethnicity Middle Eastern 0.09 -0.43 – 0.60 0.740
Ethnicity American Indian -0.47 -1.54 – 0.60 0.390
Random Effects
σ2 0.26 0.26 0.26
τ00 0.52 unique_ID 0.48 unique_ID 0.45 unique_ID
0.02 univ 0.03 univ 0.01 univ
ICC 0.68 0.66 0.64
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 833 829 829
Marginal R2 / Conditional R2 0.004 / 0.679 0.062 / 0.683 0.123 / 0.684

Excluded Preregistered

m0 <- lmer(school_satis ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m1 <- lmer(school_satis ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m2 <- lmer(school_satis ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
tab_model(m0, m1, m2)
  school satis school satis school satis
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.56 4.36 – 4.76 <0.001 3.35 2.66 – 4.04 <0.001 3.60 2.90 – 4.30 <0.001
condflourish vs control 0.06 -0.02 – 0.14 0.152 0.05 -0.03 – 0.13 0.221 0.06 -0.02 – 0.14 0.128
time - 2 5 0.02 -0.01 – 0.05 0.126 0.02 -0.01 – 0.04 0.146 0.02 -0.01 – 0.04 0.150
condflourish vs control ×
time - 2 5
0.02 -0.01 – 0.04 0.251 0.01 -0.01 – 0.04 0.308 0.01 -0.01 – 0.04 0.288
Sex [Woman] 0.19 -0.02 – 0.40 0.070 0.17 -0.04 – 0.38 0.111
Age 0.02 -0.00 – 0.04 0.063 0.02 -0.00 – 0.04 0.051
int student [No] 0.07 -0.24 – 0.38 0.650 -0.04 -0.37 – 0.28 0.790
SES num 0.18 0.11 – 0.24 <0.001 0.15 0.08 – 0.23 <0.001
Ethnicity White 0.07 -0.15 – 0.28 0.541
Ethnicity Hispanic -0.00 -0.32 – 0.32 0.991
Ethnicity Black -0.70 -1.13 – -0.28 0.001
Ethnicity East Asian -0.20 -0.48 – 0.09 0.176
Ethnicity South Asian -0.32 -0.70 – 0.07 0.104
Ethnicity Native Hawaiian
Pacific Islander
-1.42 -2.50 – -0.34 0.010
Ethnicity Middle Eastern 0.12 -0.42 – 0.67 0.662
Ethnicity American Indian -0.50 -1.57 – 0.57 0.360
Random Effects
σ2 0.26 0.26 0.26
τ00 0.51 unique_ID 0.47 unique_ID 0.45 unique_ID
0.02 univ 0.03 univ 0.01 univ
ICC 0.67 0.66 0.64
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 712 709 709
Marginal R2 / Conditional R2 0.006 / 0.677 0.060 / 0.682 0.112 / 0.682

Excluded Unreasonable Numbers

m0 <- lmer(school_satis ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m1 <- lmer(school_satis ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m2 <- lmer(school_satis ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
tab_model(m0, m1, m2)
  school satis school satis school satis
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.54 4.34 – 4.74 <0.001 3.37 2.65 – 4.09 <0.001 3.59 2.86 – 4.31 <0.001
condflourish vs control 0.05 -0.04 – 0.13 0.279 0.04 -0.04 – 0.12 0.315 0.05 -0.03 – 0.13 0.227
time - 2 5 0.03 -0.00 – 0.05 0.057 0.03 -0.00 – 0.05 0.057 0.03 -0.00 – 0.05 0.059
condflourish vs control ×
time - 2 5
0.02 -0.01 – 0.05 0.124 0.02 -0.01 – 0.05 0.136 0.02 -0.01 – 0.05 0.129
Sex [Woman] 0.19 -0.03 – 0.40 0.094 0.15 -0.06 – 0.37 0.165
Age 0.02 -0.00 – 0.04 0.106 0.02 -0.00 – 0.04 0.098
int student [No] 0.14 -0.20 – 0.49 0.409 0.04 -0.31 – 0.39 0.817
SES num 0.16 0.09 – 0.23 <0.001 0.14 0.07 – 0.22 <0.001
Ethnicity White 0.08 -0.15 – 0.30 0.493
Ethnicity Hispanic 0.11 -0.22 – 0.44 0.513
Ethnicity Black -0.66 -1.10 – -0.22 0.004
Ethnicity East Asian -0.13 -0.43 – 0.16 0.366
Ethnicity South Asian -0.40 -0.81 – 0.00 0.050
Ethnicity Native Hawaiian
Pacific Islander
-1.40 -2.48 – -0.32 0.011
Ethnicity Middle Eastern 0.23 -0.48 – 0.95 0.524
Ethnicity American Indian -0.49 -1.56 – 0.58 0.368
Random Effects
σ2 0.25 0.25 0.25
τ00 0.50 unique_ID 0.47 unique_ID 0.44 unique_ID
0.02 univ 0.03 univ 0.01 univ
ICC 0.67 0.66 0.64
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.005 / 0.676 0.053 / 0.681 0.109 / 0.682

School Prioritizes Well-Being

“At my school, I feel that students’ mental and emotional well-being is a priority.”

Intention to Treat

m0 <- lmer(wellbeing_priority ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m1 <- lmer(wellbeing_priority ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(wellbeing_priority ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  wellbeing priority wellbeing priority wellbeing priority
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.57 4.17 – 4.97 <0.001 4.06 3.17 – 4.95 <0.001 4.03 3.07 – 4.98 <0.001
condflourish vs control 0.03 -0.07 – 0.13 0.499 0.03 -0.07 – 0.13 0.559 0.04 -0.07 – 0.14 0.491
time - 2 5 0.03 -0.01 – 0.07 0.142 0.03 -0.01 – 0.07 0.165 0.03 -0.01 – 0.07 0.166
condflourish vs control ×
time - 2 5
0.02 -0.02 – 0.06 0.407 0.02 -0.03 – 0.06 0.426 0.02 -0.03 – 0.06 0.431
Sex [Woman] 0.03 -0.22 – 0.28 0.805 0.03 -0.23 – 0.28 0.837
Age 0.02 -0.01 – 0.05 0.121 0.02 -0.01 – 0.05 0.135
int student [No] -0.41 -0.81 – -0.02 0.040 -0.35 -0.78 – 0.08 0.109
SES num 0.13 0.04 – 0.21 0.004 0.11 0.02 – 0.20 0.015
Ethnicity White 0.10 -0.17 – 0.37 0.463
Ethnicity Hispanic -0.08 -0.47 – 0.31 0.677
Ethnicity Black -0.16 -0.69 – 0.37 0.550
Ethnicity East Asian 0.18 -0.19 – 0.54 0.343
Ethnicity South Asian 0.16 -0.33 – 0.66 0.519
Ethnicity Native Hawaiian
Pacific Islander
-0.45 -1.96 – 1.05 0.553
Ethnicity Middle Eastern -0.02 -0.75 – 0.71 0.953
Ethnicity American Indian -0.75 -2.24 – 0.74 0.322
Random Effects
σ2 0.78 0.79 0.79
τ00 0.75 unique_ID 0.72 unique_ID 0.73 unique_ID
0.12 univ 0.08 univ 0.10 univ
ICC 0.52 0.50 0.51
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 833 829 829
Marginal R2 / Conditional R2 0.002 / 0.526 0.027 / 0.517 0.033 / 0.529

Excluded Preregistered

m0 <- lmer(wellbeing_priority ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m1 <- lmer(wellbeing_priority ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m2 <- lmer(wellbeing_priority ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
tab_model(m0, m1, m2)
  wellbeing priority wellbeing priority wellbeing priority
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.53 4.22 – 4.84 <0.001 4.08 3.14 – 5.02 <0.001 3.91 2.90 – 4.91 <0.001
condflourish vs control 0.04 -0.07 – 0.15 0.451 0.03 -0.08 – 0.14 0.551 0.04 -0.07 – 0.15 0.511
time - 2 5 0.03 -0.02 – 0.07 0.246 0.02 -0.02 – 0.07 0.270 0.02 -0.02 – 0.07 0.281
condflourish vs control ×
time - 2 5
0.02 -0.03 – 0.06 0.494 0.01 -0.03 – 0.06 0.514 0.01 -0.03 – 0.06 0.504
Sex [Woman] -0.03 -0.33 – 0.26 0.815 -0.05 -0.34 – 0.25 0.748
Age 0.02 -0.00 – 0.05 0.091 0.03 -0.00 – 0.05 0.068
int student [No] -0.55 -0.98 – -0.12 0.011 -0.47 -0.94 – -0.01 0.044
SES num 0.14 0.04 – 0.24 0.004 0.13 0.03 – 0.23 0.013
Ethnicity White 0.15 -0.16 – 0.46 0.331
Ethnicity Hispanic 0.12 -0.34 – 0.58 0.599
Ethnicity Black -0.22 -0.82 – 0.39 0.484
Ethnicity East Asian 0.15 -0.25 – 0.56 0.454
Ethnicity South Asian 0.38 -0.16 – 0.92 0.163
Ethnicity Native Hawaiian
Pacific Islander
-0.29 -1.82 – 1.23 0.708
Ethnicity Middle Eastern 0.07 -0.70 – 0.85 0.854
Ethnicity American Indian -0.72 -2.24 – 0.79 0.348
Random Effects
σ2 0.74 0.74 0.74
τ00 0.80 unique_ID 0.77 unique_ID 0.77 unique_ID
0.06 univ 0.03 univ 0.04 univ
ICC 0.54 0.52 0.52
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 712 709 709
Marginal R2 / Conditional R2 0.002 / 0.540 0.040 / 0.537 0.049 / 0.546

Excluded Unreasonable Numbers

m0 <- lmer(wellbeing_priority ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m1 <- lmer(wellbeing_priority ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
m2 <- lmer(wellbeing_priority ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
tab_model(m0, m1, m2)
  wellbeing priority wellbeing priority wellbeing priority
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 4.50 4.21 – 4.79 <0.001 4.09 3.11 – 5.06 <0.001 3.87 2.85 – 4.90 <0.001
condflourish vs control 0.02 -0.09 – 0.14 0.678 0.02 -0.09 – 0.14 0.703 0.02 -0.09 – 0.14 0.703
time - 2 5 0.03 -0.02 – 0.07 0.252 0.02 -0.02 – 0.07 0.275 0.02 -0.02 – 0.07 0.295
condflourish vs control ×
time - 2 5
0.02 -0.03 – 0.06 0.493 0.02 -0.03 – 0.06 0.507 0.02 -0.03 – 0.06 0.497
Sex [Woman] -0.10 -0.40 – 0.20 0.523 -0.12 -0.42 – 0.19 0.460
Age 0.02 -0.00 – 0.05 0.083 0.03 -0.00 – 0.06 0.058
int student [No] -0.48 -0.95 – -0.01 0.046 -0.42 -0.92 – 0.08 0.097
SES num 0.12 0.02 – 0.22 0.019 0.11 0.01 – 0.21 0.038
Ethnicity White 0.18 -0.14 – 0.50 0.276
Ethnicity Hispanic 0.29 -0.18 – 0.76 0.223
Ethnicity Black -0.19 -0.82 – 0.44 0.550
Ethnicity East Asian 0.22 -0.20 – 0.64 0.304
Ethnicity South Asian 0.38 -0.19 – 0.96 0.194
Ethnicity Native Hawaiian
Pacific Islander
-0.24 -1.77 – 1.29 0.758
Ethnicity Middle Eastern 0.00 -1.03 – 1.03 0.996
Ethnicity American Indian -0.72 -2.24 – 0.79 0.350
Random Effects
σ2 0.72 0.72 0.72
τ00 0.81 unique_ID 0.78 unique_ID 0.79 unique_ID
0.05 univ 0.03 univ 0.03 univ
ICC 0.54 0.53 0.53
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.002 / 0.545 0.034 / 0.544 0.046 / 0.552

Academic Self-Efficacy

Intention to Treat

m0 <- lmer(acad_selfefficacy ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
## boundary (singular) fit: see help('isSingular')
#standardize_parameters(m0)
m1 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  acad selfefficacy acad selfefficacy acad selfefficacy
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 24.00 23.66 – 24.33 <0.001 21.18 18.45 – 23.92 <0.001 22.17 19.28 – 25.07 <0.001
condflourish vs control -0.00 -0.34 – 0.33 0.995 -0.02 -0.36 – 0.31 0.905 0.04 -0.30 – 0.37 0.830
time - 2 5 0.15 0.02 – 0.28 0.021 0.15 0.02 – 0.28 0.023 0.15 0.02 – 0.28 0.023
condflourish vs control ×
time - 2 5
0.05 -0.08 – 0.18 0.436 0.05 -0.08 – 0.18 0.474 0.05 -0.08 – 0.18 0.456
Sex [Woman] -0.31 -1.15 – 0.54 0.475 -0.31 -1.16 – 0.53 0.466
Age 0.07 -0.01 – 0.15 0.103 0.07 -0.02 – 0.15 0.124
int student [No] 0.15 -1.18 – 1.47 0.827 -0.64 -2.07 – 0.80 0.384
SES num 0.46 0.17 – 0.75 0.002 0.42 0.12 – 0.72 0.006
Ethnicity White 0.48 -0.41 – 1.38 0.291
Ethnicity Hispanic -0.33 -1.62 – 0.96 0.619
Ethnicity Black -0.72 -2.47 – 1.04 0.423
Ethnicity East Asian -0.84 -2.05 – 0.38 0.176
Ethnicity South Asian -1.49 -3.14 – 0.16 0.077
Ethnicity Native Hawaiian
Pacific Islander
-3.01 -8.06 – 2.04 0.242
Ethnicity Middle Eastern -0.84 -3.27 – 1.59 0.497
Ethnicity American Indian 1.58 -3.45 – 6.60 0.538
Random Effects
σ2 7.13 7.13 7.12
τ00 9.52 unique_ID 9.33 unique_ID 9.19 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 831 828 828
Marginal R2 / Conditional R2 0.008 / NA 0.056 / NA 0.101 / NA

Excluded Preregistered

m0 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  acad selfefficacy acad selfefficacy acad selfefficacy
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 24.07 23.71 – 24.44 <0.001 20.56 17.56 – 23.56 <0.001 21.52 18.33 – 24.70 <0.001
condflourish vs control -0.00 -0.37 – 0.36 0.981 -0.05 -0.42 – 0.32 0.797 0.00 -0.37 – 0.37 0.994
time - 2 5 0.15 0.01 – 0.29 0.031 0.15 0.01 – 0.28 0.033 0.15 0.01 – 0.29 0.031
condflourish vs control ×
time - 2 5
0.07 -0.06 – 0.21 0.298 0.07 -0.07 – 0.21 0.323 0.07 -0.06 – 0.21 0.301
Sex [Woman] 0.01 -0.96 – 0.99 0.982 0.02 -0.96 – 1.00 0.972
Age 0.06 -0.02 – 0.15 0.152 0.06 -0.03 – 0.15 0.169
int student [No] 0.55 -0.87 – 1.96 0.450 -0.17 -1.70 – 1.37 0.829
SES num 0.51 0.18 – 0.83 0.002 0.47 0.13 – 0.80 0.006
Ethnicity White 0.34 -0.69 – 1.37 0.516
Ethnicity Hispanic -0.25 -1.77 – 1.27 0.744
Ethnicity Black -1.06 -3.07 – 0.95 0.299
Ethnicity East Asian -0.89 -2.23 – 0.44 0.190
Ethnicity South Asian -1.39 -3.17 – 0.40 0.129
Ethnicity Native Hawaiian
Pacific Islander
-2.99 -8.08 – 2.09 0.248
Ethnicity Middle Eastern -1.14 -3.71 – 1.44 0.387
Ethnicity American Indian 1.51 -3.55 – 6.57 0.559
Random Effects
σ2 7.24 7.24 7.25
τ00 9.52 unique_ID 9.30 unique_ID 9.21 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 711 709 709
Marginal R2 / Conditional R2 0.009 / NA 0.059 / NA 0.101 / NA

Excluded Unreasonable Numbers

m0 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m1 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(acad_selfefficacy  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
tab_model(m0, m1, m2)
  acad selfefficacy acad selfefficacy acad selfefficacy
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 24.12 23.74 – 24.49 <0.001 20.44 17.34 – 23.54 <0.001 21.34 18.08 – 24.60 <0.001
condflourish vs control 0.04 -0.34 – 0.41 0.851 -0.01 -0.38 – 0.37 0.978 0.03 -0.36 – 0.41 0.888
time - 2 5 0.15 0.01 – 0.29 0.033 0.15 0.01 – 0.29 0.033 0.15 0.01 – 0.29 0.031
condflourish vs control ×
time - 2 5
0.07 -0.07 – 0.21 0.298 0.07 -0.07 – 0.21 0.308 0.07 -0.07 – 0.21 0.297
Sex [Woman] -0.29 -1.29 – 0.70 0.563 -0.29 -1.29 – 0.72 0.575
Age 0.07 -0.02 – 0.16 0.143 0.06 -0.03 – 0.15 0.192
int student [No] 0.89 -0.64 – 2.43 0.253 0.28 -1.35 – 1.90 0.738
SES num 0.53 0.19 – 0.86 0.002 0.48 0.13 – 0.82 0.006
Ethnicity White 0.37 -0.67 – 1.42 0.485
Ethnicity Hispanic -0.16 -1.69 – 1.36 0.836
Ethnicity Black -0.55 -2.61 – 1.50 0.597
Ethnicity East Asian -0.57 -1.93 – 0.79 0.411
Ethnicity South Asian -1.55 -3.43 – 0.33 0.105
Ethnicity Native Hawaiian
Pacific Islander
-3.10 -8.11 – 1.91 0.224
Ethnicity Middle Eastern -0.53 -3.89 – 2.83 0.758
Ethnicity American Indian 1.42 -3.56 – 6.40 0.575
Random Effects
σ2 6.99 6.99 6.99
τ00 9.18 unique_ID 8.89 unique_ID 8.88 unique_ID
0.00 univ 0.00 univ 0.00 univ
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.009 / NA 0.071 / NA 0.107 / NA

Closeness to School (IOS)

Intention to Treat

m0 <- lmer(ios ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
#standardize_parameters(m0)
m1 <- lmer(ios  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
m2 <- lmer(ios  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_ITT_factor)
tab_model(m0, m1, m2)
  ios ios ios
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 3.29 3.13 – 3.46 <0.001 2.82 1.86 – 3.77 <0.001 3.07 2.07 – 4.08 <0.001
condflourish vs control 0.07 -0.05 – 0.18 0.253 0.08 -0.04 – 0.20 0.182 0.10 -0.01 – 0.22 0.081
time - 2 5 0.05 0.00 – 0.09 0.034 0.05 0.00 – 0.09 0.039 0.05 0.00 – 0.09 0.037
condflourish vs control ×
time - 2 5
0.04 -0.00 – 0.08 0.069 0.04 -0.00 – 0.08 0.063 0.04 -0.00 – 0.08 0.061
Sex [Woman] 0.47 0.18 – 0.77 0.002 0.45 0.15 – 0.74 0.003
Age -0.02 -0.05 – 0.01 0.275 -0.02 -0.05 – 0.01 0.270
int student [No] 0.13 -0.33 – 0.59 0.591 0.08 -0.41 – 0.58 0.745
SES num 0.10 -0.00 – 0.20 0.057 0.08 -0.02 – 0.19 0.110
Ethnicity White -0.05 -0.36 – 0.26 0.750
Ethnicity Hispanic -0.45 -0.89 – 0.00 0.050
Ethnicity Black -0.06 -0.67 – 0.55 0.853
Ethnicity East Asian -0.40 -0.82 – 0.03 0.066
Ethnicity South Asian -0.00 -0.58 – 0.57 0.987
Ethnicity Native Hawaiian
Pacific Islander
-1.85 -3.60 – -0.10 0.038
Ethnicity Middle Eastern -0.28 -1.12 – 0.57 0.520
Ethnicity American Indian -1.81 -3.55 – -0.07 0.042
Random Effects
σ2 0.80 0.80 0.80
τ00 1.18 unique_ID 1.16 unique_ID 1.13 unique_ID
0.01 univ 0.00 univ 0.00 univ
ICC 0.60 0.59 0.59
N 485 unique_ID 482 unique_ID 482 unique_ID
3 univ 3 univ 3 univ
Observations 833 829 829
Marginal R2 / Conditional R2 0.006 / 0.602 0.033 / 0.606 0.058 / 0.612

Excluded Preregistered

m0 <- lmer(ios  ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m1 <- lmer(ios  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
m2 <- lmer(ios  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_factor)
tab_model(m0, m1, m2)
  ios ios ios
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 3.34 3.16 – 3.52 <0.001 3.03 1.97 – 4.10 <0.001 3.45 2.33 – 4.57 <0.001
condflourish vs control 0.09 -0.03 – 0.22 0.150 0.10 -0.02 – 0.23 0.113 0.13 -0.00 – 0.26 0.055
time - 2 5 0.04 -0.01 – 0.08 0.116 0.04 -0.01 – 0.08 0.107 0.04 -0.01 – 0.08 0.095
condflourish vs control ×
time - 2 5
0.04 -0.00 – 0.09 0.066 0.04 -0.00 – 0.09 0.063 0.04 -0.00 – 0.09 0.059
Sex [Woman] 0.42 0.08 – 0.77 0.016 0.38 0.03 – 0.72 0.032
Age -0.02 -0.05 – 0.02 0.334 -0.02 -0.05 – 0.01 0.235
int student [No] 0.14 -0.36 – 0.64 0.574 0.08 -0.45 – 0.62 0.763
SES num 0.05 -0.07 – 0.16 0.435 0.04 -0.08 – 0.16 0.492
Ethnicity White -0.19 -0.55 – 0.17 0.312
Ethnicity Hispanic -0.51 -1.04 – 0.02 0.059
Ethnicity Black 0.08 -0.63 – 0.78 0.832
Ethnicity East Asian -0.53 -0.99 – -0.06 0.028
Ethnicity South Asian -0.09 -0.71 – 0.54 0.788
Ethnicity Native Hawaiian
Pacific Islander
-2.08 -3.86 – -0.30 0.022
Ethnicity Middle Eastern -0.38 -1.28 – 0.52 0.404
Ethnicity American Indian -1.98 -3.75 – -0.20 0.029
Random Effects
σ2 0.80 0.81 0.80
τ00 1.21 unique_ID 1.20 unique_ID 1.17 unique_ID
0.01 univ 0.00 univ 0.00 univ
ICC 0.60 0.60 0.59
N 389 unique_ID 387 unique_ID 387 unique_ID
3 univ 3 univ 3 univ
Observations 712 709 709
Marginal R2 / Conditional R2 0.007 / 0.606 0.025 / 0.610 0.058 / 0.617

Excluded Unreasonable Numbers

m0 <- lmer(ios  ~ cond * I(time - 2.5)+ (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00662956 (tol = 0.002, component 1)
m1 <- lmer(ios  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
## boundary (singular) fit: see help('isSingular')
m2 <- lmer(ios  ~ cond * I(time - 2.5) + Sex + Age + int_student + SES_num + + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian + (1 | unique_ID) + (1 | univ), data = data_excluded_unreasonable_factor)
tab_model(m0, m1, m2)
  ios ios ios
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 3.31 3.15 – 3.48 <0.001 2.99 1.90 – 4.09 <0.001 3.41 2.27 – 4.55 <0.001
condflourish vs control 0.06 -0.07 – 0.19 0.357 0.07 -0.06 – 0.20 0.293 0.09 -0.04 – 0.23 0.166
time - 2 5 0.03 -0.02 – 0.08 0.227 0.03 -0.02 – 0.08 0.230 0.03 -0.02 – 0.08 0.212
condflourish vs control ×
time - 2 5
0.04 -0.01 – 0.08 0.138 0.03 -0.01 – 0.08 0.146 0.04 -0.01 – 0.08 0.135
Sex [Woman] 0.39 0.04 – 0.74 0.029 0.35 0.00 – 0.71 0.049
Age -0.02 -0.05 – 0.02 0.316 -0.02 -0.05 – 0.01 0.206
int student [No] 0.22 -0.32 – 0.76 0.431 0.13 -0.44 – 0.70 0.651
SES num 0.04 -0.08 – 0.16 0.497 0.03 -0.09 – 0.15 0.648
Ethnicity White -0.10 -0.46 – 0.27 0.602
Ethnicity Hispanic -0.41 -0.94 – 0.13 0.136
Ethnicity Black 0.18 -0.54 – 0.90 0.627
Ethnicity East Asian -0.43 -0.90 – 0.05 0.076
Ethnicity South Asian -0.12 -0.78 – 0.54 0.728
Ethnicity Native Hawaiian
Pacific Islander
-1.98 -3.73 – -0.22 0.027
Ethnicity Middle Eastern -0.61 -1.78 – 0.57 0.311
Ethnicity American Indian -1.90 -3.65 – -0.15 0.033
Random Effects
σ2 0.77 0.77 0.77
τ00 1.17 unique_ID 1.16 unique_ID 1.14 unique_ID
0.01 univ 0.00 univ 0.00 univ
ICC 0.60   0.60
N 357 unique_ID 356 unique_ID 356 unique_ID
3 univ 3 univ 3 univ
Observations 652 651 651
Marginal R2 / Conditional R2 0.004 / 0.606 0.052 / NA 0.054 / 0.617

Probe significant interactions

Loneliness

Intention to Treat

# Time 1
lm(loneliness ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.5976 -1.5798  0.4024  1.4024  3.4202 
## 
## Coefficients:
##                          Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.588696   0.074864  74.651 <0.0000000000000002 ***
## condflourish_vs_control -0.008865   0.074864  -0.118               0.906    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.647 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  2.909e-05,  Adjusted R-squared:  -0.002046 
## F-statistic: 0.01402 on 1 and 482 DF,  p-value: 0.9058
# Time 2
lm(loneliness ~ cond, data = subset(data_ITT, time == 2)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_ITT, time == 
##     2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2727 -1.2727 -0.0777  0.9223  3.9223 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.17522    0.08065  64.170 <0.0000000000000002 ***
## condflourish_vs_control -0.09750    0.08065  -1.209               0.227    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.595 on 389 degrees of freedom
##   (95 observations deleted due to missingness)
## Multiple R-squared:  0.003743,   Adjusted R-squared:  0.001182 
## F-statistic: 1.462 on 1 and 389 DF,  p-value: 0.2274
# Time 3
lm(loneliness ~ cond, data = subset(data_ITT, time == 3)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_ITT, time == 
##     3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1582 -1.1582 -0.1582  1.0225  4.0225 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.06786    0.08931  56.746 <0.0000000000000002 ***
## condflourish_vs_control -0.09033    0.08931  -1.011               0.312    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.683 on 353 degrees of freedom
##   (131 observations deleted due to missingness)
## Multiple R-squared:  0.00289,    Adjusted R-squared:  6.519e-05 
## F-statistic: 1.023 on 1 and 353 DF,  p-value: 0.3125
cohens_d(loneliness ~ cond, data = subset(data_ITT, time == 3))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## 0.11      | [-0.10, 0.32]
## 
## - Estimated using pooled SD.
# Time 4
lm(loneliness ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3918 -1.3918 -0.0955  0.9045  3.9045 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.24366    0.09062  57.863 <0.0000000000000002 ***
## condflourish_vs_control -0.14815    0.09062  -1.635               0.103    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.693 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.007644,   Adjusted R-squared:  0.004784 
## F-statistic: 2.673 on 1 and 347 DF,  p-value: 0.103
cohens_d(loneliness ~ cond, data = subset(data_ITT, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## 0.18      | [-0.04, 0.39]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
model <- lmer(loneliness ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 2657.5
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.07365 -0.52507 -0.01295  0.47543  3.02493 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.7635   1.328   
##  Residual              0.9565   0.978   
## Number of obs: 787, groups:  unique_ID, 239
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     5.20327    0.09425 238.11892  55.207 < 0.0000000000000002 ***
## I(time - 2.5)  -0.16696    0.03192 577.31120  -5.231          0.000000237 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.083
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.28 | [-0.44, -0.12]
## time - 2 5  |      -0.11 | [-0.16, -0.07]
# Control cond: over time
model <- lmer(loneliness ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 2700.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0586 -0.5271 -0.0342  0.5360  3.2079 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.8152   1.3473  
##  Residual              0.9839   0.9919  
## Number of obs: 792, groups:  unique_ID, 247
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.37957    0.09475 246.16356  56.775 <0.0000000000000002 ***
## I(time - 2.5)  -0.07197    0.03273 581.21600  -2.199              0.0283 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.106
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.11 | [-0.27,  0.05]
## time - 2 5  |      -0.05 | [-0.09, -0.01]

Excluded Preregistered

# Time 1
lm(loneliness ~ cond, data = subset(data_excluded, time == 1)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded, 
##     time == 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.5775 -1.5721  0.4225  1.4225  3.4279 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.57484    0.08469  65.825 <0.0000000000000002 ***
## condflourish_vs_control -0.00270    0.08469  -0.032               0.975    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.667 on 386 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  2.634e-06,  Adjusted R-squared:  -0.002588 
## F-statistic: 0.001017 on 1 and 386 DF,  p-value: 0.9746
# Time 2
lm(loneliness ~ cond, data = subset(data_excluded, time == 2)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded, 
##     time == 2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2732 -1.2732 -0.1087  0.8913  3.8913 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.19096    0.08324  62.361 <0.0000000000000002 ***
## condflourish_vs_control -0.08226    0.08324  -0.988               0.324    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.595 on 365 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.002669,   Adjusted R-squared:  -6.372e-05 
## F-statistic: 0.9767 on 1 and 365 DF,  p-value: 0.3237
# Time 3
lm(loneliness ~ cond, data = subset(data_excluded, time == 3)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded, 
##     time == 3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1677 -1.1677 -0.1677  1.0291  4.0291 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.06932    0.09266  54.709 <0.0000000000000002 ***
## condflourish_vs_control -0.09839    0.09266  -1.062               0.289    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.69 on 331 degrees of freedom
##   (26 observations deleted due to missingness)
## Multiple R-squared:  0.003395,   Adjusted R-squared:  0.0003836 
## F-statistic: 1.127 on 1 and 331 DF,  p-value: 0.2891
# Time 4
lm(loneliness ~ cond, data = subset(data_excluded, time == 4)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded, 
##     time == 4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3613 -1.3613 -0.1124  0.8876  3.8876 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.23686    0.09494  55.159 <0.0000000000000002 ***
## condflourish_vs_control -0.12443    0.09494  -1.311               0.191    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.707 on 322 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.005306,   Adjusted R-squared:  0.002217 
## F-statistic: 1.718 on 1 and 322 DF,  p-value: 0.1909
# Flourish cond: over time
model <- lmer(loneliness ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "flourish")
## 
## REML criterion at convergence: 2445.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.06036 -0.54573 -0.00642  0.50502  3.02017 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.7842   1.3357  
##  Residual              0.9618   0.9807  
## Number of obs: 726, groups:  unique_ID, 202
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)     5.1713     0.1012 200.5307  51.116 < 0.0000000000000002 ***
## I(time - 2.5)  -0.1677     0.0331 533.0931  -5.066          0.000000559 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.037
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.30 | [-0.46, -0.13]
## time - 2 5  |      -0.11 | [-0.16, -0.07]
# Control cond: over time
model <- lmer(loneliness ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "control")
## 
## REML criterion at convergence: 2326.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0572 -0.5323 -0.0300  0.5393  3.2051 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.8881   1.374   
##  Residual              0.9821   0.991   
## Number of obs: 686, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.36317    0.10778 184.93939  49.761 <0.0000000000000002 ***
## I(time - 2.5)  -0.06868    0.03474 506.52395  -1.977              0.0486 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.043
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.10 | [-0.27,  0.07]
## time - 2 5  |      -0.05 | [-0.09,  0.00]

Excluded Unreasonable Numbers

# Time 1
lm(loneliness ~ cond, data = subset(data_excluded_unreasonable, time == 1)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.6272 -1.5775  0.3728  1.3728  3.4225 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.60238    0.08772  63.870 <0.0000000000000002 ***
## condflourish_vs_control  0.02484    0.08772   0.283               0.777    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.653 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.0002265,  Adjusted R-squared:  -0.002598 
## F-statistic: 0.08019 on 1 and 354 DF,  p-value: 0.7772
# Time 2
lm(loneliness ~ cond, data = subset(data_excluded_unreasonable, time == 2)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2732 -1.2732 -0.1474  0.8526  3.8526 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.21033    0.08734   59.66 <0.0000000000000002 ***
## condflourish_vs_control -0.06289    0.08734   -0.72               0.472    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.603 on 337 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.001536,   Adjusted R-squared:  -0.001426 
## F-statistic: 0.5186 on 1 and 337 DF,  p-value: 0.472
# Time 3
lm(loneliness ~ cond, data = subset(data_excluded_unreasonable, time == 3)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1677 -1.1677 -0.1677  1.0142  4.0142 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.07676    0.09687  52.408 <0.0000000000000002 ***
## condflourish_vs_control -0.09094    0.09687  -0.939               0.349    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.68 on 300 degrees of freedom
##   (26 observations deleted due to missingness)
## Multiple R-squared:  0.002929,   Adjusted R-squared:  -0.0003943 
## F-statistic: 0.8814 on 1 and 300 DF,  p-value: 0.3486
# Time 4
lm(loneliness ~ cond, data = subset(data_excluded_unreasonable, time == 4)) |> summary()
## 
## Call:
## lm(formula = loneliness ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3613 -1.3613 -0.0993  0.9007  3.9007 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.23029    0.09767  53.548 <0.0000000000000002 ***
## condflourish_vs_control -0.13100    0.09767  -1.341               0.181    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.679 on 294 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.006081,   Adjusted R-squared:  0.0027 
## F-statistic: 1.799 on 1 and 294 DF,  p-value: 0.1809
# Flourish cond: over time
model <- lmer(loneliness ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "flourish")
## 
## REML criterion at convergence: 2035.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8654 -0.5787  0.0022  0.5025  2.8698 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.6937   1.3014  
##  Residual              0.9554   0.9775  
## Number of obs: 607, groups:  unique_ID, 170
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     5.18538    0.10788 168.92218  48.064 < 0.0000000000000002 ***
## I(time - 2.5)  -0.19706    0.03615 446.18570  -5.451         0.0000000831 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.042
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.36 | [-0.54, -0.18]
## time - 2 5  |      -0.14 | [-0.18, -0.09]
# Control cond: over time
model <- lmer(loneliness ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "control")
## 
## REML criterion at convergence: 2326.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0572 -0.5323 -0.0300  0.5393  3.2051 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.8881   1.374   
##  Residual              0.9821   0.991   
## Number of obs: 686, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.36317    0.10778 184.93939  49.761 <0.0000000000000002 ***
## I(time - 2.5)  -0.06868    0.03474 506.52395  -1.977              0.0486 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.043
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.10 | [-0.27,  0.07]
## time - 2 5  |      -0.05 | [-0.09,  0.00]

SAS: Calm

Intention to Treat

# Time 1
lm(SAS_calm ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7185 -1.7185  0.2815  1.4553  6.4553 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.63160    0.11664  48.281 <0.0000000000000002 ***
## condflourish_vs_control  0.08689    0.11664   0.745               0.457    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.566 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.00115,    Adjusted R-squared:  -0.0009225 
## F-statistic: 0.5549 on 1 and 482 DF,  p-value: 0.4567
# Time 2
lm(SAS_calm ~ cond, data = subset(data_ITT, time == 2)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_ITT, time == 
##     2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7876 -1.7876  0.2124  2.2124  6.6364 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.5756     0.1306  42.706 <0.0000000000000002 ***
## condflourish_vs_control   0.2120     0.1306   1.624               0.105    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.581 on 389 degrees of freedom
##   (95 observations deleted due to missingness)
## Multiple R-squared:  0.00673,    Adjusted R-squared:  0.004177 
## F-statistic: 2.636 on 1 and 389 DF,  p-value: 0.1053
# Time 3
lm(SAS_calm ~ cond, data = subset(data_ITT, time == 3)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_ITT, time == 
##     3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.0506 -2.0506 -0.0506  1.9494  6.5085 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.7710     0.1387  41.608 <0.0000000000000002 ***
## condflourish_vs_control   0.2795     0.1387   2.015              0.0446 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.613 on 353 degrees of freedom
##   (131 observations deleted due to missingness)
## Multiple R-squared:  0.01137,    Adjusted R-squared:  0.008574 
## F-statistic: 4.061 on 1 and 353 DF,  p-value: 0.04464
cohens_d(SAS_calm ~ cond, data = subset(data_ITT, time == 3))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.21     | [-0.42, -0.01]
## 
## - Estimated using pooled SD.
# Time 4
lm(SAS_calm ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.2753 -1.4503 -0.2753  1.7247  6.5497 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.8628     0.1337  43.851 <0.0000000000000002 ***
## condflourish_vs_control   0.4125     0.1337   3.085              0.0022 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.497 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.0267, Adjusted R-squared:  0.02389 
## F-statistic: 9.519 on 1 and 347 DF,  p-value: 0.002197
cohens_d(SAS_calm ~ cond, data = subset(data_ITT, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.33     | [-0.54, -0.12]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
model <- lmer(SAS_calm ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_calm ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 3512.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.3044 -0.6100  0.0433  0.5270  3.3115 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.722    1.929   
##  Residual              3.176    1.782   
## Number of obs: 787, groups:  unique_ID, 239
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     5.96423    0.14293 229.59720  41.727 < 0.0000000000000002 ***
## I(time - 2.5)   0.20984    0.05786 580.02738   3.627             0.000312 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.093
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.23 | [0.06, 0.40]
## time - 2 5  |       0.09 | [0.04, 0.14]
# Control cond: over time
lmer(SAS_calm ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_calm ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 3477.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.6351 -0.5626  0.0430  0.6064  3.3250 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.445    1.856   
##  Residual              2.947    1.717   
## Number of obs: 792, groups:  unique_ID, 247
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.52396    0.13660 242.93591  40.439 <0.0000000000000002 ***
## I(time - 2.5)   0.01313    0.05628 591.80043   0.233               0.816    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.118

Excluded Preregistered

# Time 1
lm(SAS_calm ~ cond, data = subset(data_excluded, time == 1)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_excluded, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7562 -1.7562  0.2438  1.6043  6.6043 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.5760     0.1286  43.358 <0.0000000000000002 ***
## condflourish_vs_control   0.1802     0.1286   1.402               0.162    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.532 on 386 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.005063,   Adjusted R-squared:  0.002486 
## F-statistic: 1.964 on 1 and 386 DF,  p-value: 0.1618
# Time 2
lm(SAS_calm ~ cond, data = subset(data_excluded, time == 2)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_excluded, time == 
##     2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.7228 -1.7228  0.2772  1.9637  6.6503 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.5363     0.1341  41.271 <0.0000000000000002 ***
## condflourish_vs_control   0.1865     0.1341   1.391               0.165    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.57 on 365 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.005271,   Adjusted R-squared:  0.002545 
## F-statistic: 1.934 on 1 and 365 DF,  p-value: 0.1652
# Time 3
lm(SAS_calm ~ cond, data = subset(data_excluded, time == 3)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_excluded, time == 
##     3))
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -6.093 -2.093 -0.093  1.907  6.472 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.8105     0.1438  40.408 <0.0000000000000002 ***
## condflourish_vs_control   0.2825     0.1438   1.965              0.0503 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.623 on 331 degrees of freedom
##   (26 observations deleted due to missingness)
## Multiple R-squared:  0.01153,    Adjusted R-squared:  0.008543 
## F-statistic: 3.861 on 1 and 331 DF,  p-value: 0.05027
cohens_d(SAS_calm ~ cond, data = subset(data_excluded, time == 3))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## -0.22     | [-0.43, 0.00]
## 
## - Estimated using pooled SD.
# Time 4
lm(SAS_calm ~ cond, data = subset(data_excluded, time == 4)) |> summary()
## 
## Call:
## lm(formula = SAS_calm ~ cond, data = subset(data_excluded, time == 
##     4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.3609 -1.4774 -0.3609  1.6391  6.5226 
## 
## Coefficients:
##                         Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)               5.9192     0.1386  42.715 < 0.0000000000000002 ***
## condflourish_vs_control   0.4418     0.1386   3.188              0.00157 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.492 on 322 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.0306, Adjusted R-squared:  0.02759 
## F-statistic: 10.16 on 1 and 322 DF,  p-value: 0.001574
cohens_d(SAS_calm ~ cond, data = subset(data_excluded, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.35     | [-0.57, -0.13]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
model <- lmer(SAS_calm ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_calm ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "flourish")
## 
## REML criterion at convergence: 3227.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.3070 -0.6101  0.0399  0.5344  3.3053 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.629    1.905   
##  Residual              3.163    1.779   
## Number of obs: 726, groups:  unique_ID, 202
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     6.00844    0.15018 197.22369  40.009 < 0.0000000000000002 ***
## I(time - 2.5)   0.23938    0.05989 534.46481   3.997            0.0000732 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.044
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.27 | [0.10, 0.44]
## time - 2 5  |       0.10 | [0.05, 0.15]
# Control cond: over time
lmer(SAS_calm ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_calm ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "control")
## 
## REML criterion at convergence: 2986.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.6976 -0.5777  0.0299  0.6084  3.3787 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.367    1.835   
##  Residual              2.890    1.700   
## Number of obs: 686, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.45986    0.14983 189.33385  36.440 <0.0000000000000002 ***
## I(time - 2.5)   0.06216    0.05946 515.03617   1.045               0.296    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.051

SAS: Well-Being

Intention to Treat

# Time 1
lm(SAS_well_being ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.2395 -2.0285 -0.0285  1.7605  4.9715 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               7.1340     0.1134  62.920 <0.0000000000000002 ***
## condflourish_vs_control   0.1055     0.1134   0.931               0.352    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.494 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.001794,   Adjusted R-squared:  -0.0002772 
## F-statistic: 0.8661 on 1 and 482 DF,  p-value: 0.3525
# Time 2
lm(SAS_well_being ~ cond, data = subset(data_ITT, time == 2)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_ITT, time == 
##     2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.7071 -1.7071  0.1503  2.1503  5.2929 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              6.77841    0.12200  55.558 <0.0000000000000002 ***
## condflourish_vs_control  0.07134    0.12200   0.585               0.559    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.412 on 389 degrees of freedom
##   (95 observations deleted due to missingness)
## Multiple R-squared:  0.0008781,  Adjusted R-squared:  -0.00169 
## F-statistic: 0.3419 on 1 and 389 DF,  p-value: 0.5591
# Time 3
lm(SAS_well_being ~ cond, data = subset(data_ITT, time == 3)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_ITT, time == 
##     3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.1638 -1.5819 -0.1638  1.8362  5.4181 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               6.8729     0.1374  50.033 <0.0000000000000002 ***
## condflourish_vs_control   0.2910     0.1374   2.118              0.0349 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.585 on 352 degrees of freedom
##   (132 observations deleted due to missingness)
## Multiple R-squared:  0.01259,    Adjusted R-squared:  0.00978 
## F-statistic: 4.486 on 1 and 352 DF,  p-value: 0.03486
cohens_d(SAS_well_being ~ cond, data = subset(data_ITT, time == 3))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.23     | [-0.43, -0.02]
## 
## - Estimated using pooled SD.
# Time 4
lm(SAS_well_being ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.2472 -1.4971 -0.2472  1.7528  5.5029 
## 
## Coefficients:
##                         Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)               6.8721     0.1313  52.327 < 0.0000000000000002 ***
## condflourish_vs_control   0.3751     0.1313   2.856              0.00455 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.453 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.02296,    Adjusted R-squared:  0.02015 
## F-statistic: 8.156 on 1 and 347 DF,  p-value: 0.004551
cohens_d(SAS_well_being ~ cond, data = subset(data_ITT, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.31     | [-0.52, -0.09]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
lmer(SAS_well_being ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_well_being ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 3384
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2113 -0.5509  0.0342  0.5666  3.5552 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.356    1.832   
##  Residual              2.663    1.632   
## Number of obs: 786, groups:  unique_ID, 239
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     7.12678    0.13469 228.83359  52.913 <0.0000000000000002 ***
## I(time - 2.5)   0.02255    0.05304 576.41091   0.425               0.671    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.091
# Control cond: over time
model <- lmer(SAS_well_being ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_well_being ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 3405.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1816 -0.5645  0.0224  0.5232  3.3843 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 4.056    2.014   
##  Residual              2.479    1.574   
## Number of obs: 792, groups:  unique_ID, 247
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     6.76501    0.14314 243.78085  47.262 < 0.0000000000000002 ***
## I(time - 2.5)  -0.14733    0.05186 582.40708  -2.841              0.00466 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.110
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.14 | [-0.30,  0.02]
## time - 2 5  |      -0.07 | [-0.11, -0.02]

Excluded Preregistered

# Time 1
lm(SAS_well_being ~ cond, data = subset(data_excluded, time == 1)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_excluded, 
##     time == 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.3134 -1.4824  0.0107  1.6866  5.0107 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               7.1514     0.1248  57.307 <0.0000000000000002 ***
## condflourish_vs_control   0.1621     0.1248   1.299               0.195    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.456 on 386 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.00435,    Adjusted R-squared:  0.001771 
## F-statistic: 1.687 on 1 and 386 DF,  p-value: 0.1948
# Time 2
lm(SAS_well_being ~ cond, data = subset(data_excluded, time == 2)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_excluded, 
##     time == 2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.6885 -1.6885  0.1793  2.1793  5.3115 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              6.75459    0.12546  53.840 <0.0000000000000002 ***
## condflourish_vs_control  0.06606    0.12546   0.527               0.599    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.403 on 365 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.0007591,  Adjusted R-squared:  -0.001979 
## F-statistic: 0.2773 on 1 and 365 DF,  p-value: 0.5988
# Time 3
lm(SAS_well_being ~ cond, data = subset(data_excluded, time == 3)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_excluded, 
##     time == 3))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.1871 -1.6335 -0.1871  1.8129  5.3665 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               6.9103     0.1400  49.360 <0.0000000000000002 ***
## condflourish_vs_control   0.2768     0.1400   1.977              0.0489 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.55 on 330 degrees of freedom
##   (27 observations deleted due to missingness)
## Multiple R-squared:  0.01171,    Adjusted R-squared:  0.008712 
## F-statistic: 3.909 on 1 and 330 DF,  p-value: 0.04886
cohens_d(SAS_well_being ~ cond, data = subset(data_excluded, time == 3))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.22     | [-0.43,  0.00]
## 
## - Estimated using pooled SD.
# Time 4
lm(SAS_well_being ~ cond, data = subset(data_excluded, time == 4)) |> summary()
## 
## Call:
## lm(formula = SAS_well_being ~ cond, data = subset(data_excluded, 
##     time == 4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -7.1893 -1.5355  0.4645  1.8107  5.4645 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               6.8624     0.1368   50.17 <0.0000000000000002 ***
## condflourish_vs_control   0.3269     0.1368    2.39              0.0174 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.46 on 322 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.01743,    Adjusted R-squared:  0.01438 
## F-statistic: 5.712 on 1 and 322 DF,  p-value: 0.01742
cohens_d(SAS_well_being ~ cond, data = subset(data_excluded, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.27     | [-0.48, -0.05]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
lmer(SAS_well_being ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_well_being ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "flourish")
## 
## REML criterion at convergence: 3098.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2377 -0.5391  0.0348  0.5702  3.5855 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.248    1.802   
##  Residual              2.618    1.618   
## Number of obs: 725, groups:  unique_ID, 202
## 
## Fixed effects:
##                 Estimate Std. Error         df t value            Pr(>|t|)    
## (Intercept)     7.160433   0.141011 198.475903  50.779 <0.0000000000000002 ***
## I(time - 2.5)   0.007556   0.054520 533.830855   0.139                0.89    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.043
# Control cond: over time
model <- lmer(SAS_well_being ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_well_being ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "control")
## 
## REML criterion at convergence: 2924
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9241 -0.6007  0.0398  0.5342  3.4260 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.936    1.984   
##  Residual              2.453    1.566   
## Number of obs: 686, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     6.73698    0.15760 186.99796  42.747 <0.0000000000000002 ***
## I(time - 2.5)  -0.12206    0.05487 509.95645  -2.225              0.0265 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.046
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.12 | [-0.30,  0.05]
## time - 2 5  |      -0.05 | [-0.10, -0.01]

SAS: Positive

Intention to Treat

# Time 1
lm(SAS_positive ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = SAS_positive ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -18.4797  -4.4797   0.0714   4.0714  17.5203 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              18.7041     0.3063  61.070 <0.0000000000000002 ***
## condflourish_vs_control   0.2244     0.3063   0.733               0.464    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.737 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.001113,   Adjusted R-squared:  -0.0009594 
## F-statistic: 0.5371 on 1 and 482 DF,  p-value: 0.464
# Time 2
lm(SAS_positive ~ cond, data = subset(data_ITT, time == 2)) |> summary()
## 
## Call:
## lm(formula = SAS_positive ~ cond, data = subset(data_ITT, time == 
##     2))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -17.513  -5.374   0.487   4.626  18.626 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              17.9433     0.3416  52.523 <0.0000000000000002 ***
## condflourish_vs_control   0.5696     0.3416   1.667              0.0963 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.755 on 389 degrees of freedom
##   (95 observations deleted due to missingness)
## Multiple R-squared:  0.007096,   Adjusted R-squared:  0.004543 
## F-statistic:  2.78 on 1 and 389 DF,  p-value: 0.09625
cohens_d(SAS_positive ~ cond, data = subset(data_ITT, time == 2))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## -0.17     | [-0.37, 0.03]
## 
## - Estimated using pooled SD.
# Time 3
lm(SAS_positive ~ cond, data = subset(data_ITT, time == 3)) |> summary()
## 
## Call:
## lm(formula = SAS_positive ~ cond, data = subset(data_ITT, time == 
##     3))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -17.4633  -4.9506  -0.4633   4.8870  17.5367 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              18.2881     0.3741  48.882 <0.0000000000000002 ***
## condflourish_vs_control   0.8249     0.3741   2.205              0.0281 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.039 on 352 degrees of freedom
##   (132 observations deleted due to missingness)
## Multiple R-squared:  0.01362,    Adjusted R-squared:  0.01082 
## F-statistic: 4.861 on 1 and 352 DF,  p-value: 0.02812
cohens_d(SAS_positive ~ cond, data = subset(data_ITT, time == 3))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.23     | [-0.44, -0.03]
## 
## - Estimated using pooled SD.
# Time 4
lm(SAS_positive ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = SAS_positive ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -17.2047  -4.3785  -0.2047   4.7953  17.7953 
## 
## Coefficients:
##                         Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)              18.2916     0.3542  51.649 < 0.0000000000000002 ***
## condflourish_vs_control   1.0869     0.3542   3.069              0.00232 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.606 on 346 degrees of freedom
##   (138 observations deleted due to missingness)
## Multiple R-squared:  0.0265, Adjusted R-squared:  0.02369 
## F-statistic: 9.419 on 1 and 346 DF,  p-value: 0.002317
cohens_d(SAS_positive ~ cond, data = subset(data_ITT, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.33     | [-0.54, -0.12]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
lmer(SAS_positive ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_positive ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 4912
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.6582 -0.5314  0.0175  0.5229  4.1828 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 27.22    5.217   
##  Residual              18.04    4.248   
## Number of obs: 785, groups:  unique_ID, 239
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    18.9590     0.3768 231.4955  50.311 <0.0000000000000002 ***
## I(time - 2.5)   0.1921     0.1386 573.6030   1.386               0.166    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.089
# Control cond: over time
model <- lmer(SAS_positive ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_positive ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 4923
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9763 -0.5577 -0.0234  0.5574  4.3450 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 32.17    5.671   
##  Residual              16.06    4.007   
## Number of obs: 792, groups:  unique_ID, 247
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    17.9208     0.3962 243.3704   45.23 <0.0000000000000002 ***
## I(time - 2.5)  -0.2514     0.1324 576.4465   -1.90               0.058 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.104
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |      -0.07 | [-0.22, 0.09]
## time - 2 5  |      -0.04 | [-0.08, 0.00]

Flourishing Scale

Intention to Treat

# Time 1
lm(flourishing ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = flourishing ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -27.968  -3.967   1.032   4.412  11.412 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              44.7779     0.2963  151.15 <0.0000000000000002 ***
## condflourish_vs_control  -0.1896     0.2963   -0.64               0.522    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.517 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.0008492,  Adjusted R-squared:  -0.001224 
## F-statistic: 0.4097 on 1 and 482 DF,  p-value: 0.5224
# Time 4
lm(flourishing ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = flourishing ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -21.345  -3.921   1.079   4.079  11.655 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              44.6330     0.3545 125.894 <0.0000000000000002 ***
## condflourish_vs_control   0.2879     0.3545   0.812               0.417    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.613 on 346 degrees of freedom
##   (138 observations deleted due to missingness)
## Multiple R-squared:  0.001903,   Adjusted R-squared:  -0.0009819 
## F-statistic: 0.6596 on 1 and 346 DF,  p-value: 0.4173
# Flourish cond: over time
lmer(flourishing ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: flourishing ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 2592.4
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.58345 -0.38205  0.07545  0.42343  1.85076 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 31.89    5.647   
##  Residual              10.80    3.286   
## Number of obs: 415, groups:  unique_ID, 239
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    44.8152     0.4037 239.3478 111.004 <0.0000000000000002 ***
## I(time - 2.5)   0.1430     0.1148 185.9160   1.246               0.214    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.098
# Control cond: over time
model <- lmer(flourishing ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: flourishing ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 2665.6
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5743 -0.4046  0.0814  0.4465  2.7338 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 29.70    5.450   
##  Residual              14.81    3.848   
## Number of obs: 417, groups:  unique_ID, 246
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    44.6044     0.4023 243.8148 110.877 <0.0000000000000002 ***
## I(time - 2.5)  -0.2420     0.1352 182.5680  -1.791               0.075 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.135
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |      -0.14 | [-0.34, 0.05]
## time - 2 5  |      -0.05 | [-0.11, 0.01]

Excluded Unreasonable Numbers

# Time 1
lm(flourishing ~ cond, data = subset(data_excluded_unreasonable, time == 1)) |> summary()
## 
## Call:
## lm(formula = flourishing ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.503  -3.616   1.043   4.043  11.497 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              44.7301     0.3355 133.338 <0.0000000000000002 ***
## condflourish_vs_control  -0.2271     0.3355  -0.677               0.499    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.321 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.001293,   Adjusted R-squared:  -0.001528 
## F-statistic: 0.4584 on 1 and 354 DF,  p-value: 0.4988
# Time 4
lm(flourishing ~ cond, data = subset(data_excluded_unreasonable, time == 4)) |> summary()
## 
## Call:
## lm(formula = flourishing ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -21.3742  -4.0851   0.9149   3.6981  11.6258 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              44.7296     0.3806 117.536 <0.0000000000000002 ***
## condflourish_vs_control   0.3555     0.3806   0.934               0.351    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.54 on 294 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.002959,   Adjusted R-squared:  -0.0004327 
## F-statistic: 0.8724 on 1 and 294 DF,  p-value: 0.3511
# Flourish cond: over time
model <- lmer(flourishing ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: flourishing ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "flourish")
## 
## REML criterion at convergence: 1903.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.62936 -0.37597  0.05827  0.41930  1.87235 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 28.88    5.374   
##  Residual              10.09    3.176   
## Number of obs: 310, groups:  unique_ID, 170
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    44.9202     0.4527 169.1751  99.223 <0.0000000000000002 ***
## I(time - 2.5)   0.2674     0.1250 145.1821   2.139              0.0341 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.061
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |       0.18 | [-0.03, 0.39]
## time - 2 5  |       0.06 | [ 0.01, 0.12]
# Control cond: over time
lmer(flourishing ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: flourishing ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "control")
## 
## REML criterion at convergence: 2177.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.5327 -0.4104  0.0600  0.4705  2.6399 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 27.98    5.290   
##  Residual              15.49    3.936   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    44.6042     0.4451 185.7692 100.222 <0.0000000000000002 ***
## I(time - 2.5)  -0.2354     0.1467 162.7959  -1.604               0.111    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.072

Cohesion

Intention to Treat

# Time 1
lm(cohesion ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = cohesion ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.6387 -1.6057  0.3613  1.3943  4.3943 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              5.62217    0.09764  57.578 <0.0000000000000002 ***
## condflourish_vs_control  0.01648    0.09764   0.169               0.866    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.148 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  5.911e-05,  Adjusted R-squared:  -0.002015 
## F-statistic: 0.02849 on 1 and 482 DF,  p-value: 0.866
# Time 4
lm(cohesion ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = cohesion ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.1067 -1.1067  0.3275  1.3275  4.3275 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.8896     0.1157  50.902 <0.0000000000000002 ***
## condflourish_vs_control   0.2171     0.1157   1.876              0.0614 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.161 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.01005,    Adjusted R-squared:  0.007192 
## F-statistic: 3.521 on 1 and 347 DF,  p-value: 0.06143
cohens_d(cohesion ~ cond, data = subset(data_ITT, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## -0.20     | [-0.41, 0.01]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
model <- lmer(cohesion ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: cohesion ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 1696.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.24918 -0.43582 -0.03829  0.47162  1.89841 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.624    1.904   
##  Residual              1.221    1.105   
## Number of obs: 416, groups:  unique_ID, 239
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     5.84424    0.13596 238.17755  42.985 < 0.0000000000000002 ***
## I(time - 2.5)   0.13926    0.03849 185.66322   3.618             0.000382 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.096
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.22 | [0.04, 0.40]
## time - 2 5  |       0.09 | [0.04, 0.15]
# Control cond: over time
lmer(cohesion ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: cohesion ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 1659.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.4673 -0.3786  0.0809  0.5052  2.5259 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.391    1.841   
##  Residual              1.043    1.021   
## Number of obs: 417, groups:  unique_ID, 246
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.64038    0.12933 251.67813   43.61 <0.0000000000000002 ***
## I(time - 2.5)   0.02313    0.03615 185.08337    0.64               0.523    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.117

Excluded Unreasonable Numbers

# Time 1
lm(cohesion ~ cond, data = subset(data_excluded_unreasonable, time == 1)) |> summary()
## 
## Call:
## lm(formula = cohesion ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.6331 -1.4973  0.3669  1.5027  4.5027 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.5652     0.1168  47.632 <0.0000000000000002 ***
## condflourish_vs_control   0.0679     0.1168   0.581               0.561    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.202 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.0009533,  Adjusted R-squared:  -0.001869 
## F-statistic: 0.3378 on 1 and 354 DF,  p-value: 0.5615
# Time 4
lm(cohesion ~ cond, data = subset(data_excluded_unreasonable, time == 4)) |> summary()
## 
## Call:
## lm(formula = cohesion ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.0496 -1.6194  0.3806  1.3806  4.3806 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               5.8345     0.1290  45.224 <0.0000000000000002 ***
## condflourish_vs_control   0.2151     0.1290   1.668              0.0965 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.217 on 294 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.009371,   Adjusted R-squared:  0.006001 
## F-statistic: 2.781 on 1 and 294 DF,  p-value: 0.09645
# Flourish cond: over time
model <- lmer(cohesion ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "flourish"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: cohesion ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "flourish")
## 
## REML criterion at convergence: 1258.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.18777 -0.41409  0.01838  0.46319  1.99315 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 4.014    2.004   
##  Residual              1.121    1.059   
## Number of obs: 310, groups:  unique_ID, 170
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     5.84112    0.16591 168.50397  35.206 < 0.0000000000000002 ***
## I(time - 2.5)   0.14190    0.04176 143.45334   3.398             0.000878 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.056
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.23 | [0.03, 0.43]
## time - 2 5  |       0.09 | [0.04, 0.15]
# Control cond: over time
lmer(cohesion ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: cohesion ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "control")
## 
## REML criterion at convergence: 1361.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.40666 -0.38214  0.02661  0.52749  2.49832 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.560    1.887   
##  Residual              1.078    1.038   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)     5.53131    0.14981 188.08233  36.923 <0.0000000000000002 ***
## I(time - 2.5)   0.02266    0.03891 161.57126   0.582               0.561    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.060

Mindfulness

Intention to Treat

# Time 1
lm(mindfulness_rev ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = mindfulness_rev ~ cond, data = subset(data_ITT, 
##     time == 1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.4065  -4.2311  -0.4065   3.5935  14.7689 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             15.31880    0.27130  56.465 <0.0000000000000002 ***
## condflourish_vs_control -0.08771    0.27130  -0.323               0.747    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.968 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.0002168,  Adjusted R-squared:  -0.001857 
## F-statistic: 0.1045 on 1 and 482 DF,  p-value: 0.7466
# Time 4
lm(mindfulness_rev ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = mindfulness_rev ~ cond, data = subset(data_ITT, 
##     time == 4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -14.9944  -3.9944   0.0056   4.0056  15.0056 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              14.3656     0.3243  44.296 <0.0000000000000002 ***
## condflourish_vs_control   0.6288     0.3243   1.939              0.0533 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.057 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.01072,    Adjusted R-squared:  0.007866 
## F-statistic: 3.759 on 1 and 347 DF,  p-value: 0.05334
cohens_d(mindfulness_rev ~ cond, data = subset(data_ITT, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## -0.21     | [-0.42, 0.00]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 2628.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.45922 -0.52118  0.00727  0.50981  2.26629 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 20.51    4.529   
##  Residual              17.21    4.148   
## Number of obs: 416, groups:  unique_ID, 239
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    15.0148     0.3625 233.9249  41.420 <0.0000000000000002 ***
## I(time - 2.5)  -0.1491     0.1425 192.8186  -1.046               0.297    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.121
# Control cond: over time
model <- lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 2566.4
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.35469 -0.42423 -0.02245  0.48029  2.21617 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 22.40    4.733   
##  Residual              12.07    3.474   
## Number of obs: 417, groups:  unique_ID, 246
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)    14.6087     0.3528 252.1561  41.410 < 0.0000000000000002 ***
## I(time - 2.5)  -0.5318     0.1218 192.2772  -4.365            0.0000208 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.138
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.33 | [-0.52, -0.13]
## time - 2 5  |      -0.13 | [-0.19, -0.07]

Excluded Preregistered

# Time 1
lm(mindfulness_rev ~ cond, data = subset(data_excluded, time == 1)) |> summary()
## 
## Call:
## lm(formula = mindfulness_rev ~ cond, data = subset(data_excluded, 
##     time == 1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.5241  -3.5241  -0.5241   3.5572  14.5572 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             15.48343    0.29737  52.069 <0.0000000000000002 ***
## condflourish_vs_control -0.04064    0.29737  -0.137               0.891    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.854 on 386 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  4.838e-05,  Adjusted R-squared:  -0.002542 
## F-statistic: 0.01868 on 1 and 386 DF,  p-value: 0.8914
# Time 4
lm(mindfulness_rev ~ cond, data = subset(data_excluded, time == 4)) |> summary()
## 
## Call:
## lm(formula = mindfulness_rev ~ cond, data = subset(data_excluded, 
##     time == 4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.0947  -3.7226  -0.0947   4.2774  14.9053 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              14.4086     0.3343  43.101 <0.0000000000000002 ***
## condflourish_vs_control   0.6860     0.3343   2.052               0.041 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.012 on 322 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.01291,    Adjusted R-squared:  0.009845 
## F-statistic: 4.211 on 1 and 322 DF,  p-value: 0.04096
cohens_d(mindfulness_rev ~ cond, data = subset(data_excluded, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |         95% CI
## --------------------------
## -0.23     | [-0.45, -0.01]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "flourish")
## 
## REML criterion at convergence: 2326.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.4968 -0.5073 -0.0235  0.5175  2.2521 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 19.19    4.380   
##  Residual              17.32    4.162   
## Number of obs: 370, groups:  unique_ID, 202
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    15.2448     0.3800 200.8598  40.120 <0.0000000000000002 ***
## I(time - 2.5)  -0.1371     0.1483 180.7662  -0.925               0.356    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.074
# Control cond: over time
lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "control")
## 
## REML criterion at convergence: 2083.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.38364 -0.42930 -0.02933  0.50623  2.18221 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 21.87    4.677   
##  Residual              11.49    3.390   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)    14.6386     0.3911 187.8765  37.433 < 0.0000000000000002 ***
## I(time - 2.5)  -0.5903     0.1264 164.5608  -4.669           0.00000626 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.071

Excluded Unreasonable Numbers

# Time 1
lm(mindfulness_rev ~ cond, data = subset(data_excluded_unreasonable, time == 1)) |> summary()
## 
## Call:
## lm(formula = mindfulness_rev ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.5241  -3.5241  -0.5241   3.4759  14.6213 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             15.45138    0.30501  50.658 <0.0000000000000002 ***
## condflourish_vs_control -0.07268    0.30501  -0.238               0.812    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.748 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.0001604,  Adjusted R-squared:  -0.002664 
## F-statistic: 0.05678 on 1 and 354 DF,  p-value: 0.8118
# Time 4
lm(mindfulness_rev ~ cond, data = subset(data_excluded_unreasonable, time == 4)) |> summary()
## 
## Call:
## lm(formula = mindfulness_rev ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -15.0142  -3.7226  -0.0142   4.0587  14.2774 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              14.3684     0.3467  41.439 <0.0000000000000002 ***
## condflourish_vs_control   0.6458     0.3467   1.863              0.0635 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.959 on 294 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.01166,    Adjusted R-squared:  0.0083 
## F-statistic: 3.469 on 1 and 294 DF,  p-value: 0.06353
cohens_d(mindfulness_rev ~ cond, data = subset(data_excluded_unreasonable, time == 4))
## Warning: Missing values detected. NAs dropped.
## Cohen's d |        95% CI
## -------------------------
## -0.22     | [-0.45, 0.01]
## 
## - Estimated using pooled SD.
# Flourish cond: over time
lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "flourish")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "flourish")
## 
## REML criterion at convergence: 1938.9
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.52078 -0.52291 -0.04009  0.49768  2.28421 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 17.53    4.187   
##  Residual              17.26    4.155   
## Number of obs: 310, groups:  unique_ID, 170
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    15.1630     0.4024 168.4224  37.682 <0.0000000000000002 ***
## I(time - 2.5)  -0.1499     0.1618 151.2869  -0.926               0.356    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.078
# Control cond: over time
lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "control")) |> summary()
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "control")
## 
## REML criterion at convergence: 2083.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.38364 -0.42930 -0.02933  0.50623  2.18221 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 21.87    4.677   
##  Residual              11.49    3.390   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)    14.6386     0.3911 187.8765  37.433 < 0.0000000000000002 ***
## I(time - 2.5)  -0.5903     0.1264 164.5608  -4.669           0.00000626 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.071

Emotional Resilience

Intention to Treat

# Time 1
lm(emo_res ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_ITT, time == 
##     1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.0366  -3.0366   0.3333   3.3333  10.9634 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)               18.852      0.207  91.071 <0.0000000000000002 ***
## condflourish_vs_control   -0.185      0.207  -0.894               0.372    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.548 on 481 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.001657,   Adjusted R-squared:  -0.0004185 
## F-statistic: 0.7984 on 1 and 481 DF,  p-value: 0.372
# Time 4
lm(emo_res ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_ITT, time == 
##     4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.3146  -2.7953   0.2047   3.2047  11.2047 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              19.0550     0.2333  81.667 <0.0000000000000002 ***
## condflourish_vs_control   0.2596     0.2333   1.113               0.267    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.358 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.003556,   Adjusted R-squared:  0.0006844 
## F-statistic: 1.238 on 1 and 347 DF,  p-value: 0.2666
# Flourish cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 2275.5
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.88014 -0.44224  0.03937  0.47525  2.29807 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 13.770   3.711   
##  Residual               5.349   2.313   
## Number of obs: 415, groups:  unique_ID, 239
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)    18.96500    0.26861 240.42626  70.605 <0.0000000000000002 ***
## I(time - 2.5)   0.20607    0.08059 188.80147   2.557              0.0113 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.099
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |       0.17 | [-0.01, 0.35]
## time - 2 5  |       0.07 | [ 0.02, 0.12]
# Control cond: over time
model <- lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 2566.4
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.35469 -0.42423 -0.02245  0.48029  2.21617 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 22.40    4.733   
##  Residual              12.07    3.474   
## Number of obs: 417, groups:  unique_ID, 246
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)    14.6087     0.3528 252.1561  41.410 < 0.0000000000000002 ***
## I(time - 2.5)  -0.5318     0.1218 192.2772  -4.365            0.0000208 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.138
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.33 | [-0.52, -0.13]
## time - 2 5  |      -0.13 | [-0.19, -0.07]

Excluded Preregistered

# Time 1
lm(emo_res ~ cond, data = subset(data_excluded, time == 1)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -12.722  -2.815   0.185   3.278  11.278 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             18.76846    0.23115  81.197 <0.0000000000000002 ***
## condflourish_vs_control  0.04654    0.23115   0.201               0.841    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.545 on 385 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.0001053,  Adjusted R-squared:  -0.002492 
## F-statistic: 0.04053 on 1 and 385 DF,  p-value: 0.8405
# Time 4
lm(emo_res ~ cond, data = subset(data_excluded, time == 4)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded, time == 
##     4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.4260  -2.7806   0.2194   3.2194  11.2194 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              19.1033     0.2402  79.532 <0.0000000000000002 ***
## condflourish_vs_control   0.3227     0.2402   1.343                0.18    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.319 on 322 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.005574,   Adjusted R-squared:  0.002486 
## F-statistic: 1.805 on 1 and 322 DF,  p-value: 0.1801
# Flourish cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "flourish")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "flourish")
## 
## REML criterion at convergence: 2019.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8624 -0.4298  0.0326  0.4597  2.2635 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 13.676   3.698   
##  Residual               5.482   2.341   
## Number of obs: 369, groups:  unique_ID, 202
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    19.1211     0.2892 202.6132   66.12 <0.0000000000000002 ***
## I(time - 2.5)   0.2133     0.0843 175.7398    2.53              0.0123 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.059
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |       0.18 | [-0.01, 0.37]
## time - 2 5  |       0.07 | [ 0.02, 0.13]
# Control cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "control")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "control")
## 
## REML criterion at convergence: 1864.1
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.36123 -0.45615  0.02325  0.44945  2.13938 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 15.07    3.882   
##  Residual               4.86    2.205   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)    18.76079    0.30972 188.64406  60.573 <0.0000000000000002 ***
## I(time - 2.5)   0.02591    0.08260 162.45211   0.314               0.754    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.061
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |       0.02 | [-0.17, 0.22]
## time - 2 5  |   8.63e-03 | [-0.05, 0.06]

Excluded Unreasonable Numbers

# Time 1
lm(emo_res ~ cond, data = subset(data_excluded_unreasonable, time == 1)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -12.7219  -2.9586   0.3047   3.3314  11.2781 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             18.69528    0.24212   77.22 <0.0000000000000002 ***
## condflourish_vs_control -0.02664    0.24212   -0.11               0.912    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.562 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  3.42e-05,   Adjusted R-squared:  -0.002791 
## F-statistic: 0.01211 on 1 and 354 DF,  p-value: 0.9124
# Time 4
lm(emo_res ~ cond, data = subset(data_excluded_unreasonable, time == 4)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.4397  -2.7806   0.2194   3.2194  11.2194 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              19.1102     0.2543  75.147 <0.0000000000000002 ***
## condflourish_vs_control   0.3295     0.2543   1.296               0.196    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.37 on 294 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.005679,   Adjusted R-squared:  0.002297 
## F-statistic: 1.679 on 1 and 294 DF,  p-value: 0.196
# Flourish cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "flourish")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "flourish")
## 
## REML criterion at convergence: 1700.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.81861 -0.41970  0.02446  0.47115  2.08063 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 14.26    3.776   
##  Residual               5.41    2.326   
## Number of obs: 310, groups:  unique_ID, 170
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)    19.06483    0.32043 170.52436  59.498 < 0.0000000000000002 ***
## I(time - 2.5)   0.27406    0.09151 146.97210   2.995              0.00322 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.062
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.23 | [0.02, 0.44]
## time - 2 5  |       0.09 | [0.03, 0.15]
# Control cond: over time
model <- lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "control")
## 
## REML criterion at convergence: 2083.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.38364 -0.42930 -0.02933  0.50623  2.18221 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 21.87    4.677   
##  Residual              11.49    3.390   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)    14.6386     0.3911 187.8765  37.433 < 0.0000000000000002 ***
## I(time - 2.5)  -0.5903     0.1264 164.5608  -4.669           0.00000626 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.071
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.37 | [-0.58, -0.17]
## time - 2 5  |      -0.15 | [-0.21, -0.09]

Closeness to School (IOS)

Intention to Treat

# Time 1
lm(ios ~ cond, data = subset(data_ITT, time == 1)) |> summary()
## 
## Call:
## lm(formula = ios ~ cond, data = subset(data_ITT, time == 1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2479 -1.2358 -0.2358  0.7642  3.7642 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             3.241836   0.063577  50.991 <0.0000000000000002 ***
## condflourish_vs_control 0.006063   0.063577   0.095               0.924    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.399 on 482 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  1.887e-05,  Adjusted R-squared:  -0.002056 
## F-statistic: 0.009096 on 1 and 482 DF,  p-value: 0.9241
# Time 4
lm(ios ~ cond, data = subset(data_ITT, time == 4)) |> summary()
## 
## Call:
## lm(formula = ios ~ cond, data = subset(data_ITT, time == 4))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.5225 -1.3099 -0.3099  0.6901  3.6901 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              3.41621    0.07664  44.576 <0.0000000000000002 ***
## condflourish_vs_control  0.10627    0.07664   1.387               0.166    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.431 on 347 degrees of freedom
##   (137 observations deleted due to missingness)
## Multiple R-squared:  0.00551,    Adjusted R-squared:  0.002644 
## F-statistic: 1.923 on 1 and 347 DF,  p-value: 0.1665
# Flourish cond: over time
model <- lmer(ios ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "flourish")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ios ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "flourish")
## 
## REML criterion at convergence: 1398.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0094 -0.5395 -0.0959  0.4484  3.3619 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.1868   1.0894  
##  Residual              0.8128   0.9015  
## Number of obs: 416, groups:  unique_ID, 239
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)     3.37714    0.08446 240.29666  39.984 < 0.0000000000000002 ***
## I(time - 2.5)   0.08534    0.03108 196.22672   2.746              0.00659 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.117
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.22 | [0.02, 0.42]
## time - 2 5  |       0.09 | [0.03, 0.15]
# Control cond: over time
model <- lmer(ios ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_ITT, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ios ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_ITT, cond == "control")
## 
## REML criterion at convergence: 1395.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7664 -0.5029 -0.0765  0.4815  3.1886 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.1931   1.0923  
##  Residual              0.7807   0.8836  
## Number of obs: 417, groups:  unique_ID, 246
## 
## Fixed effects:
##                 Estimate Std. Error         df t value            Pr(>|t|)    
## (Intercept)     3.243371   0.083638 251.823880  38.779 <0.0000000000000002 ***
## I(time - 2.5)   0.005066   0.030877 195.019692   0.164                0.87    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.144

Excluded Preregistered

# Time 1
lm(emo_res ~ cond, data = subset(data_excluded, time == 1)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded, time == 
##     1))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -12.722  -2.815   0.185   3.278  11.278 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             18.76846    0.23115  81.197 <0.0000000000000002 ***
## condflourish_vs_control  0.04654    0.23115   0.201               0.841    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.545 on 385 degrees of freedom
##   (2 observations deleted due to missingness)
## Multiple R-squared:  0.0001053,  Adjusted R-squared:  -0.002492 
## F-statistic: 0.04053 on 1 and 385 DF,  p-value: 0.8405
# Time 4
lm(emo_res ~ cond, data = subset(data_excluded, time == 4)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded, time == 
##     4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.4260  -2.7806   0.2194   3.2194  11.2194 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              19.1033     0.2402  79.532 <0.0000000000000002 ***
## condflourish_vs_control   0.3227     0.2402   1.343                0.18    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.319 on 322 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.005574,   Adjusted R-squared:  0.002486 
## F-statistic: 1.805 on 1 and 322 DF,  p-value: 0.1801
# Flourish cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "flourish")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "flourish")
## 
## REML criterion at convergence: 2019.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8624 -0.4298  0.0326  0.4597  2.2635 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 13.676   3.698   
##  Residual               5.482   2.341   
## Number of obs: 369, groups:  unique_ID, 202
## 
## Fixed effects:
##               Estimate Std. Error       df t value            Pr(>|t|)    
## (Intercept)    19.1211     0.2892 202.6132   66.12 <0.0000000000000002 ***
## I(time - 2.5)   0.2133     0.0843 175.7398    2.53              0.0123 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.059
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |       0.18 | [-0.01, 0.37]
## time - 2 5  |       0.07 | [ 0.02, 0.13]
# Control cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded, cond == "control")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded, cond == "control")
## 
## REML criterion at convergence: 1864.1
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.36123 -0.45615  0.02325  0.44945  2.13938 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 15.07    3.882   
##  Residual               4.86    2.205   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##                Estimate Std. Error        df t value            Pr(>|t|)    
## (Intercept)    18.76079    0.30972 188.64406  60.573 <0.0000000000000002 ***
## I(time - 2.5)   0.02591    0.08260 162.45211   0.314               0.754    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.061
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |        95% CI
## ----------------------------------------
## (Intercept) |       0.02 | [-0.17, 0.22]
## time - 2 5  |   8.63e-03 | [-0.05, 0.06]

Excluded Unreasonable Numbers

# Time 1
lm(emo_res ~ cond, data = subset(data_excluded_unreasonable, time == 1)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 1))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -12.7219  -2.9586   0.3047   3.3314  11.2781 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)             18.69528    0.24212   77.22 <0.0000000000000002 ***
## condflourish_vs_control -0.02664    0.24212   -0.11               0.912    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.562 on 354 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  3.42e-05,   Adjusted R-squared:  -0.002791 
## F-statistic: 0.01211 on 1 and 354 DF,  p-value: 0.9124
# Time 4
lm(emo_res ~ cond, data = subset(data_excluded_unreasonable, time == 4)) |> summary()
## 
## Call:
## lm(formula = emo_res ~ cond, data = subset(data_excluded_unreasonable, 
##     time == 4))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -13.4397  -2.7806   0.2194   3.2194  11.2194 
## 
## Coefficients:
##                         Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)              19.1102     0.2543  75.147 <0.0000000000000002 ***
## condflourish_vs_control   0.3295     0.2543   1.296               0.196    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.37 on 294 degrees of freedom
##   (32 observations deleted due to missingness)
## Multiple R-squared:  0.005679,   Adjusted R-squared:  0.002297 
## F-statistic: 1.679 on 1 and 294 DF,  p-value: 0.196
# Flourish cond: over time
model <- lmer(emo_res ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "flourish")) 
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "flourish")
## 
## REML criterion at convergence: 1700.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.81861 -0.41970  0.02446  0.47115  2.08063 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 14.26    3.776   
##  Residual               5.41    2.326   
## Number of obs: 310, groups:  unique_ID, 170
## 
## Fixed effects:
##                Estimate Std. Error        df t value             Pr(>|t|)    
## (Intercept)    19.06483    0.32043 170.52436  59.498 < 0.0000000000000002 ***
## I(time - 2.5)   0.27406    0.09151 146.97210   2.995              0.00322 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.062
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |       95% CI
## ---------------------------------------
## (Intercept) |       0.23 | [0.02, 0.44]
## time - 2 5  |       0.09 | [0.03, 0.15]
# Control cond: over time
model <- lmer(mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID), data = subset(data_excluded_unreasonable, cond == "control"))
summary(model)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness_rev ~ I(time - 2.5) + (1 | unique_ID)
##    Data: subset(data_excluded_unreasonable, cond == "control")
## 
## REML criterion at convergence: 2083.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.38364 -0.42930 -0.02933  0.50623  2.18221 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 21.87    4.677   
##  Residual              11.49    3.390   
## Number of obs: 342, groups:  unique_ID, 187
## 
## Fixed effects:
##               Estimate Std. Error       df t value             Pr(>|t|)    
## (Intercept)    14.6386     0.3911 187.8765  37.433 < 0.0000000000000002 ***
## I(time - 2.5)  -0.5903     0.1264 164.5608  -4.669           0.00000626 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr)
## I(time-2.5) 0.071
standardize_parameters(model)
## # Standardization method: refit
## 
## Parameter   | Std. Coef. |         95% CI
## -----------------------------------------
## (Intercept) |      -0.37 | [-0.58, -0.17]
## time - 2 5  |      -0.15 | [-0.21, -0.09]

Who gets the most out of Flourish?

Difference scores within Flourish condition

# make wide again - ITT 
merged_data_wide_ITT <- data_ITT %>%
  pivot_wider(
    id_cols = c(unique_ID, univ, cond, Gender, Sex, Age, int_student, SES, SES_num, starts_with("Ethnicity")),
    names_from = time,
    names_prefix = "",
    names_sep = "_",
    values_from = c(depression, anxiety, loneliness, perceived_stress,
                    SAS_calm, SAS_well_being, SAS_vigour, SAS_depression, SAS_anxiety,
                    SAS_anger, SAS_positive, SAS_negative, flourishing, social_fit,
                    cohesion, mindfulness_rev, emo_res, school_satis, wellbeing_priority,
                    acad_selfefficacy, ios, Engagement_1, Engagement_2, Engagement_3)) |>
  dplyr::select(-c(Engagement_1_2, Engagement_1_3, Engagement_2_2, Engagement_2_3, Engagement_3_2, Engagement_3_3)) |> 
  dplyr::rename(ActiveDays = Engagement_1_4,
                Reports = Engagement_2_4,
                Activities = Engagement_3_4) |> 
  dplyr::select(where(~ !all(is.na(.)))) 

diff_flourish_ITT <- merged_data_wide_ITT |>
  dplyr::filter(cond == "flourish") |>
  dplyr::mutate(depression_diff = depression_4 - depression_1,
                anxiety_diff = anxiety_4 - anxiety_1,
                loneliness_diff = loneliness_4 - loneliness_1,
                perceived_stress_diff = perceived_stress_4 - perceived_stress_1,
                SAS_calm_diff = SAS_calm_4 - SAS_calm_1,
                SAS_well_being_diff = SAS_well_being_4 - SAS_well_being_1,
                SAS_vigour_diff = SAS_vigour_4 - SAS_vigour_1,
                SAS_depression_diff = SAS_depression_4 - SAS_depression_1,
                SAS_anxiety_diff = SAS_anxiety_4 - SAS_anxiety_1,
                SAS_anger_diff = SAS_anger_4 - SAS_anger_1,
                SAS_positive_diff = SAS_positive_4 - SAS_positive_1,
                SAS_negative_diff = SAS_negative_4 - SAS_negative_1,
                flourishing_diff = flourishing_4 - flourishing_1,
                social_fit_diff = social_fit_4 - social_fit_1,
                cohesion_diff = cohesion_4 - cohesion_1,
                mindfulness_diff = mindfulness_rev_4 - mindfulness_rev_1,
                emo_res_diff = emo_res_4 - emo_res_1,
                school_satis_diff = school_satis_4 - school_satis_1,
                wellbeing_priority_diff = wellbeing_priority_4 - wellbeing_priority_1,
                acad_selfefficacy_diff = acad_selfefficacy_4 - acad_selfefficacy_1,
                ios_diff = ios_4 - ios_1)

# make wide again - data_excluded 
merged_data_wide_excluded <- data_excluded %>%
  pivot_wider(
    id_cols = c(unique_ID, univ, cond, Gender, Sex, Age, int_student, SES, SES_num, starts_with("Ethnicity")),
    names_from = time,
    names_prefix = "",
    names_sep = "_",
    values_from = c(depression, anxiety, loneliness, perceived_stress,
                    SAS_calm, SAS_well_being, SAS_vigour, SAS_depression, SAS_anxiety,
                    SAS_anger, SAS_positive, SAS_negative, flourishing, social_fit,
                    cohesion, mindfulness_rev, emo_res, school_satis, wellbeing_priority,
                    acad_selfefficacy, ios, Engagement_1, Engagement_2, Engagement_3)) |>
  dplyr::select(-c(Engagement_1_2, Engagement_1_3, Engagement_2_2, Engagement_2_3, Engagement_3_2, Engagement_3_3)) |>
  dplyr::rename(ActiveDays = Engagement_1_4,
                Reports = Engagement_2_4,
                Activities = Engagement_3_4) |> 
  dplyr::select(where(~ !all(is.na(.)))) 

diff_flourish_excluded <- merged_data_wide_excluded |>
  dplyr::filter(cond == "flourish") |>
  dplyr::mutate(depression_diff = depression_4 - depression_1,
                anxiety_diff = anxiety_4 - anxiety_1,
                loneliness_diff = loneliness_4 - loneliness_1,
                perceived_stress_diff = perceived_stress_4 - perceived_stress_1,
                SAS_calm_diff = SAS_calm_4 - SAS_calm_1,
                SAS_well_being_diff = SAS_well_being_4 - SAS_well_being_1,
                SAS_vigour_diff = SAS_vigour_4 - SAS_vigour_1,
                SAS_depression_diff = SAS_depression_4 - SAS_depression_1,
                SAS_anxiety_diff = SAS_anxiety_4 - SAS_anxiety_1,
                SAS_anger_diff = SAS_anger_4 - SAS_anger_1,
                SAS_positive_diff = SAS_positive_4 - SAS_positive_1,
                SAS_negative_diff = SAS_negative_4 - SAS_negative_1,
                flourishing_diff = flourishing_4 - flourishing_1,
                social_fit_diff = social_fit_4 - social_fit_1,
                cohesion_diff = cohesion_4 - cohesion_1,
                mindfulness_diff = mindfulness_rev_4 - mindfulness_rev_1,
                emo_res_diff = emo_res_4 - emo_res_1,
                school_satis_diff = school_satis_4 - school_satis_1,
                wellbeing_priority_diff = wellbeing_priority_4 - wellbeing_priority_1,
                acad_selfefficacy_diff = acad_selfefficacy_4 - acad_selfefficacy_1,
                ios_diff = ios_4 - ios_1)

# make wide again - data_excluded_unreasonable
merged_data_wide_excluded_unreasonable <- data_excluded_unreasonable %>%
  pivot_wider(
    id_cols = c(unique_ID, univ, cond, Gender, Sex, Age, int_student, SES, SES_num, starts_with("Ethnicity")),
    names_from = time,
    names_prefix = "",
    names_sep = "_",
    values_from = c(depression, anxiety, loneliness, perceived_stress,
                    SAS_calm, SAS_well_being, SAS_vigour, SAS_depression, SAS_anxiety,
                    SAS_anger, SAS_positive, SAS_negative, flourishing, social_fit,
                    cohesion, mindfulness_rev, emo_res, school_satis, wellbeing_priority,
                    acad_selfefficacy, ios, Engagement_1, Engagement_2, Engagement_3)) |>
  dplyr::select(-c(Engagement_1_2, Engagement_1_3, Engagement_2_2, Engagement_2_3, Engagement_3_2, Engagement_3_3)) |> 
  dplyr::rename(ActiveDays = Engagement_1_4,
                Reports = Engagement_2_4,
                Activities = Engagement_3_4) |> 
  dplyr::select(where(~ !all(is.na(.)))) 

diff_flourish_excluded_unreasonable <- merged_data_wide_excluded_unreasonable |>
  dplyr::filter(cond == "flourish") |>
  dplyr::mutate(depression_diff = depression_4 - depression_1,
                anxiety_diff = anxiety_4 - anxiety_1,
                loneliness_diff = loneliness_4 - loneliness_1,
                perceived_stress_diff = perceived_stress_4 - perceived_stress_1,
                SAS_calm_diff = SAS_calm_4 - SAS_calm_1,
                SAS_well_being_diff = SAS_well_being_4 - SAS_well_being_1,
                SAS_vigour_diff = SAS_vigour_4 - SAS_vigour_1,
                SAS_depression_diff = SAS_depression_4 - SAS_depression_1,
                SAS_anxiety_diff = SAS_anxiety_4 - SAS_anxiety_1,
                SAS_anger_diff = SAS_anger_4 - SAS_anger_1,
                SAS_positive_diff = SAS_positive_4 - SAS_positive_1,
                SAS_negative_diff = SAS_negative_4 - SAS_negative_1,
                flourishing_diff = flourishing_4 - flourishing_1,
                social_fit_diff = social_fit_4 - social_fit_1,
                cohesion_diff = cohesion_4 - cohesion_1,
                mindfulness_diff = mindfulness_rev_4 - mindfulness_rev_1,
                emo_res_diff = emo_res_4 - emo_res_1,
                school_satis_diff = school_satis_4 - school_satis_1,
                wellbeing_priority_diff = wellbeing_priority_4 - wellbeing_priority_1,
                acad_selfefficacy_diff = acad_selfefficacy_4 - acad_selfefficacy_1,
                ios_diff = ios_4 - ios_1)

Depression

Intention to Treat

m0_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_depression_diff, m1_depression_diff, m2_depression_diff)
  depression diff depression diff depression diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.15 -0.54 – 0.23 0.434 -0.94 -2.58 – 0.70 0.259 -0.69 -2.54 – 1.15 0.459
ActiveDays -0.00 -0.01 – 0.01 0.918 0.00 -0.01 – 0.01 0.867 0.00 -0.01 – 0.01 0.992
Reports -0.00 -0.04 – 0.03 0.889 -0.00 -0.04 – 0.04 0.966 -0.00 -0.05 – 0.04 0.894
Activities 0.01 -0.01 – 0.02 0.341 0.01 -0.01 – 0.03 0.316 0.01 -0.01 – 0.03 0.275
univ [Foothill] 0.68 -0.06 – 1.43 0.073 0.69 -0.10 – 1.47 0.085
univ [UW] 0.22 -0.26 – 0.70 0.370 0.21 -0.32 – 0.74 0.432
Sex [Woman] 0.15 -0.40 – 0.70 0.600 0.11 -0.45 – 0.68 0.693
Age -0.01 -0.05 – 0.04 0.739 -0.01 -0.06 – 0.04 0.726
int student [No] 0.53 -0.30 – 1.37 0.209 0.56 -0.40 – 1.52 0.251
SES num 0.02 -0.17 – 0.21 0.838 -0.01 -0.22 – 0.20 0.928
Ethnicity White -0.20 -0.84 – 0.43 0.529
Ethnicity Hispanic -0.21 -1.07 – 0.65 0.628
Ethnicity Black -0.34 -1.59 – 0.91 0.591
Ethnicity East Asian 0.07 -0.74 – 0.89 0.856
Ethnicity South Asian -0.28 -1.37 – 0.82 0.620
Ethnicity Native Hawaiian
Pacific Islander
-0.73 -2.84 – 1.38 0.496
Ethnicity Middle Eastern 0.71 -0.76 – 2.17 0.343
Ethnicity American Indian -0.21 -3.49 – 3.08 0.902
Observations 171 170 170
R2 / R2 adjusted 0.006 / -0.012 0.032 / -0.023 0.051 / -0.055

Excluded Preregistered

m0_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_depression_diff, m1_depression_diff, m2_depression_diff)
  depression diff depression diff depression diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.12 -0.52 – 0.28 0.551 -0.81 -2.56 – 0.95 0.365 -0.53 -2.48 – 1.42 0.591
ActiveDays -0.00 -0.01 – 0.01 0.902 0.00 -0.01 – 0.01 0.906 -0.00 -0.01 – 0.01 0.958
Reports -0.00 -0.04 – 0.03 0.870 -0.00 -0.04 – 0.04 0.942 -0.00 -0.05 – 0.04 0.856
Activities 0.01 -0.01 – 0.02 0.397 0.01 -0.01 – 0.03 0.350 0.01 -0.01 – 0.03 0.303
univ [Foothill] 0.78 0.01 – 1.55 0.047 0.79 -0.02 – 1.60 0.055
univ [UW] 0.21 -0.28 – 0.70 0.390 0.20 -0.34 – 0.73 0.471
Sex [Woman] 0.13 -0.44 – 0.69 0.662 0.09 -0.49 – 0.68 0.753
Age -0.01 -0.06 – 0.04 0.649 -0.01 -0.06 – 0.04 0.633
int student [No] 0.48 -0.39 – 1.36 0.277 0.52 -0.47 – 1.51 0.297
SES num 0.02 -0.17 – 0.22 0.812 -0.00 -0.21 – 0.21 0.988
Ethnicity White -0.25 -0.90 – 0.39 0.438
Ethnicity Hispanic -0.29 -1.17 – 0.59 0.515
Ethnicity Black -0.39 -1.64 – 0.87 0.545
Ethnicity East Asian 0.02 -0.81 – 0.84 0.969
Ethnicity South Asian -0.27 -1.39 – 0.86 0.642
Ethnicity Native Hawaiian
Pacific Islander
-0.84 -2.97 – 1.29 0.438
Ethnicity Middle Eastern 0.65 -0.83 – 2.14 0.388
Ethnicity American Indian -0.16 -3.48 – 3.16 0.924
Observations 168 167 167
R2 / R2 adjusted 0.005 / -0.013 0.033 / -0.022 0.054 / -0.054

Excluded Unreasonable Numbers

m0_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_depression_diff <- lm(depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_depression_diff, m1_depression_diff, m2_depression_diff)
  depression diff depression diff depression diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.12 -0.34 – 0.58 0.606 -1.05 -2.97 – 0.87 0.281 -0.89 -3.00 – 1.23 0.409
ActiveDays -0.01 -0.04 – 0.02 0.446 -0.00 -0.03 – 0.02 0.763 -0.01 -0.04 – 0.02 0.633
Reports -0.01 -0.06 – 0.04 0.681 -0.01 -0.06 – 0.04 0.632 -0.02 -0.08 – 0.04 0.451
Activities 0.00 -0.02 – 0.02 0.744 0.00 -0.02 – 0.02 0.992 0.00 -0.02 – 0.02 0.838
univ [Foothill] 0.88 0.03 – 1.73 0.044 0.93 0.03 – 1.83 0.043
univ [UW] 0.36 -0.19 – 0.90 0.195 0.34 -0.26 – 0.93 0.268
Sex [Woman] 0.15 -0.47 – 0.77 0.628 0.05 -0.60 – 0.69 0.890
Age -0.00 -0.05 – 0.04 0.851 -0.00 -0.05 – 0.05 0.971
int student [No] 1.17 0.08 – 2.25 0.035 1.28 0.11 – 2.44 0.032
SES num -0.08 -0.30 – 0.13 0.444 -0.06 -0.29 – 0.16 0.583
Ethnicity White -0.33 -1.02 – 0.37 0.352
Ethnicity Hispanic -0.24 -1.17 – 0.69 0.612
Ethnicity Black -1.03 -2.41 – 0.35 0.141
Ethnicity East Asian -0.18 -1.04 – 0.69 0.687
Ethnicity South Asian -0.38 -1.69 – 0.93 0.562
Ethnicity Native Hawaiian
Pacific Islander
-1.14 -3.28 – 1.01 0.297
Ethnicity Middle Eastern -0.21 -3.14 – 2.71 0.886
Ethnicity American Indian 1.10 -2.52 – 4.72 0.547
Observations 140 140 140
R2 / R2 adjusted 0.011 / -0.011 0.070 / 0.005 0.098 / -0.028

Anxiety

Intention to Treat

m0_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_anxiety_diff, m1_anxiety_diff, m2_anxiety_diff)
  anxiety diff anxiety diff anxiety diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.17 -0.60 – 0.26 0.440 0.47 -1.33 – 2.26 0.608 0.34 -1.65 – 2.34 0.734
ActiveDays 0.01 -0.00 – 0.02 0.196 0.01 -0.00 – 0.03 0.185 0.01 -0.00 – 0.03 0.146
Reports -0.01 -0.05 – 0.03 0.759 -0.01 -0.05 – 0.04 0.761 -0.00 -0.05 – 0.04 0.900
Activities -0.01 -0.02 – 0.01 0.469 -0.00 -0.02 – 0.02 0.724 -0.00 -0.02 – 0.02 0.664
univ [Foothill] 1.11 0.29 – 1.93 0.008 1.01 0.16 – 1.86 0.020
univ [UW] 0.26 -0.27 – 0.78 0.339 0.04 -0.53 – 0.61 0.884
Sex [Woman] -0.16 -0.76 – 0.45 0.606 -0.11 -0.72 – 0.51 0.733
Age -0.04 -0.09 – 0.01 0.133 -0.04 -0.09 – 0.01 0.111
int student [No] 0.05 -0.86 – 0.96 0.910 0.39 -0.65 – 1.43 0.463
SES num -0.04 -0.25 – 0.17 0.699 -0.01 -0.24 – 0.21 0.903
Ethnicity White -0.43 -1.12 – 0.26 0.217
Ethnicity Hispanic -0.35 -1.28 – 0.59 0.462
Ethnicity Black 0.37 -0.98 – 1.72 0.586
Ethnicity East Asian 0.30 -0.58 – 1.18 0.502
Ethnicity South Asian 0.17 -1.01 – 1.35 0.777
Ethnicity Native Hawaiian
Pacific Islander
0.59 -1.70 – 2.87 0.612
Ethnicity Middle Eastern -0.95 -2.54 – 0.64 0.238
Ethnicity American Indian -0.17 -3.74 – 3.39 0.924
Observations 171 170 170
R2 / R2 adjusted 0.011 / -0.007 0.059 / 0.006 0.097 / -0.004

Excluded Preregistered

m0_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_anxiety_diff, m1_anxiety_diff, m2_anxiety_diff)
  anxiety diff anxiety diff anxiety diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.26 -0.70 – 0.18 0.244 0.17 -1.75 – 2.09 0.861 -0.00 -2.11 – 2.10 0.999
ActiveDays 0.01 -0.00 – 0.02 0.178 0.01 -0.00 – 0.03 0.168 0.01 -0.00 – 0.03 0.123
Reports -0.00 -0.05 – 0.04 0.811 -0.01 -0.05 – 0.04 0.799 -0.00 -0.05 – 0.05 0.983
Activities -0.00 -0.02 – 0.01 0.631 -0.00 -0.02 – 0.02 0.834 -0.00 -0.02 – 0.02 0.789
univ [Foothill] 1.04 0.20 – 1.88 0.015 0.95 0.07 – 1.82 0.034
univ [UW] 0.25 -0.28 – 0.78 0.358 0.03 -0.55 – 0.61 0.919
Sex [Woman] -0.11 -0.73 – 0.51 0.724 -0.05 -0.68 – 0.58 0.875
Age -0.03 -0.08 – 0.02 0.177 -0.04 -0.09 – 0.01 0.148
int student [No] 0.16 -0.80 – 1.12 0.744 0.51 -0.56 – 1.57 0.352
SES num -0.03 -0.24 – 0.19 0.789 0.01 -0.22 – 0.23 0.964
Ethnicity White -0.46 -1.16 – 0.24 0.196
Ethnicity Hispanic -0.32 -1.27 – 0.63 0.504
Ethnicity Black 0.36 -1.00 – 1.72 0.601
Ethnicity East Asian 0.33 -0.56 – 1.22 0.462
Ethnicity South Asian 0.06 -1.16 – 1.28 0.926
Ethnicity Native Hawaiian
Pacific Islander
0.68 -1.62 – 2.99 0.559
Ethnicity Middle Eastern -1.02 -2.63 – 0.58 0.210
Ethnicity American Indian -0.36 -3.94 – 3.23 0.843
Observations 168 167 167
R2 / R2 adjusted 0.012 / -0.006 0.051 / -0.003 0.093 / -0.010

Excluded Unreasonable Numbers

m0_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_anxiety_diff <- lm(anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_anxiety_diff, m1_anxiety_diff, m2_anxiety_diff)
  anxiety diff anxiety diff anxiety diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.02 -0.48 – 0.52 0.935 -0.45 -2.53 – 1.63 0.669 -0.20 -2.47 – 2.08 0.862
ActiveDays -0.01 -0.04 – 0.02 0.633 -0.00 -0.04 – 0.03 0.815 -0.01 -0.04 – 0.03 0.724
Reports 0.00 -0.05 – 0.05 0.994 -0.00 -0.05 – 0.05 0.986 -0.01 -0.07 – 0.05 0.744
Activities -0.01 -0.03 – 0.01 0.430 -0.01 -0.03 – 0.01 0.425 -0.01 -0.03 – 0.01 0.486
univ [Foothill] 1.27 0.35 – 2.19 0.007 1.19 0.22 – 2.15 0.016
univ [UW] 0.28 -0.31 – 0.87 0.349 0.12 -0.53 – 0.76 0.719
Sex [Woman] -0.27 -0.94 – 0.40 0.428 -0.28 -0.97 – 0.41 0.420
Age -0.03 -0.08 – 0.03 0.328 -0.03 -0.08 – 0.03 0.325
int student [No] 1.14 -0.04 – 2.31 0.057 1.34 0.09 – 2.59 0.036
SES num -0.06 -0.29 – 0.17 0.626 -0.03 -0.27 – 0.21 0.801
Ethnicity White -0.59 -1.34 – 0.16 0.121
Ethnicity Hispanic -0.48 -1.48 – 0.52 0.346
Ethnicity Black -0.33 -1.81 – 1.16 0.662
Ethnicity East Asian 0.07 -0.86 – 1.01 0.875
Ethnicity South Asian -0.74 -2.15 – 0.67 0.300
Ethnicity Native Hawaiian
Pacific Islander
0.20 -2.11 – 2.50 0.867
Ethnicity Middle Eastern -1.11 -4.25 – 2.03 0.485
Ethnicity American Indian 1.05 -2.84 – 4.94 0.594
Observations 140 140 140
R2 / R2 adjusted 0.013 / -0.008 0.094 / 0.032 0.134 / 0.013

Loneliness

Intention to Treat

m0_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_loneliness_diff, m1_loneliness_diff, m2_loneliness_diff)
  loneliness diff loneliness diff loneliness diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.34 -0.72 – 0.05 0.086 -1.53 -3.17 – 0.10 0.066 -1.89 -3.72 – -0.07 0.042
ActiveDays 0.01 -0.00 – 0.03 0.060 0.02 0.00 – 0.03 0.030 0.01 0.00 – 0.03 0.038
Reports -0.02 -0.05 – 0.02 0.411 -0.01 -0.05 – 0.03 0.581 0.01 -0.04 – 0.05 0.760
Activities -0.02 -0.03 – 0.00 0.066 -0.02 -0.04 – -0.00 0.039 -0.02 -0.03 – 0.00 0.077
univ [Foothill] 0.13 -0.61 – 0.87 0.734 0.12 -0.66 – 0.90 0.758
univ [UW] 0.22 -0.26 – 0.70 0.369 0.16 -0.36 – 0.68 0.554
Sex [Woman] 0.07 -0.48 – 0.62 0.810 0.08 -0.48 – 0.65 0.765
Age 0.02 -0.03 – 0.06 0.390 0.02 -0.02 – 0.07 0.320
int student [No] 0.58 -0.25 – 1.41 0.167 0.83 -0.11 – 1.78 0.084
SES num 0.02 -0.17 – 0.21 0.826 0.02 -0.19 – 0.22 0.875
Ethnicity White -0.16 -0.78 – 0.47 0.621
Ethnicity Hispanic 0.07 -0.79 – 0.92 0.878
Ethnicity Black -0.50 -1.73 – 0.74 0.428
Ethnicity East Asian 0.28 -0.52 – 1.08 0.494
Ethnicity South Asian -0.04 -1.12 – 1.04 0.940
Ethnicity Native Hawaiian
Pacific Islander
0.05 -2.04 – 2.13 0.966
Ethnicity Middle Eastern -0.39 -1.84 – 1.06 0.596
Ethnicity American Indian -2.97 -6.23 – 0.28 0.073
Observations 171 170 170
R2 / R2 adjusted 0.029 / 0.012 0.048 / -0.005 0.082 / -0.021

Excluded Preregistered

m0_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_loneliness_diff, m1_loneliness_diff, m2_loneliness_diff)
  loneliness diff loneliness diff loneliness diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.34 -0.73 – 0.06 0.096 -2.01 -3.74 – -0.28 0.023 -2.41 -4.31 – -0.50 0.013
ActiveDays 0.01 -0.00 – 0.03 0.060 0.02 0.00 – 0.03 0.023 0.02 0.00 – 0.03 0.024
Reports -0.02 -0.05 – 0.02 0.412 -0.01 -0.05 – 0.03 0.609 0.01 -0.03 – 0.05 0.660
Activities -0.02 -0.03 – 0.00 0.069 -0.02 -0.04 – -0.00 0.041 -0.02 -0.03 – 0.00 0.084
univ [Foothill] 0.15 -0.61 – 0.91 0.697 0.13 -0.66 – 0.92 0.748
univ [UW] 0.24 -0.24 – 0.73 0.318 0.19 -0.33 – 0.71 0.471
Sex [Woman] 0.18 -0.38 – 0.74 0.535 0.22 -0.35 – 0.79 0.453
Age 0.02 -0.02 – 0.07 0.307 0.03 -0.02 – 0.08 0.238
int student [No] 0.80 -0.06 – 1.67 0.069 1.06 0.09 – 2.02 0.032
SES num 0.04 -0.15 – 0.24 0.670 0.05 -0.16 – 0.25 0.656
Ethnicity White -0.24 -0.87 – 0.39 0.458
Ethnicity Hispanic 0.01 -0.84 – 0.87 0.972
Ethnicity Black -0.59 -1.81 – 0.64 0.348
Ethnicity East Asian 0.25 -0.56 – 1.05 0.545
Ethnicity South Asian -0.32 -1.42 – 0.79 0.572
Ethnicity Native Hawaiian
Pacific Islander
0.10 -1.98 – 2.18 0.928
Ethnicity Middle Eastern -0.54 -1.99 – 0.91 0.459
Ethnicity American Indian -3.20 -6.44 – 0.04 0.053
Observations 168 167 167
R2 / R2 adjusted 0.030 / 0.012 0.059 / 0.005 0.100 / -0.003

Excluded Unreasonable Numbers

m0_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_loneliness_diff <- lm(loneliness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_loneliness_diff, m1_loneliness_diff, m2_loneliness_diff)
  loneliness diff loneliness diff loneliness diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.26 -0.71 – 0.20 0.267 -1.70 -3.65 – 0.25 0.086 -1.95 -4.03 – 0.14 0.068
ActiveDays -0.00 -0.03 – 0.02 0.782 -0.00 -0.03 – 0.03 0.905 -0.00 -0.03 – 0.03 0.872
Reports 0.01 -0.04 – 0.06 0.737 0.01 -0.04 – 0.06 0.690 0.04 -0.02 – 0.09 0.237
Activities -0.01 -0.03 – 0.00 0.151 -0.02 -0.04 – 0.00 0.098 -0.01 -0.03 – 0.01 0.216
univ [Foothill] 0.03 -0.83 – 0.90 0.942 -0.03 -0.91 – 0.86 0.949
univ [UW] 0.12 -0.43 – 0.67 0.673 0.01 -0.58 – 0.60 0.980
Sex [Woman] 0.13 -0.50 – 0.76 0.686 0.12 -0.51 – 0.76 0.704
Age 0.03 -0.02 – 0.08 0.271 0.04 -0.01 – 0.09 0.158
int student [No] 0.73 -0.37 – 1.83 0.190 0.97 -0.18 – 2.12 0.099
SES num 0.01 -0.20 – 0.23 0.905 0.03 -0.19 – 0.26 0.769
Ethnicity White -0.48 -1.17 – 0.20 0.167
Ethnicity Hispanic -0.30 -1.22 – 0.62 0.524
Ethnicity Black -1.24 -2.60 – 0.12 0.074
Ethnicity East Asian -0.09 -0.94 – 0.77 0.841
Ethnicity South Asian -0.23 -1.53 – 1.06 0.720
Ethnicity Native Hawaiian
Pacific Islander
-0.20 -2.32 – 1.92 0.853
Ethnicity Middle Eastern -2.77 -5.65 – 0.12 0.060
Ethnicity American Indian -3.66 -7.23 – -0.09 0.045
Observations 140 140 140
R2 / R2 adjusted 0.024 / 0.002 0.043 / -0.023 0.124 / 0.002

Perceived Stress

Intention to Treat

m0_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_perceived_stress_diff, m1_perceived_stress_diff, m2_perceived_stress_diff)
  perceived stress diff perceived stress diff perceived stress diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.15 -0.91 – 0.62 0.703 -1.87 -5.03 – 1.28 0.242 -1.16 -4.69 – 2.37 0.517
ActiveDays 0.01 -0.01 – 0.04 0.321 0.02 -0.01 – 0.04 0.166 0.02 -0.01 – 0.05 0.161
Reports 0.02 -0.05 – 0.10 0.538 0.04 -0.03 – 0.11 0.292 0.04 -0.04 – 0.13 0.320
Activities -0.02 -0.06 – 0.01 0.135 -0.03 -0.07 – -0.00 0.046 -0.04 -0.07 – -0.00 0.030
univ [Foothill] 1.08 -0.35 – 2.52 0.137 1.02 -0.48 – 2.52 0.179
univ [UW] 0.64 -0.28 – 1.57 0.173 0.55 -0.46 – 1.55 0.285
Sex [Woman] -0.81 -1.87 – 0.25 0.131 -0.69 -1.77 – 0.39 0.211
Age 0.07 -0.01 – 0.16 0.089 0.06 -0.03 – 0.15 0.172
int student [No] 0.44 -1.16 – 2.04 0.589 0.21 -1.62 – 2.04 0.823
SES num -0.00 -0.38 – 0.37 0.986 0.04 -0.36 – 0.43 0.861
Ethnicity White -0.45 -1.66 – 0.76 0.462
Ethnicity Hispanic -1.09 -2.73 – 0.56 0.195
Ethnicity Black 1.10 -1.29 – 3.48 0.365
Ethnicity East Asian -0.51 -2.06 – 1.04 0.518
Ethnicity South Asian -0.55 -2.64 – 1.54 0.604
Ethnicity Native Hawaiian
Pacific Islander
1.79 -2.24 – 5.82 0.382
Ethnicity Middle Eastern -0.68 -3.48 – 2.13 0.635
Ethnicity American Indian 0.18 -6.10 – 6.47 0.955
Observations 171 170 170
R2 / R2 adjusted 0.018 / 0.001 0.091 / 0.040 0.119 / 0.021

Excluded Preregistered

m0_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_perceived_stress_diff, m1_perceived_stress_diff, m2_perceived_stress_diff)
  perceived stress diff perceived stress diff perceived stress diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.24 -1.02 – 0.54 0.547 -2.85 -6.20 – 0.49 0.094 -2.18 -5.87 – 1.52 0.246
ActiveDays 0.01 -0.01 – 0.04 0.305 0.02 -0.01 – 0.05 0.129 0.02 -0.01 – 0.05 0.112
Reports 0.02 -0.05 – 0.10 0.513 0.04 -0.03 – 0.11 0.266 0.05 -0.04 – 0.13 0.261
Activities -0.02 -0.05 – 0.01 0.175 -0.03 -0.07 – -0.00 0.048 -0.04 -0.07 – -0.00 0.030
univ [Foothill] 0.88 -0.58 – 2.35 0.237 0.84 -0.69 – 2.38 0.280
univ [UW] 0.73 -0.20 – 1.66 0.125 0.67 -0.34 – 1.69 0.193
Sex [Woman] -0.59 -1.68 – 0.49 0.281 -0.44 -1.56 – 0.67 0.431
Age 0.09 0.00 – 0.18 0.048 0.08 -0.01 – 0.17 0.100
int student [No] 0.88 -0.79 – 2.56 0.298 0.59 -1.28 – 2.47 0.534
SES num 0.01 -0.37 – 0.38 0.976 0.05 -0.35 – 0.45 0.812
Ethnicity White -0.43 -1.66 – 0.80 0.491
Ethnicity Hispanic -1.01 -2.67 – 0.65 0.232
Ethnicity Black 1.06 -1.32 – 3.45 0.379
Ethnicity East Asian -0.45 -2.01 – 1.10 0.565
Ethnicity South Asian -0.97 -3.11 – 1.17 0.370
Ethnicity Native Hawaiian
Pacific Islander
2.07 -1.97 – 6.11 0.313
Ethnicity Middle Eastern -0.74 -3.55 – 2.08 0.606
Ethnicity American Indian -0.15 -6.44 – 6.14 0.963
Observations 168 167 167
R2 / R2 adjusted 0.018 / 0.000 0.089 / 0.037 0.119 / 0.019

Excluded Unreasonable Numbers

m0_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_perceived_stress_diff <- lm(perceived_stress_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_perceived_stress_diff, m1_perceived_stress_diff, m2_perceived_stress_diff)
  perceived stress diff perceived stress diff perceived stress diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.18 -1.10 – 0.74 0.699 -2.87 -6.69 – 0.96 0.140 -1.81 -5.99 – 2.37 0.393
ActiveDays 0.02 -0.03 – 0.08 0.449 0.03 -0.03 – 0.09 0.269 0.03 -0.03 – 0.09 0.310
Reports 0.02 -0.08 – 0.12 0.683 0.03 -0.07 – 0.13 0.518 0.04 -0.08 – 0.15 0.525
Activities -0.03 -0.06 – 0.01 0.156 -0.04 -0.08 – -0.00 0.036 -0.05 -0.09 – -0.01 0.022
univ [Foothill] 1.18 -0.52 – 2.87 0.173 1.17 -0.60 – 2.94 0.193
univ [UW] 0.90 -0.19 – 1.98 0.104 0.77 -0.41 – 1.95 0.197
Sex [Woman] -0.53 -1.77 – 0.71 0.400 -0.34 -1.61 – 0.93 0.599
Age 0.07 -0.02 – 0.17 0.132 0.05 -0.05 – 0.16 0.296
int student [No] 1.30 -0.85 – 3.46 0.234 0.96 -1.34 – 3.26 0.410
SES num -0.05 -0.47 – 0.38 0.826 -0.05 -0.49 – 0.40 0.841
Ethnicity White -0.25 -1.62 – 1.12 0.719
Ethnicity Hispanic -1.16 -2.99 – 0.68 0.216
Ethnicity Black 1.55 -1.18 – 4.27 0.263
Ethnicity East Asian -0.38 -2.09 – 1.34 0.665
Ethnicity South Asian -1.42 -4.01 – 1.16 0.278
Ethnicity Native Hawaiian
Pacific Islander
1.81 -2.43 – 6.05 0.399
Ethnicity Middle Eastern -2.31 -8.08 – 3.45 0.429
Ethnicity American Indian 0.04 -7.10 – 7.17 0.992
Observations 140 140 140
R2 / R2 adjusted 0.018 / -0.003 0.085 / 0.022 0.130 / 0.009

SAS: Calm

Intention to Treat

m0_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_calm_diff, m1_SAS_calm_diff, m2_SAS_calm_diff)
  SAS calm diff SAS calm diff SAS calm diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.21 -0.91 – 0.50 0.565 2.17 -0.78 – 5.11 0.148 2.79 -0.47 – 6.04 0.093
ActiveDays -0.01 -0.03 – 0.02 0.527 -0.01 -0.04 – 0.01 0.336 -0.01 -0.04 – 0.01 0.277
Reports 0.01 -0.06 – 0.08 0.783 -0.00 -0.07 – 0.06 0.918 -0.00 -0.08 – 0.08 0.973
Activities 0.05 0.02 – 0.07 0.003 0.05 0.02 – 0.08 0.001 0.05 0.02 – 0.08 0.001
univ [Foothill] -1.23 -2.57 – 0.11 0.071 -0.87 -2.26 – 0.51 0.215
univ [UW] -0.82 -1.69 – 0.04 0.063 -0.84 -1.77 – 0.09 0.076
Sex [Woman] 0.37 -0.62 – 1.36 0.466 0.28 -0.73 – 1.28 0.588
Age -0.05 -0.13 – 0.03 0.200 -0.06 -0.15 – 0.02 0.130
int student [No] -0.79 -2.28 – 0.71 0.300 -0.88 -2.57 – 0.82 0.308
SES num -0.08 -0.43 – 0.26 0.636 -0.17 -0.54 – 0.19 0.356
Ethnicity White 0.40 -0.72 – 1.51 0.484
Ethnicity Hispanic -0.51 -2.03 – 1.01 0.506
Ethnicity Black -0.09 -2.29 – 2.11 0.933
Ethnicity East Asian -0.16 -1.59 – 1.27 0.826
Ethnicity South Asian 0.11 -1.82 – 2.04 0.912
Ethnicity Native Hawaiian
Pacific Islander
-4.69 -8.41 – -0.97 0.014
Ethnicity Middle Eastern 0.28 -2.31 – 2.87 0.832
Ethnicity American Indian -0.44 -6.24 – 5.36 0.881
Observations 171 170 170
R2 / R2 adjusted 0.059 / 0.042 0.115 / 0.065 0.163 / 0.070

Excluded Preregistered

m0_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_calm_diff, m1_SAS_calm_diff, m2_SAS_calm_diff)
  SAS calm diff SAS calm diff SAS calm diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.09 -0.82 – 0.63 0.799 2.33 -0.81 – 5.47 0.145 3.24 -0.18 – 6.67 0.063
ActiveDays -0.01 -0.03 – 0.02 0.502 -0.01 -0.04 – 0.01 0.320 -0.02 -0.04 – 0.01 0.242
Reports 0.01 -0.06 – 0.08 0.822 -0.00 -0.07 – 0.06 0.892 -0.00 -0.08 – 0.07 0.904
Activities 0.04 0.01 – 0.07 0.006 0.05 0.02 – 0.08 0.002 0.05 0.02 – 0.08 0.002
univ [Foothill] -1.05 -2.43 – 0.33 0.135 -0.63 -2.06 – 0.79 0.380
univ [UW] -0.81 -1.69 – 0.06 0.069 -0.84 -1.78 – 0.10 0.079
Sex [Woman] 0.36 -0.66 – 1.38 0.488 0.23 -0.80 – 1.26 0.664
Age -0.06 -0.14 – 0.03 0.173 -0.07 -0.16 – 0.01 0.097
int student [No] -0.82 -2.39 – 0.75 0.304 -0.98 -2.72 – 0.76 0.266
SES num -0.08 -0.43 – 0.27 0.660 -0.17 -0.54 – 0.20 0.371
Ethnicity White 0.31 -0.82 – 1.45 0.586
Ethnicity Hispanic -0.68 -2.22 – 0.86 0.382
Ethnicity Black -0.18 -2.40 – 2.03 0.869
Ethnicity East Asian -0.30 -1.74 – 1.15 0.685
Ethnicity South Asian 0.15 -1.83 – 2.14 0.880
Ethnicity Native Hawaiian
Pacific Islander
-4.95 -8.70 – -1.21 0.010
Ethnicity Middle Eastern 0.21 -2.40 – 2.82 0.874
Ethnicity American Indian -0.25 -6.08 – 5.58 0.933
Observations 168 167 167
R2 / R2 adjusted 0.050 / 0.033 0.103 / 0.052 0.157 / 0.061

Excluded Unreasonable Numbers

m0_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_calm_diff <- lm(SAS_calm_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_calm_diff, m1_SAS_calm_diff, m2_SAS_calm_diff)
  SAS calm diff SAS calm diff SAS calm diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.10 -0.77 – 0.97 0.821 3.39 -0.22 – 7.00 0.065 4.35 0.47 – 8.23 0.028
ActiveDays -0.02 -0.08 – 0.03 0.379 -0.04 -0.09 – 0.02 0.188 -0.04 -0.10 – 0.01 0.109
Reports 0.01 -0.08 – 0.11 0.758 0.00 -0.09 – 0.09 0.999 -0.00 -0.11 – 0.11 1.000
Activities 0.04 0.01 – 0.08 0.019 0.06 0.02 – 0.10 0.002 0.06 0.02 – 0.10 0.002
univ [Foothill] -1.05 -2.65 – 0.55 0.197 -0.54 -2.19 – 1.10 0.515
univ [UW] -1.06 -2.08 – -0.03 0.043 -1.21 -2.31 – -0.12 0.031
Sex [Woman] 0.38 -0.79 – 1.55 0.522 0.22 -0.96 – 1.40 0.716
Age -0.08 -0.17 – 0.02 0.102 -0.09 -0.19 – 0.00 0.052
int student [No] -1.21 -3.24 – 0.83 0.243 -1.13 -3.27 – 1.00 0.295
SES num -0.10 -0.50 – 0.31 0.638 -0.19 -0.60 – 0.23 0.368
Ethnicity White 0.24 -1.03 – 1.51 0.710
Ethnicity Hispanic -1.02 -2.73 – 0.69 0.240
Ethnicity Black -0.51 -3.04 – 2.02 0.692
Ethnicity East Asian -0.15 -1.74 – 1.44 0.853
Ethnicity South Asian 0.49 -1.91 – 2.89 0.685
Ethnicity Native Hawaiian
Pacific Islander
-5.35 -9.29 – -1.42 0.008
Ethnicity Middle Eastern -0.54 -5.90 – 4.82 0.842
Ethnicity American Indian 0.55 -6.09 – 7.18 0.871
Observations 140 140 140
R2 / R2 adjusted 0.041 / 0.020 0.111 / 0.050 0.181 / 0.067

SAS: Well-Being

Intention to Treat

m0_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_well_being_diff, m1_SAS_well_being_diff, m2_SAS_well_being_diff)
  SAS well being diff SAS well being diff SAS well being diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.45 -1.12 – 0.22 0.184 3.88 1.13 – 6.63 0.006 3.57 0.49 – 6.66 0.024
ActiveDays -0.00 -0.03 – 0.02 0.758 -0.01 -0.03 – 0.01 0.348 -0.01 -0.03 – 0.01 0.382
Reports 0.01 -0.05 – 0.07 0.755 -0.01 -0.07 – 0.06 0.852 -0.01 -0.09 – 0.06 0.738
Activities 0.02 -0.01 – 0.05 0.192 0.03 -0.00 – 0.06 0.054 0.03 -0.00 – 0.06 0.064
univ [Foothill] -0.97 -2.22 – 0.28 0.129 -0.79 -2.10 – 0.52 0.237
univ [UW] -0.79 -1.60 – 0.02 0.056 -0.92 -1.80 – -0.04 0.041
Sex [Woman] -0.10 -1.02 – 0.83 0.835 -0.10 -1.05 – 0.84 0.829
Age -0.10 -0.17 – -0.02 0.013 -0.10 -0.18 – -0.02 0.013
int student [No] -1.49 -2.89 – -0.09 0.037 -1.17 -2.77 – 0.43 0.152
SES num -0.11 -0.43 – 0.22 0.506 -0.20 -0.54 – 0.15 0.266
Ethnicity White 0.54 -0.52 – 1.60 0.313
Ethnicity Hispanic -0.05 -1.49 – 1.39 0.941
Ethnicity Black 0.38 -1.70 – 2.47 0.718
Ethnicity East Asian 1.10 -0.26 – 2.45 0.112
Ethnicity South Asian 0.55 -1.27 – 2.38 0.551
Ethnicity Native Hawaiian
Pacific Islander
-0.94 -4.46 – 2.59 0.599
Ethnicity Middle Eastern 0.92 -1.53 – 3.37 0.460
Ethnicity American Indian 1.83 -3.67 – 7.33 0.511
Observations 171 170 170
R2 / R2 adjusted 0.013 / -0.005 0.101 / 0.050 0.126 / 0.028

Excluded Preregistered

m0_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_well_being_diff, m1_SAS_well_being_diff, m2_SAS_well_being_diff)
  SAS well being diff SAS well being diff SAS well being diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.38 -1.06 – 0.31 0.280 4.48 1.58 – 7.37 0.003 4.33 1.13 – 7.54 0.008
ActiveDays -0.00 -0.03 – 0.02 0.735 -0.01 -0.04 – 0.01 0.287 -0.01 -0.04 – 0.01 0.290
Reports 0.01 -0.05 – 0.07 0.781 -0.01 -0.07 – 0.06 0.808 -0.02 -0.09 – 0.06 0.649
Activities 0.02 -0.01 – 0.05 0.240 0.03 -0.00 – 0.06 0.054 0.03 -0.00 – 0.06 0.063
univ [Foothill] -0.64 -1.92 – 0.63 0.319 -0.47 -1.80 – 0.87 0.490
univ [UW] -0.86 -1.67 – -0.05 0.037 -1.03 -1.91 – -0.15 0.023
Sex [Woman] -0.22 -1.16 – 0.72 0.641 -0.26 -1.22 – 0.71 0.601
Age -0.11 -0.18 – -0.03 0.005 -0.11 -0.19 – -0.04 0.005
int student [No] -1.75 -3.20 – -0.30 0.018 -1.40 -3.03 – 0.23 0.092
SES num -0.09 -0.42 – 0.23 0.582 -0.17 -0.52 – 0.18 0.330
Ethnicity White 0.38 -0.69 – 1.44 0.484
Ethnicity Hispanic -0.28 -1.72 – 1.17 0.705
Ethnicity Black 0.27 -1.80 – 2.35 0.794
Ethnicity East Asian 0.94 -0.41 – 2.29 0.172
Ethnicity South Asian 0.74 -1.12 – 2.60 0.431
Ethnicity Native Hawaiian
Pacific Islander
-1.31 -4.82 – 2.20 0.461
Ethnicity Middle Eastern 0.77 -1.68 – 3.21 0.535
Ethnicity American Indian 2.02 -3.45 – 7.48 0.467
Observations 168 167 167
R2 / R2 adjusted 0.010 / -0.008 0.105 / 0.053 0.130 / 0.031

Excluded Unreasonable Numbers

m0_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_well_being_diff <- lm(SAS_well_being_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_well_being_diff, m1_SAS_well_being_diff, m2_SAS_well_being_diff)
  SAS well being diff SAS well being diff SAS well being diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.42 -1.22 – 0.38 0.302 4.90 1.67 – 8.14 0.003 4.49 0.94 – 8.04 0.014
ActiveDays 0.02 -0.03 – 0.07 0.494 0.00 -0.05 – 0.05 0.984 -0.00 -0.05 – 0.05 0.889
Reports -0.02 -0.11 – 0.06 0.591 -0.03 -0.12 – 0.05 0.413 -0.05 -0.15 – 0.05 0.317
Activities 0.01 -0.02 – 0.04 0.505 0.03 -0.00 – 0.06 0.078 0.03 -0.00 – 0.07 0.064
univ [Foothill] -0.96 -2.40 – 0.48 0.188 -0.77 -2.27 – 0.74 0.315
univ [UW] -1.01 -1.93 – -0.09 0.031 -1.18 -2.18 – -0.17 0.022
Sex [Woman] -0.20 -1.25 – 0.85 0.709 -0.27 -1.35 – 0.81 0.624
Age -0.11 -0.20 – -0.03 0.007 -0.12 -0.20 – -0.03 0.009
int student [No] -2.30 -4.12 – -0.47 0.014 -1.84 -3.79 – 0.12 0.065
SES num -0.03 -0.39 – 0.33 0.865 -0.09 -0.47 – 0.29 0.639
Ethnicity White 0.46 -0.70 – 1.63 0.433
Ethnicity Hispanic -0.12 -1.68 – 1.44 0.880
Ethnicity Black -0.23 -2.54 – 2.09 0.847
Ethnicity East Asian 0.96 -0.49 – 2.42 0.194
Ethnicity South Asian 1.37 -0.83 – 3.56 0.220
Ethnicity Native Hawaiian
Pacific Islander
-1.08 -4.69 – 2.52 0.553
Ethnicity Middle Eastern 0.71 -4.19 – 5.62 0.774
Ethnicity American Indian 2.84 -3.23 – 8.90 0.357
Observations 140 140 140
R2 / R2 adjusted 0.013 / -0.009 0.130 / 0.070 0.165 / 0.049

SAS: Vigour

Intention to Treat

m0_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_vigour_diff, m1_SAS_vigour_diff, m2_SAS_vigour_diff)
  SAS vigour diff SAS vigour diff SAS vigour diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.81 -1.47 – -0.14 0.017 2.41 -0.36 – 5.18 0.088 2.32 -0.79 – 5.44 0.143
ActiveDays 0.01 -0.02 – 0.03 0.552 0.00 -0.02 – 0.02 0.913 0.00 -0.02 – 0.02 0.942
Reports 0.04 -0.02 – 0.10 0.213 0.03 -0.03 – 0.09 0.350 0.03 -0.05 – 0.10 0.500
Activities 0.01 -0.02 – 0.04 0.433 0.02 -0.01 – 0.05 0.252 0.02 -0.01 – 0.05 0.260
univ [Foothill] -0.79 -2.05 – 0.47 0.219 -0.76 -2.09 – 0.57 0.259
univ [UW] -0.75 -1.58 – 0.07 0.073 -0.75 -1.65 – 0.14 0.099
Sex [Woman] -0.15 -1.10 – 0.79 0.747 -0.22 -1.19 – 0.75 0.652
Age -0.04 -0.11 – 0.04 0.360 -0.04 -0.12 – 0.04 0.350
int student [No] -1.59 -2.99 – -0.18 0.027 -1.56 -3.18 – 0.05 0.058
SES num -0.12 -0.45 – 0.21 0.474 -0.17 -0.52 – 0.18 0.346
Ethnicity White 0.45 -0.62 – 1.53 0.403
Ethnicity Hispanic 0.73 -0.73 – 2.18 0.324
Ethnicity Black 0.55 -1.56 – 2.66 0.609
Ethnicity East Asian 0.29 -1.07 – 1.66 0.672
Ethnicity South Asian 0.55 -1.29 – 2.40 0.555
Ethnicity Native Hawaiian
Pacific Islander
-2.05 -5.61 – 1.51 0.257
Ethnicity Middle Eastern 0.66 -1.82 – 3.14 0.599
Ethnicity American Indian 0.38 -5.17 – 5.93 0.893
Observations 170 169 169
R2 / R2 adjusted 0.037 / 0.019 0.087 / 0.035 0.106 / 0.005

Excluded Preregistered

m0_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_vigour_diff, m1_SAS_vigour_diff, m2_SAS_vigour_diff)
  SAS vigour diff SAS vigour diff SAS vigour diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.73 -1.42 – -0.04 0.037 2.58 -0.38 – 5.54 0.087 2.65 -0.64 – 5.93 0.114
ActiveDays 0.01 -0.02 – 0.03 0.571 0.00 -0.02 – 0.02 0.933 0.00 -0.02 – 0.02 0.988
Reports 0.04 -0.02 – 0.10 0.227 0.03 -0.04 – 0.09 0.368 0.02 -0.05 – 0.10 0.548
Activities 0.01 -0.02 – 0.04 0.516 0.02 -0.02 – 0.05 0.324 0.02 -0.02 – 0.05 0.335
univ [Foothill] -0.69 -1.99 – 0.62 0.299 -0.65 -2.02 – 0.72 0.350
univ [UW] -0.72 -1.55 – 0.11 0.090 -0.72 -1.63 – 0.19 0.120
Sex [Woman] -0.16 -1.13 – 0.81 0.749 -0.25 -1.26 – 0.75 0.620
Age -0.04 -0.12 – 0.04 0.338 -0.04 -0.12 – 0.04 0.317
int student [No] -1.62 -3.10 – -0.14 0.032 -1.65 -3.32 – 0.02 0.052
SES num -0.13 -0.46 – 0.20 0.446 -0.18 -0.54 – 0.17 0.312
Ethnicity White 0.46 -0.63 – 1.55 0.408
Ethnicity Hispanic 0.66 -0.82 – 2.14 0.379
Ethnicity Black 0.53 -1.60 – 2.66 0.623
Ethnicity East Asian 0.23 -1.16 – 1.62 0.745
Ethnicity South Asian 0.61 -1.29 – 2.52 0.526
Ethnicity Native Hawaiian
Pacific Islander
-2.18 -5.77 – 1.42 0.233
Ethnicity Middle Eastern 0.70 -1.81 – 3.20 0.583
Ethnicity American Indian 0.57 -5.03 – 6.17 0.840
Observations 167 166 166
R2 / R2 adjusted 0.032 / 0.014 0.079 / 0.026 0.100 / -0.004

Excluded Unreasonable Numbers

m0_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_vigour_diff <- lm(SAS_vigour_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_vigour_diff, m1_SAS_vigour_diff, m2_SAS_vigour_diff)
  SAS vigour diff SAS vigour diff SAS vigour diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.64 -1.44 – 0.16 0.116 2.26 -1.09 – 5.61 0.184 2.25 -1.45 – 5.94 0.231
ActiveDays 0.01 -0.04 – 0.05 0.831 -0.01 -0.06 – 0.04 0.759 -0.01 -0.06 – 0.04 0.750
Reports 0.06 -0.02 – 0.15 0.146 0.06 -0.03 – 0.14 0.199 0.06 -0.04 – 0.16 0.259
Activities 0.00 -0.03 – 0.03 0.909 0.01 -0.02 – 0.05 0.419 0.02 -0.02 – 0.05 0.381
univ [Foothill] -0.78 -2.27 – 0.71 0.304 -0.64 -2.21 – 0.93 0.422
univ [UW] -0.90 -1.87 – 0.06 0.066 -0.87 -1.92 – 0.19 0.107
Sex [Woman] -0.33 -1.42 – 0.77 0.557 -0.43 -1.57 – 0.71 0.460
Age -0.04 -0.12 – 0.05 0.405 -0.04 -0.13 – 0.05 0.438
int student [No] -1.29 -3.18 – 0.60 0.178 -1.31 -3.35 – 0.73 0.205
SES num -0.05 -0.42 – 0.32 0.782 -0.09 -0.49 – 0.30 0.644
Ethnicity White 0.34 -0.87 – 1.56 0.578
Ethnicity Hispanic 0.27 -1.36 – 1.90 0.743
Ethnicity Black -0.30 -2.72 – 2.11 0.804
Ethnicity East Asian -0.09 -1.60 – 1.43 0.909
Ethnicity South Asian 0.95 -1.34 – 3.24 0.414
Ethnicity Native Hawaiian
Pacific Islander
-2.36 -6.11 – 1.39 0.215
Ethnicity Middle Eastern 0.29 -4.82 – 5.40 0.911
Ethnicity American Indian -0.61 -6.93 – 5.70 0.848
Observations 139 139 139
R2 / R2 adjusted 0.028 / 0.006 0.067 / 0.002 0.093 / -0.035

SAS: Depression

Intention to Treat

m0_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_depression_diff, m1_SAS_depression_diff, m2_SAS_depression_diff)
  SAS depression diff SAS depression diff SAS depression diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.10 -0.84 – 0.63 0.780 -2.64 -5.72 – 0.44 0.092 -1.89 -5.36 – 1.59 0.286
ActiveDays -0.00 -0.03 – 0.02 0.964 0.01 -0.02 – 0.03 0.622 0.01 -0.02 – 0.03 0.604
Reports 0.03 -0.04 – 0.11 0.332 0.04 -0.03 – 0.12 0.222 0.04 -0.04 – 0.12 0.358
Activities -0.00 -0.04 – 0.03 0.759 -0.01 -0.04 – 0.02 0.628 -0.01 -0.04 – 0.02 0.604
univ [Foothill] 1.23 -0.17 – 2.63 0.086 1.23 -0.25 – 2.71 0.102
univ [UW] 0.23 -0.68 – 1.14 0.614 0.32 -0.68 – 1.32 0.529
Sex [Woman] 0.06 -0.99 – 1.11 0.909 -0.03 -1.11 – 1.05 0.953
Age 0.05 -0.03 – 0.14 0.224 0.05 -0.04 – 0.14 0.296
int student [No] 1.15 -0.42 – 2.71 0.150 0.79 -1.02 – 2.60 0.390
SES num -0.01 -0.38 – 0.35 0.937 0.02 -0.38 – 0.41 0.933
Ethnicity White -0.32 -1.52 – 0.87 0.596
Ethnicity Hispanic -0.03 -1.65 – 1.59 0.971
Ethnicity Black -0.25 -2.60 – 2.10 0.833
Ethnicity East Asian -0.76 -2.29 – 0.77 0.327
Ethnicity South Asian -0.78 -2.84 – 1.29 0.458
Ethnicity Native Hawaiian
Pacific Islander
-1.97 -5.94 – 2.01 0.330
Ethnicity Middle Eastern -0.59 -3.36 – 2.17 0.673
Ethnicity American Indian 0.43 -5.77 – 6.63 0.892
Observations 170 169 169
R2 / R2 adjusted 0.007 / -0.011 0.055 / 0.002 0.068 / -0.036

Excluded Preregistered

m0_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_depression_diff, m1_SAS_depression_diff, m2_SAS_depression_diff)
  SAS depression diff SAS depression diff SAS depression diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.19 -0.96 – 0.57 0.614 -2.72 -6.01 – 0.57 0.104 -2.08 -5.75 – 1.59 0.265
ActiveDays -0.00 -0.03 – 0.03 0.987 0.01 -0.02 – 0.03 0.606 0.01 -0.02 – 0.03 0.581
Reports 0.04 -0.03 – 0.11 0.314 0.05 -0.03 – 0.12 0.215 0.04 -0.04 – 0.12 0.343
Activities -0.00 -0.03 – 0.03 0.866 -0.01 -0.04 – 0.03 0.686 -0.01 -0.04 – 0.03 0.654
univ [Foothill] 1.04 -0.40 – 2.49 0.155 1.06 -0.47 – 2.58 0.174
univ [UW] 0.23 -0.69 – 1.15 0.628 0.32 -0.69 – 1.34 0.531
Sex [Woman] 0.06 -1.02 – 1.13 0.919 -0.03 -1.14 – 1.09 0.964
Age 0.06 -0.03 – 0.14 0.201 0.05 -0.04 – 0.14 0.263
int student [No] 1.15 -0.50 – 2.80 0.169 0.81 -1.06 – 2.68 0.393
SES num -0.03 -0.40 – 0.34 0.893 0.00 -0.40 – 0.40 0.991
Ethnicity White -0.23 -1.45 – 0.99 0.711
Ethnicity Hispanic 0.11 -1.54 – 1.76 0.896
Ethnicity Black -0.16 -2.53 – 2.22 0.895
Ethnicity East Asian -0.65 -2.20 – 0.90 0.406
Ethnicity South Asian -0.74 -2.87 – 1.39 0.493
Ethnicity Native Hawaiian
Pacific Islander
-1.79 -5.81 – 2.23 0.380
Ethnicity Middle Eastern -0.49 -3.29 – 2.31 0.732
Ethnicity American Indian 0.37 -5.89 – 6.62 0.908
Observations 167 166 166
R2 / R2 adjusted 0.008 / -0.011 0.051 / -0.004 0.063 / -0.044

Excluded Unreasonable Numbers

m0_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_depression_diff <- lm(SAS_depression_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_depression_diff, m1_SAS_depression_diff, m2_SAS_depression_diff)
  SAS depression diff SAS depression diff SAS depression diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.03 -0.91 – 0.86 0.956 -3.40 -7.10 – 0.30 0.071 -2.75 -6.83 – 1.34 0.185
ActiveDays -0.04 -0.09 – 0.02 0.172 -0.03 -0.09 – 0.03 0.294 -0.03 -0.09 – 0.02 0.261
Reports 0.10 0.00 – 0.19 0.046 0.10 0.00 – 0.20 0.042 0.09 -0.02 – 0.20 0.118
Activities 0.00 -0.03 – 0.04 0.929 -0.01 -0.04 – 0.03 0.722 -0.01 -0.05 – 0.03 0.726
univ [Foothill] 1.08 -0.56 – 2.72 0.196 1.10 -0.63 – 2.83 0.210
univ [UW] 0.24 -0.81 – 1.29 0.653 0.41 -0.75 – 1.56 0.488
Sex [Woman] -0.02 -1.22 – 1.18 0.971 -0.16 -1.40 – 1.08 0.799
Age 0.07 -0.02 – 0.17 0.120 0.08 -0.02 – 0.18 0.133
int student [No] 2.15 0.07 – 4.24 0.043 1.82 -0.43 – 4.07 0.112
SES num -0.12 -0.53 – 0.29 0.556 -0.10 -0.54 – 0.33 0.645
Ethnicity White -0.17 -1.51 – 1.17 0.799
Ethnicity Hispanic 0.21 -1.58 – 2.01 0.815
Ethnicity Black -0.84 -3.50 – 1.83 0.535
Ethnicity East Asian -0.83 -2.51 – 0.84 0.327
Ethnicity South Asian -1.22 -3.75 – 1.31 0.341
Ethnicity Native Hawaiian
Pacific Islander
-2.07 -6.21 – 2.07 0.325
Ethnicity Middle Eastern -1.76 -7.41 – 3.88 0.537
Ethnicity American Indian 0.33 -6.65 – 7.31 0.926
Observations 140 140 140
R2 / R2 adjusted 0.031 / 0.009 0.097 / 0.035 0.122 / -0.000

SAS: Anxiety

Intention to Treat

m0_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_anxiety_diff, m1_SAS_anxiety_diff, m2_SAS_anxiety_diff)
  SAS anxiety diff SAS anxiety diff SAS anxiety diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.36 -1.22 – 0.51 0.418 -3.55 -7.20 – 0.11 0.057 -3.38 -7.51 – 0.75 0.108
ActiveDays 0.00 -0.03 – 0.03 0.810 0.01 -0.02 – 0.04 0.677 0.01 -0.02 – 0.04 0.620
Reports 0.03 -0.05 – 0.12 0.410 0.05 -0.03 – 0.14 0.210 0.05 -0.05 – 0.14 0.354
Activities -0.02 -0.05 – 0.02 0.411 -0.02 -0.06 – 0.01 0.221 -0.03 -0.07 – 0.01 0.181
univ [Foothill] 0.53 -1.13 – 2.19 0.528 0.39 -1.37 – 2.15 0.661
univ [UW] 0.64 -0.43 – 1.72 0.240 0.62 -0.56 – 1.80 0.302
Sex [Woman] 0.17 -1.06 – 1.39 0.790 0.23 -1.04 – 1.51 0.716
Age 0.08 -0.02 – 0.18 0.103 0.08 -0.03 – 0.19 0.140
int student [No] 0.31 -1.55 – 2.17 0.743 0.17 -1.98 – 2.31 0.878
SES num 0.21 -0.22 – 0.65 0.327 0.25 -0.21 – 0.72 0.285
Ethnicity White -0.14 -1.56 – 1.28 0.847
Ethnicity Hispanic -0.11 -2.04 – 1.82 0.912
Ethnicity Black 0.91 -1.88 – 3.71 0.519
Ethnicity East Asian -0.06 -1.88 – 1.75 0.944
Ethnicity South Asian -0.18 -2.62 – 2.27 0.888
Ethnicity Native Hawaiian
Pacific Islander
2.10 -2.63 – 6.82 0.382
Ethnicity Middle Eastern -0.14 -3.43 – 3.15 0.933
Ethnicity American Indian 1.76 -5.61 – 9.13 0.638
Observations 171 170 170
R2 / R2 adjusted 0.008 / -0.010 0.044 / -0.010 0.055 / -0.051

Excluded Preregistered

m0_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_anxiety_diff, m1_SAS_anxiety_diff, m2_SAS_anxiety_diff)
  SAS anxiety diff SAS anxiety diff SAS anxiety diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.40 -1.30 – 0.50 0.382 -3.99 -7.91 – -0.08 0.046 -3.90 -8.27 – 0.48 0.080
ActiveDays 0.00 -0.03 – 0.03 0.802 0.01 -0.02 – 0.04 0.642 0.01 -0.02 – 0.04 0.566
Reports 0.04 -0.05 – 0.12 0.406 0.06 -0.03 – 0.14 0.205 0.05 -0.05 – 0.15 0.328
Activities -0.01 -0.05 – 0.02 0.450 -0.02 -0.06 – 0.02 0.235 -0.03 -0.07 – 0.01 0.192
univ [Foothill] 0.41 -1.31 – 2.13 0.639 0.26 -1.56 – 2.08 0.779
univ [UW] 0.68 -0.42 – 1.77 0.223 0.67 -0.53 – 1.87 0.271
Sex [Woman] 0.26 -1.01 – 1.53 0.686 0.35 -0.97 – 1.66 0.604
Age 0.09 -0.01 – 0.19 0.085 0.09 -0.02 – 0.19 0.114
int student [No] 0.50 -1.46 – 2.46 0.613 0.35 -1.87 – 2.57 0.757
SES num 0.22 -0.22 – 0.66 0.329 0.26 -0.22 – 0.73 0.289
Ethnicity White -0.11 -1.56 – 1.35 0.886
Ethnicity Hispanic -0.03 -2.00 – 1.93 0.973
Ethnicity Black 0.92 -1.90 – 3.75 0.519
Ethnicity East Asian -0.01 -1.85 – 1.83 0.992
Ethnicity South Asian -0.36 -2.89 – 2.18 0.780
Ethnicity Native Hawaiian
Pacific Islander
2.27 -2.51 – 7.05 0.349
Ethnicity Middle Eastern -0.14 -3.48 – 3.19 0.933
Ethnicity American Indian 1.59 -5.86 – 9.03 0.674
Observations 168 167 167
R2 / R2 adjusted 0.008 / -0.010 0.045 / -0.010 0.057 / -0.051

Excluded Unreasonable Numbers

m0_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_anxiety_diff <- lm(SAS_anxiety_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_anxiety_diff, m1_SAS_anxiety_diff, m2_SAS_anxiety_diff)
  SAS anxiety diff SAS anxiety diff SAS anxiety diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.28 -1.33 – 0.78 0.606 -3.47 -7.93 – 1.00 0.127 -3.22 -8.18 – 1.74 0.201
ActiveDays -0.02 -0.09 – 0.04 0.491 -0.02 -0.08 – 0.05 0.656 -0.01 -0.08 – 0.06 0.695
Reports 0.08 -0.04 – 0.19 0.186 0.09 -0.02 – 0.21 0.122 0.07 -0.07 – 0.21 0.300
Activities -0.01 -0.05 – 0.03 0.648 -0.02 -0.07 – 0.02 0.314 -0.03 -0.07 – 0.02 0.291
univ [Foothill] -0.17 -2.15 – 1.81 0.868 -0.42 -2.52 – 1.68 0.695
univ [UW] 0.52 -0.74 – 1.79 0.415 0.58 -0.82 – 1.98 0.418
Sex [Woman] -0.13 -1.58 – 1.31 0.856 -0.08 -1.59 – 1.43 0.918
Age 0.11 -0.01 – 0.22 0.066 0.11 -0.01 – 0.23 0.074
int student [No] 0.34 -2.17 – 2.86 0.787 0.11 -2.62 – 2.84 0.937
SES num 0.20 -0.30 – 0.70 0.432 0.26 -0.27 – 0.79 0.333
Ethnicity White -0.36 -1.98 – 1.27 0.666
Ethnicity Hispanic 0.05 -2.13 – 2.23 0.963
Ethnicity Black 0.15 -3.08 – 3.39 0.925
Ethnicity East Asian -0.51 -2.55 – 1.52 0.617
Ethnicity South Asian -0.62 -3.69 – 2.45 0.689
Ethnicity Native Hawaiian
Pacific Islander
2.09 -2.94 – 7.13 0.412
Ethnicity Middle Eastern -2.29 -9.14 – 4.57 0.510
Ethnicity American Indian 1.56 -6.92 – 10.03 0.717
Observations 140 140 140
R2 / R2 adjusted 0.016 / -0.006 0.052 / -0.014 0.067 / -0.063

SAS: Anger

Intention to Treat

m0_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_anger_diff, m1_SAS_anger_diff, m2_SAS_anger_diff)
  SAS anger diff SAS anger diff SAS anger diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.21 -0.90 – 0.49 0.559 -2.93 -5.89 – 0.02 0.052 -3.03 -6.29 – 0.23 0.068
ActiveDays -0.01 -0.03 – 0.01 0.467 -0.01 -0.03 – 0.02 0.580 -0.01 -0.03 – 0.02 0.465
Reports 0.04 -0.03 – 0.11 0.225 0.05 -0.02 – 0.12 0.148 0.02 -0.06 – 0.10 0.575
Activities 0.01 -0.02 – 0.04 0.395 0.01 -0.02 – 0.04 0.526 0.01 -0.02 – 0.04 0.442
univ [Foothill] 0.03 -1.31 – 1.38 0.963 -0.02 -1.41 – 1.36 0.974
univ [UW] 0.10 -0.77 – 0.97 0.817 0.34 -0.59 – 1.27 0.465
Sex [Woman] 0.39 -0.60 – 1.38 0.440 0.21 -0.79 – 1.22 0.676
Age 0.04 -0.04 – 0.13 0.283 0.05 -0.03 – 0.14 0.211
int student [No] 0.71 -0.79 – 2.22 0.349 0.53 -1.16 – 2.23 0.535
SES num 0.23 -0.12 – 0.58 0.190 0.16 -0.21 – 0.53 0.391
Ethnicity White 0.63 -0.49 – 1.74 0.272
Ethnicity Hispanic 1.43 -0.09 – 2.96 0.064
Ethnicity Black -0.30 -2.50 – 1.91 0.792
Ethnicity East Asian 0.21 -1.22 – 1.64 0.772
Ethnicity South Asian 0.53 -1.40 – 2.46 0.586
Ethnicity Native Hawaiian
Pacific Islander
-2.07 -5.79 – 1.66 0.275
Ethnicity Middle Eastern 2.78 0.18 – 5.37 0.036
Ethnicity American Indian 2.88 -2.93 – 8.69 0.329
Observations 171 170 170
R2 / R2 adjusted 0.014 / -0.003 0.040 / -0.014 0.098 / -0.003

Excluded Preregistered

m0_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_anger_diff, m1_SAS_anger_diff, m2_SAS_anger_diff)
  SAS anger diff SAS anger diff SAS anger diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.20 -0.92 – 0.53 0.589 -3.32 -6.48 – -0.15 0.040 -3.30 -6.76 – 0.15 0.061
ActiveDays -0.01 -0.03 – 0.02 0.469 -0.01 -0.03 – 0.02 0.614 -0.01 -0.03 – 0.02 0.504
Reports 0.04 -0.03 – 0.11 0.230 0.05 -0.02 – 0.12 0.145 0.02 -0.05 – 0.10 0.554
Activities 0.01 -0.02 – 0.04 0.410 0.01 -0.02 – 0.04 0.519 0.01 -0.02 – 0.04 0.447
univ [Foothill] 0.03 -1.36 – 1.42 0.962 -0.04 -1.48 – 1.39 0.954
univ [UW] 0.12 -0.76 – 1.00 0.791 0.37 -0.58 – 1.32 0.443
Sex [Woman] 0.47 -0.55 – 1.50 0.364 0.28 -0.76 – 1.32 0.595
Age 0.05 -0.04 – 0.13 0.259 0.06 -0.03 – 0.14 0.197
int student [No] 0.88 -0.70 – 2.47 0.272 0.64 -1.11 – 2.40 0.470
SES num 0.25 -0.11 – 0.60 0.168 0.17 -0.20 – 0.54 0.371
Ethnicity White 0.60 -0.54 – 1.75 0.300
Ethnicity Hispanic 1.43 -0.13 – 2.98 0.071
Ethnicity Black -0.33 -2.56 – 1.91 0.774
Ethnicity East Asian 0.21 -1.25 – 1.66 0.779
Ethnicity South Asian 0.40 -1.60 – 2.40 0.691
Ethnicity Native Hawaiian
Pacific Islander
-2.02 -5.80 – 1.76 0.292
Ethnicity Middle Eastern 2.72 0.09 – 5.36 0.043
Ethnicity American Indian 2.78 -3.10 – 8.65 0.352
Observations 168 167 167
R2 / R2 adjusted 0.014 / -0.004 0.043 / -0.012 0.099 / -0.004

Excluded Unreasonable Numbers

m0_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_anger_diff <- lm(SAS_anger_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_anger_diff, m1_SAS_anger_diff, m2_SAS_anger_diff)
  SAS anger diff SAS anger diff SAS anger diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.36 -1.14 – 0.41 0.357 -2.26 -5.57 – 1.04 0.178 -2.98 -6.49 – 0.52 0.095
ActiveDays -0.02 -0.07 – 0.03 0.382 -0.02 -0.07 – 0.03 0.479 -0.02 -0.06 – 0.03 0.546
Reports 0.07 -0.02 – 0.15 0.113 0.07 -0.01 – 0.16 0.101 0.04 -0.06 – 0.14 0.429
Activities 0.02 -0.01 – 0.05 0.183 0.02 -0.02 – 0.05 0.366 0.02 -0.02 – 0.05 0.307
univ [Foothill] -0.71 -2.17 – 0.76 0.342 -0.94 -2.42 – 0.55 0.215
univ [UW] 0.08 -0.86 – 1.01 0.873 0.41 -0.58 – 1.40 0.413
Sex [Woman] 0.41 -0.66 – 1.48 0.446 0.19 -0.88 – 1.25 0.732
Age 0.06 -0.02 – 0.15 0.139 0.09 0.00 – 0.17 0.047
int student [No] 0.06 -1.81 – 1.93 0.949 -0.04 -1.97 – 1.89 0.967
SES num 0.09 -0.27 – 0.46 0.611 0.12 -0.26 – 0.49 0.540
Ethnicity White 0.42 -0.73 – 1.58 0.467
Ethnicity Hispanic 2.16 0.62 – 3.70 0.006
Ethnicity Black -1.10 -3.38 – 1.19 0.344
Ethnicity East Asian -0.20 -1.63 – 1.24 0.788
Ethnicity South Asian 1.01 -1.16 – 3.18 0.360
Ethnicity Native Hawaiian
Pacific Islander
-1.69 -5.25 – 1.87 0.349
Ethnicity Middle Eastern -0.28 -5.12 – 4.57 0.910
Ethnicity American Indian 2.18 -3.82 – 8.17 0.474
Observations 140 140 140
R2 / R2 adjusted 0.031 / 0.010 0.056 / -0.010 0.153 / 0.035

SAS: Positive

Intention to Treat

m0_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_positive_diff, m1_SAS_positive_diff, m2_SAS_positive_diff)
  SAS positive diff SAS positive diff SAS positive diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -1.35 -3.01 – 0.31 0.111 8.31 1.50 – 15.13 0.017 8.64 1.02 – 16.26 0.026
ActiveDays -0.00 -0.06 – 0.05 0.939 -0.02 -0.08 – 0.04 0.507 -0.02 -0.08 – 0.04 0.482
Reports 0.06 -0.09 – 0.22 0.426 0.03 -0.13 – 0.19 0.731 0.02 -0.16 – 0.20 0.852
Activities 0.06 -0.01 – 0.14 0.079 0.09 0.01 – 0.16 0.022 0.09 0.01 – 0.16 0.024
univ [Foothill] -2.84 -5.95 – 0.26 0.073 -2.31 -5.56 – 0.93 0.161
univ [UW] -2.19 -4.21 – -0.16 0.035 -2.36 -4.55 – -0.17 0.035
Sex [Woman] 0.32 -1.99 – 2.64 0.783 0.15 -2.22 – 2.52 0.900
Age -0.19 -0.38 – -0.00 0.049 -0.21 -0.40 – -0.01 0.037
int student [No] -3.84 -7.30 – -0.38 0.030 -3.61 -7.56 – 0.35 0.074
SES num -0.30 -1.10 – 0.50 0.461 -0.52 -1.38 – 0.34 0.231
Ethnicity White 1.32 -1.30 – 3.94 0.322
Ethnicity Hispanic 0.13 -3.42 – 3.69 0.941
Ethnicity Black 1.00 -4.16 – 6.15 0.703
Ethnicity East Asian 1.20 -2.14 – 4.55 0.479
Ethnicity South Asian 1.14 -3.37 – 5.65 0.619
Ethnicity Native Hawaiian
Pacific Islander
-7.61 -16.31 – 1.10 0.086
Ethnicity Middle Eastern 1.83 -4.23 – 7.89 0.552
Ethnicity American Indian 1.85 -11.72 – 15.43 0.788
Observations 170 169 169
R2 / R2 adjusted 0.035 / 0.018 0.121 / 0.071 0.149 / 0.054

Excluded Preregistered

m0_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_positive_diff, m1_SAS_positive_diff, m2_SAS_positive_diff)
  SAS positive diff SAS positive diff SAS positive diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -1.08 -2.79 – 0.64 0.216 9.24 2.00 – 16.48 0.013 10.17 2.18 – 18.16 0.013
ActiveDays -0.00 -0.06 – 0.05 0.909 -0.02 -0.08 – 0.04 0.462 -0.02 -0.08 – 0.03 0.405
Reports 0.06 -0.10 – 0.22 0.455 0.02 -0.13 – 0.18 0.767 0.01 -0.17 – 0.19 0.940
Activities 0.06 -0.01 – 0.13 0.118 0.08 0.01 – 0.16 0.031 0.08 0.01 – 0.16 0.035
univ [Foothill] -2.22 -5.41 – 0.97 0.171 -1.63 -4.95 – 1.70 0.334
univ [UW] -2.20 -4.24 – -0.16 0.034 -2.43 -4.65 – -0.22 0.032
Sex [Woman] 0.20 -2.18 – 2.58 0.869 -0.07 -2.51 – 2.37 0.956
Age -0.21 -0.40 – -0.02 0.032 -0.23 -0.43 – -0.03 0.021
int student [No] -4.16 -7.78 – -0.54 0.025 -4.03 -8.08 – 0.03 0.052
SES num -0.29 -1.10 – 0.52 0.486 -0.51 -1.37 – 0.36 0.248
Ethnicity White 1.07 -1.59 – 3.73 0.427
Ethnicity Hispanic -0.34 -3.93 – 3.26 0.854
Ethnicity Black 0.78 -4.39 – 5.94 0.767
Ethnicity East Asian 0.84 -2.53 – 4.20 0.625
Ethnicity South Asian 1.42 -3.21 – 6.05 0.546
Ethnicity Native Hawaiian
Pacific Islander
-8.37 -17.11 – 0.36 0.060
Ethnicity Middle Eastern 1.64 -4.45 – 7.73 0.595
Ethnicity American Indian 2.42 -11.17 – 16.02 0.725
Observations 167 166 166
R2 / R2 adjusted 0.028 / 0.010 0.113 / 0.062 0.145 / 0.047

Excluded Unreasonable Numbers

m0_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_positive_diff <- lm(SAS_positive_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_positive_diff, m1_SAS_positive_diff, m2_SAS_positive_diff)
  SAS positive diff SAS positive diff SAS positive diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.78 -2.82 – 1.26 0.448 10.36 2.09 – 18.64 0.014 11.01 1.98 – 20.04 0.017
ActiveDays -0.00 -0.13 – 0.12 0.972 -0.04 -0.17 – 0.09 0.527 -0.05 -0.18 – 0.08 0.413
Reports 0.06 -0.16 – 0.28 0.578 0.03 -0.19 – 0.24 0.799 0.01 -0.24 – 0.26 0.926
Activities 0.04 -0.04 – 0.13 0.313 0.09 0.00 – 0.18 0.044 0.10 0.01 – 0.19 0.035
univ [Foothill] -2.58 -6.27 – 1.11 0.169 -1.78 -5.62 – 2.05 0.359
univ [UW] -2.74 -5.13 – -0.36 0.025 -3.06 -5.64 – -0.48 0.021
Sex [Woman] 0.09 -2.62 – 2.80 0.947 -0.25 -3.03 – 2.54 0.860
Age -0.23 -0.44 – -0.02 0.031 -0.25 -0.47 – -0.03 0.026
int student [No] -4.71 -9.38 – -0.04 0.048 -4.23 -9.20 – 0.75 0.095
SES num -0.17 -1.10 – 0.75 0.709 -0.37 -1.33 – 0.60 0.454
Ethnicity White 0.98 -1.98 – 3.95 0.514
Ethnicity Hispanic -0.89 -4.86 – 3.09 0.659
Ethnicity Black -0.82 -6.72 – 5.08 0.784
Ethnicity East Asian 0.69 -3.01 – 4.38 0.714
Ethnicity South Asian 2.73 -2.86 – 8.32 0.336
Ethnicity Native Hawaiian
Pacific Islander
-8.73 -17.88 – 0.43 0.062
Ethnicity Middle Eastern 0.48 -11.99 – 12.95 0.939
Ethnicity American Indian 2.94 -12.49 – 18.38 0.706
Observations 139 139 139
R2 / R2 adjusted 0.015 / -0.007 0.112 / 0.050 0.157 / 0.038

SAS: Negative

Intention to Treat

m0_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_SAS_negative_diff, m1_SAS_negative_diff, m2_SAS_negative_diff)
  SAS negative diff SAS negative diff SAS negative diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.65 -2.45 – 1.15 0.475 -9.12 -16.63 – -1.61 0.018 -8.28 -16.78 – 0.21 0.056
ActiveDays -0.00 -0.07 – 0.06 0.879 0.01 -0.06 – 0.07 0.817 0.01 -0.06 – 0.07 0.824
Reports 0.11 -0.06 – 0.28 0.210 0.15 -0.03 – 0.32 0.096 0.10 -0.10 – 0.31 0.304
Activities -0.01 -0.08 – 0.07 0.827 -0.02 -0.10 – 0.06 0.555 -0.03 -0.11 – 0.06 0.537
univ [Foothill] 1.79 -1.62 – 5.21 0.301 1.62 -2.00 – 5.23 0.378
univ [UW] 1.02 -1.20 – 3.24 0.366 1.34 -1.10 – 3.78 0.280
Sex [Woman] 0.54 -2.01 – 3.10 0.674 0.33 -2.31 – 2.98 0.803
Age 0.18 -0.03 – 0.39 0.087 0.18 -0.04 – 0.40 0.104
int student [No] 2.19 -1.63 – 6.01 0.260 1.48 -2.94 – 5.89 0.510
SES num 0.45 -0.44 – 1.34 0.322 0.45 -0.51 – 1.41 0.359
Ethnicity White 0.20 -2.73 – 3.12 0.895
Ethnicity Hispanic 1.31 -2.65 – 5.28 0.514
Ethnicity Black 0.35 -5.40 – 6.09 0.905
Ethnicity East Asian -0.65 -4.38 – 3.09 0.733
Ethnicity South Asian -0.46 -5.50 – 4.58 0.857
Ethnicity Native Hawaiian
Pacific Islander
-1.93 -11.63 – 7.78 0.696
Ethnicity Middle Eastern 2.01 -4.74 – 8.77 0.557
Ethnicity American Indian 5.18 -9.97 – 20.33 0.500
Observations 170 169 169
R2 / R2 adjusted 0.011 / -0.007 0.056 / 0.003 0.067 / -0.039

Excluded Preregistered

m0_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_SAS_negative_diff, m1_SAS_negative_diff, m2_SAS_negative_diff)
  SAS negative diff SAS negative diff SAS negative diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.78 -2.64 – 1.09 0.413 -10.02 -18.06 – -1.98 0.015 -9.26 -18.25 – -0.27 0.044
ActiveDays -0.00 -0.07 – 0.06 0.892 0.01 -0.05 – 0.07 0.779 0.01 -0.06 – 0.08 0.768
Reports 0.11 -0.06 – 0.29 0.206 0.15 -0.03 – 0.33 0.092 0.11 -0.09 – 0.31 0.282
Activities -0.01 -0.08 – 0.07 0.889 -0.02 -0.10 – 0.06 0.593 -0.02 -0.11 – 0.06 0.566
univ [Foothill] 1.49 -2.04 – 5.02 0.405 1.29 -2.45 – 5.02 0.497
univ [UW] 1.06 -1.19 – 3.31 0.354 1.42 -1.06 – 3.91 0.260
Sex [Woman] 0.72 -1.92 – 3.36 0.592 0.52 -2.22 – 3.26 0.707
Age 0.19 -0.02 – 0.40 0.072 0.19 -0.03 – 0.42 0.086
int student [No] 2.55 -1.47 – 6.58 0.212 1.79 -2.78 – 6.35 0.441
SES num 0.46 -0.45 – 1.36 0.322 0.45 -0.53 – 1.42 0.370
Ethnicity White 0.30 -2.69 – 3.29 0.843
Ethnicity Hispanic 1.52 -2.52 – 5.57 0.459
Ethnicity Black 0.42 -5.39 – 6.23 0.887
Ethnicity East Asian -0.49 -4.28 – 3.31 0.800
Ethnicity South Asian -0.74 -5.95 – 4.48 0.781
Ethnicity Native Hawaiian
Pacific Islander
-1.53 -11.36 – 8.30 0.759
Ethnicity Middle Eastern 2.07 -4.79 – 8.92 0.552
Ethnicity American Indian 4.84 -10.47 – 20.16 0.533
Observations 167 166 166
R2 / R2 adjusted 0.011 / -0.007 0.058 / 0.003 0.068 / -0.039

Excluded Unreasonable Numbers

m0_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_SAS_negative_diff <- lm(SAS_negative_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_SAS_negative_diff, m1_SAS_negative_diff, m2_SAS_negative_diff)
  SAS negative diff SAS negative diff SAS negative diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.66 -2.79 – 1.46 0.538 -9.13 -18.09 – -0.18 0.046 -8.95 -18.82 – 0.93 0.075
ActiveDays -0.08 -0.21 – 0.05 0.218 -0.06 -0.20 – 0.07 0.359 -0.06 -0.20 – 0.08 0.381
Reports 0.24 0.01 – 0.47 0.039 0.26 0.03 – 0.49 0.027 0.20 -0.07 – 0.48 0.148
Activities 0.01 -0.07 – 0.10 0.765 -0.01 -0.11 – 0.08 0.753 -0.02 -0.11 – 0.08 0.754
univ [Foothill] 0.20 -3.77 – 4.18 0.919 -0.25 -4.44 – 3.93 0.906
univ [UW] 0.84 -1.70 – 3.38 0.515 1.39 -1.40 – 4.18 0.325
Sex [Woman] 0.26 -2.64 – 3.16 0.860 -0.05 -3.06 – 2.95 0.972
Age 0.24 0.02 – 0.47 0.036 0.27 0.03 – 0.51 0.027
int student [No] 2.56 -2.50 – 7.61 0.319 1.89 -3.55 – 7.33 0.493
SES num 0.17 -0.83 – 1.17 0.736 0.27 -0.78 – 1.33 0.607
Ethnicity White -0.10 -3.35 – 3.14 0.949
Ethnicity Hispanic 2.42 -1.92 – 6.77 0.272
Ethnicity Black -1.78 -8.22 – 4.66 0.585
Ethnicity East Asian -1.54 -5.59 – 2.50 0.452
Ethnicity South Asian -0.84 -6.95 – 5.28 0.787
Ethnicity Native Hawaiian
Pacific Islander
-1.67 -11.69 – 8.36 0.743
Ethnicity Middle Eastern -4.33 -17.97 – 9.32 0.531
Ethnicity American Indian 4.06 -12.82 – 20.94 0.635
Observations 140 140 140
R2 / R2 adjusted 0.031 / 0.010 0.073 / 0.009 0.101 / -0.024

Flourishing Scale

Intention to Treat

m0_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_flourishing_diff, m1_flourishing_diff, m2_flourishing_diff)
  flourishing diff flourishing diff flourishing diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.10 -1.34 – 1.14 0.878 1.79 -3.50 – 7.09 0.504 1.52 -4.43 – 7.46 0.615
ActiveDays -0.07 -0.11 – -0.03 0.001 -0.07 -0.12 – -0.03 0.002 -0.07 -0.11 – -0.02 0.005
Reports 0.04 -0.08 – 0.16 0.544 0.03 -0.09 – 0.16 0.601 0.04 -0.10 – 0.18 0.547
Activities 0.09 0.03 – 0.14 0.001 0.10 0.04 – 0.15 0.001 0.10 0.04 – 0.15 0.001
univ [Foothill] 0.99 -1.42 – 3.40 0.419 1.10 -1.43 – 3.63 0.392
univ [UW] -0.10 -1.65 – 1.46 0.903 0.16 -1.53 – 1.86 0.850
Sex [Woman] 0.49 -1.29 – 2.27 0.589 0.40 -1.43 – 2.23 0.664
Age -0.09 -0.24 – 0.06 0.223 -0.08 -0.23 – 0.07 0.305
int student [No] -0.40 -3.09 – 2.29 0.771 -0.77 -3.86 – 2.32 0.622
SES num -0.09 -0.71 – 0.54 0.782 0.02 -0.65 – 0.69 0.959
Ethnicity White 0.01 -2.03 – 2.05 0.990
Ethnicity Hispanic 0.79 -1.99 – 3.57 0.575
Ethnicity Black -1.84 -5.86 – 2.18 0.368
Ethnicity East Asian -0.29 -2.91 – 2.32 0.825
Ethnicity South Asian -1.73 -5.25 – 1.80 0.334
Ethnicity Native Hawaiian
Pacific Islander
0.58 -6.22 – 7.37 0.867
Ethnicity Middle Eastern -2.62 -7.35 – 2.10 0.275
Ethnicity American Indian -0.34 -10.94 – 10.25 0.949
Observations 170 170 170
R2 / R2 adjusted 0.085 / 0.068 0.098 / 0.047 0.121 / 0.023

Excluded Preregistered

m0_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_flourishing_diff, m1_flourishing_diff, m2_flourishing_diff)
  flourishing diff flourishing diff flourishing diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.10 -1.38 – 1.18 0.875 3.08 -2.54 – 8.70 0.281 2.48 -3.77 – 8.73 0.435
ActiveDays -0.07 -0.11 – -0.03 0.001 -0.07 -0.12 – -0.03 0.001 -0.07 -0.12 – -0.02 0.003
Reports 0.04 -0.08 – 0.16 0.544 0.03 -0.09 – 0.15 0.626 0.04 -0.10 – 0.18 0.590
Activities 0.09 0.03 – 0.14 0.001 0.10 0.04 – 0.15 0.001 0.10 0.04 – 0.16 0.001
univ [Foothill] 1.27 -1.20 – 3.73 0.312 1.31 -1.28 – 3.91 0.319
univ [UW] -0.26 -1.82 – 1.31 0.748 -0.04 -1.76 – 1.68 0.963
Sex [Woman] 0.17 -1.65 – 2.00 0.853 0.14 -1.74 – 2.02 0.884
Age -0.11 -0.26 – 0.04 0.144 -0.10 -0.25 – 0.06 0.225
int student [No] -1.02 -3.83 – 1.79 0.475 -1.14 -4.31 – 2.04 0.480
SES num -0.08 -0.71 – 0.55 0.795 0.04 -0.64 – 0.71 0.918
Ethnicity White -0.10 -2.18 – 1.97 0.923
Ethnicity Hispanic 0.67 -2.14 – 3.49 0.636
Ethnicity Black -1.84 -5.88 – 2.20 0.369
Ethnicity East Asian -0.36 -2.99 – 2.28 0.790
Ethnicity South Asian -1.31 -4.94 – 2.31 0.475
Ethnicity Native Hawaiian
Pacific Islander
0.27 -6.56 – 7.11 0.937
Ethnicity Middle Eastern -2.69 -7.45 – 2.07 0.266
Ethnicity American Indian -0.16 -10.80 – 10.49 0.977
Observations 167 167 167
R2 / R2 adjusted 0.086 / 0.069 0.105 / 0.054 0.124 / 0.024

Excluded Unreasonable Numbers

m0_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_flourishing_diff <- lm(flourishing_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_flourishing_diff, m1_flourishing_diff, m2_flourishing_diff)
  flourishing diff flourishing diff flourishing diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.47 -1.89 – 0.96 0.518 2.64 -3.31 – 8.60 0.381 1.92 -4.73 – 8.58 0.568
ActiveDays -0.02 -0.11 – 0.06 0.577 -0.01 -0.10 – 0.08 0.891 -0.00 -0.10 – 0.09 0.968
Reports -0.01 -0.16 – 0.14 0.906 -0.03 -0.18 – 0.12 0.704 -0.03 -0.22 – 0.16 0.746
Activities 0.08 0.03 – 0.14 0.004 0.10 0.04 – 0.16 0.002 0.10 0.04 – 0.16 0.003
univ [Foothill] 2.69 0.04 – 5.33 0.046 2.53 -0.29 – 5.35 0.078
univ [UW] 0.35 -1.34 – 2.04 0.681 0.35 -1.53 – 2.23 0.710
Sex [Woman] 0.79 -1.14 – 2.72 0.421 0.81 -1.22 – 2.83 0.432
Age -0.16 -0.31 – -0.01 0.034 -0.16 -0.32 – 0.01 0.058
int student [No] -1.56 -4.93 – 1.80 0.359 -1.36 -5.03 – 2.30 0.464
SES num 0.04 -0.62 – 0.70 0.905 0.04 -0.67 – 0.75 0.916
Ethnicity White 0.14 -2.04 – 2.33 0.898
Ethnicity Hispanic 0.76 -2.17 – 3.69 0.610
Ethnicity Black 0.27 -4.07 – 4.61 0.903
Ethnicity East Asian 0.50 -2.22 – 3.23 0.716
Ethnicity South Asian 0.96 -3.16 – 5.08 0.645
Ethnicity Native Hawaiian
Pacific Islander
0.77 -5.99 – 7.52 0.822
Ethnicity Middle Eastern 1.31 -7.89 – 10.50 0.779
Ethnicity American Indian -0.27 -11.65 – 11.10 0.962
Observations 140 140 140
R2 / R2 adjusted 0.064 / 0.044 0.118 / 0.057 0.122 / -0.000

Social Fit

Intention to Treat

m0_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_social_fit_diff, m1_social_fit_diff, m2_social_fit_diff)
  social fit diff social fit diff social fit diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.09 -0.45 – 0.28 0.642 -0.86 -2.41 – 0.68 0.272 -0.81 -2.54 – 0.92 0.355
ActiveDays -0.01 -0.02 – -0.00 0.045 -0.01 -0.02 – 0.00 0.082 -0.01 -0.02 – 0.00 0.089
Reports 0.01 -0.03 – 0.04 0.774 0.00 -0.03 – 0.04 0.883 0.00 -0.04 – 0.05 0.834
Activities 0.01 -0.00 – 0.03 0.113 0.01 -0.00 – 0.03 0.122 0.01 -0.00 – 0.03 0.132
univ [Foothill] -0.20 -0.90 – 0.50 0.576 -0.32 -1.05 – 0.41 0.391
univ [UW] -0.16 -0.61 – 0.30 0.494 -0.32 -0.81 – 0.18 0.206
Sex [Woman] 0.10 -0.42 – 0.62 0.714 0.13 -0.40 – 0.66 0.637
Age 0.01 -0.03 – 0.05 0.718 0.01 -0.04 – 0.05 0.795
int student [No] 0.56 -0.22 – 1.35 0.158 0.81 -0.09 – 1.70 0.078
SES num 0.03 -0.15 – 0.21 0.755 0.06 -0.13 – 0.25 0.541
Ethnicity White -0.55 -1.14 – 0.04 0.068
Ethnicity Hispanic -0.41 -1.22 – 0.39 0.311
Ethnicity Black 0.11 -1.06 – 1.27 0.856
Ethnicity East Asian -0.06 -0.82 – 0.70 0.879
Ethnicity South Asian 0.14 -0.89 – 1.16 0.793
Ethnicity Native Hawaiian
Pacific Islander
0.28 -1.69 – 2.25 0.778
Ethnicity Middle Eastern -0.66 -2.03 – 0.72 0.347
Ethnicity American Indian -0.47 -3.55 – 2.60 0.761
Observations 171 170 170
R2 / R2 adjusted 0.029 / 0.011 0.050 / -0.003 0.087 / -0.015

Excluded Preregistered

m0_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_social_fit_diff, m1_social_fit_diff, m2_social_fit_diff)
  social fit diff social fit diff social fit diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.05 -0.42 – 0.33 0.795 -0.60 -2.26 – 1.06 0.476 -0.52 -2.34 – 1.30 0.573
ActiveDays -0.01 -0.03 – -0.00 0.043 -0.01 -0.03 – 0.00 0.073 -0.01 -0.03 – 0.00 0.073
Reports 0.00 -0.03 – 0.04 0.798 0.00 -0.03 – 0.04 0.909 0.00 -0.04 – 0.04 0.895
Activities 0.01 -0.00 – 0.03 0.144 0.01 -0.00 – 0.03 0.132 0.01 -0.00 – 0.03 0.136
univ [Foothill] -0.16 -0.89 – 0.56 0.660 -0.26 -1.02 – 0.50 0.498
univ [UW] -0.17 -0.64 – 0.29 0.455 -0.35 -0.85 – 0.15 0.167
Sex [Woman] 0.04 -0.50 – 0.58 0.885 0.06 -0.49 – 0.61 0.831
Age 0.00 -0.04 – 0.05 0.833 0.00 -0.04 – 0.05 0.937
int student [No] 0.45 -0.38 – 1.28 0.287 0.70 -0.23 – 1.63 0.137
SES num 0.02 -0.16 – 0.21 0.806 0.06 -0.14 – 0.26 0.565
Ethnicity White -0.56 -1.17 – 0.04 0.068
Ethnicity Hispanic -0.44 -1.26 – 0.38 0.287
Ethnicity Black 0.11 -1.07 – 1.29 0.853
Ethnicity East Asian -0.08 -0.85 – 0.69 0.840
Ethnicity South Asian 0.25 -0.81 – 1.31 0.640
Ethnicity Native Hawaiian
Pacific Islander
0.20 -1.80 – 2.19 0.846
Ethnicity Middle Eastern -0.65 -2.03 – 0.74 0.360
Ethnicity American Indian -0.38 -3.48 – 2.72 0.809
Observations 168 167 167
R2 / R2 adjusted 0.029 / 0.011 0.043 / -0.012 0.083 / -0.021

Excluded Unreasonable Numbers

m0_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_social_fit_diff <- lm(social_fit_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_social_fit_diff, m1_social_fit_diff, m2_social_fit_diff)
  social fit diff social fit diff social fit diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.21 -0.63 – 0.22 0.334 -1.20 -3.01 – 0.62 0.194 -1.28 -3.26 – 0.70 0.203
ActiveDays -0.01 -0.03 – 0.02 0.504 -0.01 -0.04 – 0.02 0.499 -0.01 -0.03 – 0.02 0.643
Reports -0.00 -0.05 – 0.04 0.901 -0.00 -0.05 – 0.05 0.937 -0.01 -0.06 – 0.05 0.818
Activities 0.01 -0.00 – 0.03 0.095 0.01 -0.00 – 0.03 0.120 0.02 -0.00 – 0.03 0.112
univ [Foothill] 0.03 -0.77 – 0.84 0.937 -0.11 -0.95 – 0.73 0.791
univ [UW] -0.04 -0.56 – 0.47 0.866 -0.21 -0.77 – 0.35 0.458
Sex [Woman] 0.05 -0.53 – 0.64 0.860 0.09 -0.51 – 0.69 0.765
Age 0.01 -0.04 – 0.05 0.796 0.01 -0.04 – 0.05 0.791
int student [No] 0.62 -0.40 – 1.64 0.231 0.85 -0.24 – 1.94 0.127
SES num 0.08 -0.12 – 0.28 0.452 0.09 -0.12 – 0.31 0.376
Ethnicity White -0.47 -1.12 – 0.18 0.155
Ethnicity Hispanic -0.19 -1.06 – 0.68 0.668
Ethnicity Black 0.14 -1.15 – 1.43 0.829
Ethnicity East Asian 0.10 -0.71 – 0.91 0.808
Ethnicity South Asian 0.57 -0.66 – 1.80 0.358
Ethnicity Native Hawaiian
Pacific Islander
0.48 -1.53 – 2.49 0.635
Ethnicity Middle Eastern -0.21 -2.95 – 2.53 0.879
Ethnicity American Indian -0.09 -3.47 – 3.30 0.959
Observations 140 140 140
R2 / R2 adjusted 0.021 / -0.001 0.037 / -0.029 0.083 / -0.045

Cohesion

Intention to Treat

m0_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_cohesion_diff, m1_cohesion_diff, m2_cohesion_diff)
  cohesion diff cohesion diff cohesion diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.41 -0.02 – 0.84 0.062 -0.24 -2.08 – 1.61 0.801 0.04 -2.01 – 2.10 0.967
ActiveDays -0.01 -0.02 – 0.01 0.477 -0.00 -0.02 – 0.01 0.703 -0.00 -0.02 – 0.01 0.797
Reports -0.01 -0.05 – 0.04 0.784 -0.01 -0.05 – 0.04 0.792 -0.01 -0.06 – 0.04 0.592
Activities 0.01 -0.01 – 0.02 0.507 0.00 -0.02 – 0.02 0.703 0.00 -0.02 – 0.02 0.688
univ [Foothill] 0.01 -0.83 – 0.85 0.983 0.15 -0.72 – 1.02 0.737
univ [UW] 0.03 -0.52 – 0.57 0.924 -0.07 -0.66 – 0.52 0.816
Sex [Woman] 0.19 -0.43 – 0.81 0.551 0.12 -0.51 – 0.75 0.705
Age 0.03 -0.02 – 0.08 0.245 0.03 -0.03 – 0.08 0.328
int student [No] 0.22 -0.72 – 1.15 0.650 0.37 -0.70 – 1.43 0.498
SES num -0.10 -0.32 – 0.11 0.351 -0.10 -0.33 – 0.13 0.408
Ethnicity White -0.29 -1.00 – 0.41 0.411
Ethnicity Hispanic -0.62 -1.58 – 0.34 0.202
Ethnicity Black -0.73 -2.12 – 0.66 0.301
Ethnicity East Asian 0.01 -0.89 – 0.92 0.976
Ethnicity South Asian -0.26 -1.47 – 0.96 0.677
Ethnicity Native Hawaiian
Pacific Islander
-1.85 -4.20 – 0.49 0.121
Ethnicity Middle Eastern -0.83 -2.47 – 0.80 0.315
Ethnicity American Indian 1.65 -2.01 – 5.31 0.374
Observations 171 170 170
R2 / R2 adjusted 0.006 / -0.012 0.023 / -0.032 0.064 / -0.041

Excluded Preregistered

m0_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_cohesion_diff, m1_cohesion_diff, m2_cohesion_diff)
  cohesion diff cohesion diff cohesion diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.35 -0.09 – 0.80 0.121 -0.45 -2.42 – 1.52 0.651 -0.17 -2.34 – 2.00 0.877
ActiveDays -0.01 -0.02 – 0.01 0.500 -0.00 -0.02 – 0.01 0.738 -0.00 -0.02 – 0.01 0.844
Reports -0.00 -0.05 – 0.04 0.817 -0.00 -0.05 – 0.04 0.824 -0.01 -0.06 – 0.04 0.643
Activities 0.01 -0.01 – 0.03 0.425 0.01 -0.01 – 0.02 0.606 0.01 -0.01 – 0.03 0.598
univ [Foothill] -0.04 -0.91 – 0.82 0.918 0.11 -0.79 – 1.01 0.804
univ [UW] 0.01 -0.54 – 0.56 0.967 -0.09 -0.68 – 0.51 0.769
Sex [Woman] 0.22 -0.42 – 0.85 0.507 0.15 -0.50 – 0.80 0.647
Age 0.03 -0.02 – 0.08 0.221 0.03 -0.03 – 0.08 0.308
int student [No] 0.28 -0.70 – 1.27 0.570 0.44 -0.66 – 1.54 0.432
SES num -0.09 -0.31 – 0.13 0.413 -0.08 -0.32 – 0.15 0.498
Ethnicity White -0.33 -1.05 – 0.39 0.373
Ethnicity Hispanic -0.61 -1.59 – 0.37 0.218
Ethnicity Black -0.74 -2.14 – 0.66 0.297
Ethnicity East Asian 0.03 -0.88 – 0.95 0.945
Ethnicity South Asian -0.33 -1.58 – 0.93 0.610
Ethnicity Native Hawaiian
Pacific Islander
-1.80 -4.17 – 0.57 0.135
Ethnicity Middle Eastern -0.89 -2.55 – 0.76 0.287
Ethnicity American Indian 1.52 -2.17 – 5.21 0.418
Observations 168 167 167
R2 / R2 adjusted 0.006 / -0.012 0.023 / -0.033 0.064 / -0.043

Excluded Unreasonable Numbers

m0_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_cohesion_diff <- lm(cohesion_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_cohesion_diff, m1_cohesion_diff, m2_cohesion_diff)
  cohesion diff cohesion diff cohesion diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.16 -0.32 – 0.65 0.508 0.12 -1.95 – 2.19 0.911 0.12 -2.17 – 2.40 0.920
ActiveDays 0.00 -0.03 – 0.03 0.854 0.01 -0.02 – 0.04 0.637 0.00 -0.03 – 0.04 0.769
Reports 0.00 -0.05 – 0.06 0.923 0.00 -0.05 – 0.05 0.984 -0.01 -0.07 – 0.06 0.797
Activities 0.01 -0.01 – 0.03 0.325 0.01 -0.01 – 0.03 0.509 0.01 -0.01 – 0.03 0.444
univ [Foothill] -0.21 -1.13 – 0.71 0.650 -0.15 -1.12 – 0.82 0.761
univ [UW] 0.17 -0.42 – 0.76 0.568 0.00 -0.64 – 0.65 0.991
Sex [Woman] 0.40 -0.27 – 1.07 0.238 0.35 -0.34 – 1.05 0.315
Age 0.01 -0.04 – 0.07 0.594 0.01 -0.05 – 0.07 0.725
int student [No] -0.43 -1.59 – 0.74 0.471 -0.13 -1.38 – 1.13 0.844
SES num -0.07 -0.30 – 0.16 0.553 -0.10 -0.35 – 0.14 0.397
Ethnicity White 0.01 -0.73 – 0.76 0.969
Ethnicity Hispanic -0.13 -1.14 – 0.87 0.796
Ethnicity Black -0.02 -1.51 – 1.46 0.974
Ethnicity East Asian 0.53 -0.41 – 1.46 0.269
Ethnicity South Asian 0.39 -1.02 – 1.80 0.587
Ethnicity Native Hawaiian
Pacific Islander
-1.23 -3.54 – 1.09 0.296
Ethnicity Middle Eastern -0.35 -3.51 – 2.80 0.826
Ethnicity American Indian 1.24 -2.66 – 5.15 0.529
Observations 140 140 140
R2 / R2 adjusted 0.013 / -0.009 0.039 / -0.028 0.068 / -0.062

Mindfulness

Intention to Treat

m0_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_mindfulness_diff, m1_mindfulness_diff, m2_mindfulness_diff)
  mindfulness diff mindfulness diff mindfulness diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -1.54 -3.14 – 0.06 0.060 3.42 -3.31 – 10.14 0.317 3.63 -3.88 – 11.14 0.342
ActiveDays -0.02 -0.07 – 0.04 0.584 -0.02 -0.07 – 0.04 0.557 -0.02 -0.08 – 0.04 0.532
Reports -0.08 -0.24 – 0.07 0.289 -0.11 -0.27 – 0.04 0.161 -0.05 -0.22 – 0.13 0.599
Activities 0.09 0.02 – 0.15 0.014 0.10 0.03 – 0.18 0.004 0.11 0.03 – 0.18 0.005
univ [Foothill] -0.55 -3.61 – 2.51 0.724 0.12 -3.08 – 3.31 0.943
univ [UW] -2.00 -3.98 – -0.02 0.047 -1.83 -3.97 – 0.31 0.094
Sex [Woman] -1.08 -3.34 – 1.18 0.345 -0.87 -3.18 – 1.44 0.456
Age -0.14 -0.33 – 0.04 0.132 -0.15 -0.34 – 0.04 0.120
int student [No] 0.31 -3.11 – 3.73 0.859 -0.16 -4.06 – 3.74 0.934
SES num -0.19 -0.99 – 0.60 0.632 -0.38 -1.23 – 0.46 0.372
Ethnicity White 1.24 -1.34 – 3.82 0.344
Ethnicity Hispanic -1.25 -4.75 – 2.26 0.484
Ethnicity Black 0.05 -5.03 – 5.12 0.986
Ethnicity East Asian 0.77 -2.53 – 4.07 0.645
Ethnicity South Asian -1.69 -6.14 – 2.76 0.454
Ethnicity Native Hawaiian
Pacific Islander
1.30 -7.28 – 9.88 0.766
Ethnicity Middle Eastern 1.50 -4.47 – 7.47 0.620
Ethnicity American Indian -8.18 -21.56 – 5.20 0.229
Observations 171 170 170
R2 / R2 adjusted 0.040 / 0.023 0.080 / 0.028 0.113 / 0.013

Excluded Preregistered

m0_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_mindfulness_diff, m1_mindfulness_diff, m2_mindfulness_diff)
  mindfulness diff mindfulness diff mindfulness diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -1.53 -3.19 – 0.13 0.070 4.94 -2.22 – 12.10 0.175 4.78 -3.14 – 12.70 0.235
ActiveDays -0.02 -0.07 – 0.04 0.585 -0.02 -0.08 – 0.04 0.499 -0.02 -0.08 – 0.04 0.470
Reports -0.08 -0.24 – 0.07 0.291 -0.11 -0.27 – 0.04 0.154 -0.05 -0.23 – 0.13 0.561
Activities 0.08 0.02 – 0.15 0.015 0.11 0.04 – 0.18 0.004 0.11 0.03 – 0.18 0.004
univ [Foothill] -0.36 -3.51 – 2.78 0.820 0.21 -3.08 – 3.50 0.899
univ [UW] -2.17 -4.16 – -0.17 0.033 -2.02 -4.20 – 0.16 0.069
Sex [Woman] -1.46 -3.78 – 0.86 0.217 -1.20 -3.58 – 1.18 0.322
Age -0.16 -0.35 – 0.03 0.092 -0.17 -0.36 – 0.03 0.094
int student [No] -0.43 -4.01 – 3.16 0.815 -0.65 -4.67 – 3.38 0.752
SES num -0.21 -1.01 – 0.59 0.610 -0.40 -1.26 – 0.46 0.357
Ethnicity White 1.25 -1.38 – 3.88 0.348
Ethnicity Hispanic -1.24 -4.80 – 2.33 0.494
Ethnicity Black 0.16 -4.96 – 5.27 0.952
Ethnicity East Asian 0.79 -2.55 – 4.13 0.640
Ethnicity South Asian -1.10 -5.69 – 3.48 0.635
Ethnicity Native Hawaiian
Pacific Islander
1.08 -7.58 – 9.74 0.806
Ethnicity Middle Eastern 1.63 -4.41 – 7.66 0.595
Ethnicity American Indian -7.86 -21.34 – 5.62 0.251
Observations 168 167 167
R2 / R2 adjusted 0.040 / 0.023 0.086 / 0.034 0.115 / 0.014

Excluded Unreasonable Numbers

m0_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_mindfulness_diff <- lm(mindfulness_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_mindfulness_diff, m1_mindfulness_diff, m2_mindfulness_diff)
  mindfulness diff mindfulness diff mindfulness diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -1.45 -3.30 – 0.40 0.124 7.57 -0.08 – 15.23 0.052 5.61 -2.70 – 13.93 0.184
ActiveDays -0.01 -0.12 – 0.11 0.927 -0.05 -0.16 – 0.07 0.431 -0.06 -0.17 – 0.06 0.357
Reports -0.20 -0.40 – 0.00 0.051 -0.22 -0.42 – -0.02 0.032 -0.15 -0.38 – 0.08 0.200
Activities 0.09 0.02 – 0.17 0.014 0.14 0.06 – 0.22 0.001 0.14 0.06 – 0.22 0.001
univ [Foothill] -0.09 -3.49 – 3.31 0.960 0.83 -2.69 – 4.35 0.642
univ [UW] -2.72 -4.89 – -0.54 0.015 -2.54 -4.89 – -0.19 0.034
Sex [Woman] -1.72 -4.20 – 0.76 0.172 -1.72 -4.25 – 0.81 0.181
Age -0.21 -0.41 – -0.02 0.032 -0.21 -0.41 – -0.00 0.046
int student [No] -2.35 -6.67 – 1.97 0.284 -1.76 -6.34 – 2.82 0.449
SES num 0.03 -0.83 – 0.88 0.950 -0.09 -0.98 – 0.80 0.845
Ethnicity White 1.94 -0.79 – 4.67 0.162
Ethnicity Hispanic -0.65 -4.31 – 3.01 0.726
Ethnicity Black -1.30 -6.72 – 4.13 0.637
Ethnicity East Asian 2.25 -1.16 – 5.65 0.195
Ethnicity South Asian 0.09 -5.05 – 5.24 0.972
Ethnicity Native Hawaiian
Pacific Islander
1.46 -6.98 – 9.90 0.732
Ethnicity Middle Eastern 9.65 -1.84 – 21.14 0.099
Ethnicity American Indian -2.17 -16.38 – 12.04 0.763
Observations 140 140 140
R2 / R2 adjusted 0.074 / 0.054 0.149 / 0.090 0.200 / 0.089

Emotional Resilience

Intention to Treat

m0_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_emo_res_diff, m1_emo_res_diff, m2_emo_res_diff)
  emo res diff emo res diff emo res diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.80 -0.11 – 1.71 0.083 1.06 -2.83 – 4.95 0.592 -1.20 -5.48 – 3.08 0.579
ActiveDays -0.03 -0.06 – 0.00 0.098 -0.03 -0.06 – 0.01 0.123 -0.02 -0.06 – 0.01 0.152
Reports 0.01 -0.07 – 0.10 0.754 0.02 -0.07 – 0.11 0.678 0.02 -0.08 – 0.12 0.681
Activities 0.02 -0.02 – 0.05 0.437 0.02 -0.02 – 0.06 0.422 0.02 -0.02 – 0.06 0.373
univ [Foothill] 0.98 -0.79 – 2.75 0.277 0.96 -0.86 – 2.78 0.298
univ [UW] 0.46 -0.68 – 1.61 0.427 0.45 -0.77 – 1.67 0.470
Sex [Woman] 0.32 -0.99 – 1.62 0.634 0.31 -1.01 – 1.63 0.643
Age -0.04 -0.14 – 0.07 0.501 -0.02 -0.13 – 0.09 0.742
int student [No] -0.11 -2.09 – 1.87 0.910 0.53 -1.69 – 2.76 0.636
SES num -0.02 -0.48 – 0.44 0.931 -0.01 -0.49 – 0.47 0.959
Ethnicity White 1.45 -0.02 – 2.92 0.053
Ethnicity Hispanic 2.30 0.30 – 4.29 0.025
Ethnicity Black 0.50 -2.39 – 3.39 0.734
Ethnicity East Asian 1.10 -0.78 – 2.98 0.251
Ethnicity South Asian 2.80 0.26 – 5.33 0.031
Ethnicity Native Hawaiian
Pacific Islander
0.31 -4.58 – 5.20 0.899
Ethnicity Middle Eastern -0.75 -4.16 – 2.65 0.663
Ethnicity American Indian 0.41 -7.21 – 8.04 0.915
Observations 170 170 170
R2 / R2 adjusted 0.018 / -0.000 0.029 / -0.025 0.092 / -0.009

Excluded Preregistered

m0_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_emo_res_diff, m1_emo_res_diff, m2_emo_res_diff)
  emo res diff emo res diff emo res diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.90 -0.05 – 1.84 0.063 1.13 -3.03 – 5.29 0.592 -0.82 -5.35 – 3.70 0.719
ActiveDays -0.03 -0.06 – 0.00 0.095 -0.03 -0.06 – 0.01 0.121 -0.02 -0.06 – 0.01 0.141
Reports 0.01 -0.08 – 0.10 0.780 0.02 -0.07 – 0.11 0.699 0.02 -0.08 – 0.12 0.729
Activities 0.01 -0.03 – 0.05 0.512 0.01 -0.03 – 0.06 0.500 0.02 -0.03 – 0.06 0.447
univ [Foothill] 1.16 -0.67 – 2.98 0.213 1.13 -0.75 – 3.01 0.237
univ [UW] 0.50 -0.66 – 1.66 0.395 0.47 -0.77 – 1.72 0.451
Sex [Woman] 0.34 -1.01 – 1.69 0.616 0.28 -1.09 – 1.64 0.690
Age -0.04 -0.15 – 0.07 0.478 -0.02 -0.13 – 0.09 0.685
int student [No] -0.09 -2.17 – 1.99 0.934 0.44 -1.86 – 2.73 0.707
SES num -0.02 -0.49 – 0.45 0.934 -0.02 -0.51 – 0.47 0.926
Ethnicity White 1.42 -0.08 – 2.93 0.063
Ethnicity Hispanic 2.18 0.15 – 4.22 0.036
Ethnicity Black 0.45 -2.47 – 3.37 0.762
Ethnicity East Asian 1.00 -0.91 – 2.90 0.303
Ethnicity South Asian 2.85 0.23 – 5.47 0.033
Ethnicity Native Hawaiian
Pacific Islander
0.13 -4.82 – 5.07 0.959
Ethnicity Middle Eastern -0.75 -4.20 – 2.70 0.668
Ethnicity American Indian 0.62 -7.08 – 8.32 0.874
Observations 167 167 167
R2 / R2 adjusted 0.019 / 0.001 0.033 / -0.022 0.094 / -0.009

Excluded Unreasonable Numbers

m0_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_emo_res_diff <- lm(emo_res_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_emo_res_diff, m1_emo_res_diff, m2_emo_res_diff)
  emo res diff emo res diff emo res diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.91 -0.16 – 1.99 0.095 0.76 -3.82 – 5.35 0.742 -1.02 -5.95 – 3.91 0.682
ActiveDays -0.03 -0.09 – 0.04 0.383 -0.02 -0.09 – 0.05 0.603 -0.02 -0.09 – 0.05 0.653
Reports 0.03 -0.09 – 0.15 0.615 0.03 -0.09 – 0.15 0.663 0.03 -0.11 – 0.16 0.719
Activities 0.01 -0.03 – 0.06 0.582 0.02 -0.03 – 0.06 0.510 0.02 -0.03 – 0.06 0.521
univ [Foothill] 1.23 -0.80 – 3.27 0.234 1.17 -0.92 – 3.26 0.270
univ [UW] 0.39 -0.92 – 1.69 0.559 0.72 -0.67 – 2.11 0.306
Sex [Woman] 0.43 -1.06 – 1.91 0.572 0.43 -1.06 – 1.93 0.567
Age -0.06 -0.18 – 0.06 0.306 -0.04 -0.16 – 0.08 0.462
int student [No] -0.42 -3.00 – 2.17 0.752 -0.45 -3.17 – 2.26 0.743
SES num 0.27 -0.24 – 0.78 0.299 0.16 -0.36 – 0.69 0.537
Ethnicity White 2.23 0.61 – 3.84 0.007
Ethnicity Hispanic 2.68 0.51 – 4.85 0.016
Ethnicity Black 0.99 -2.22 – 4.20 0.543
Ethnicity East Asian 1.37 -0.65 – 3.39 0.182
Ethnicity South Asian 2.67 -0.38 – 5.72 0.085
Ethnicity Native Hawaiian
Pacific Islander
1.06 -3.94 – 6.06 0.677
Ethnicity Middle Eastern -0.70 -7.51 – 6.11 0.840
Ethnicity American Indian 0.70 -7.72 – 9.13 0.869
Observations 140 140 140
R2 / R2 adjusted 0.006 / -0.016 0.030 / -0.037 0.108 / -0.017

School Satisfaction

Intention to Treat

m0_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_school_satis_diff, m1_school_satis_diff, m2_school_satis_diff)
  school satis diff school satis diff school satis diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.01 -0.19 – 0.21 0.934 -0.13 -0.99 – 0.73 0.762 -0.11 -1.06 – 0.85 0.829
ActiveDays -0.01 -0.01 – 0.00 0.055 -0.01 -0.01 – 0.00 0.054 -0.01 -0.01 – 0.00 0.095
Reports 0.01 -0.01 – 0.03 0.355 0.01 -0.01 – 0.03 0.545 0.01 -0.01 – 0.04 0.240
Activities 0.01 0.00 – 0.02 0.046 0.01 0.00 – 0.02 0.036 0.01 0.00 – 0.02 0.044
univ [Foothill] -0.24 -0.63 – 0.15 0.229 -0.15 -0.56 – 0.26 0.464
univ [UW] -0.12 -0.38 – 0.13 0.330 -0.11 -0.39 – 0.16 0.413
Sex [Woman] 0.04 -0.25 – 0.33 0.776 0.05 -0.24 – 0.35 0.726
Age -0.00 -0.03 – 0.02 0.753 -0.01 -0.03 – 0.02 0.674
int student [No] 0.21 -0.23 – 0.64 0.348 0.16 -0.34 – 0.65 0.539
SES num 0.02 -0.08 – 0.13 0.634 0.02 -0.09 – 0.13 0.715
Ethnicity White 0.08 -0.25 – 0.41 0.647
Ethnicity Hispanic -0.11 -0.56 – 0.33 0.617
Ethnicity Black -0.14 -0.78 – 0.51 0.680
Ethnicity East Asian 0.06 -0.36 – 0.49 0.764
Ethnicity South Asian -0.35 -0.92 – 0.22 0.222
Ethnicity Native Hawaiian
Pacific Islander
-0.05 -1.15 – 1.04 0.921
Ethnicity Middle Eastern -0.37 -1.14 – 0.39 0.335
Ethnicity American Indian -0.74 -2.45 – 0.97 0.392
Observations 171 170 170
R2 / R2 adjusted 0.033 / 0.016 0.063 / 0.011 0.093 / -0.009

Excluded Preregistered

m0_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_school_satis_diff, m1_school_satis_diff, m2_school_satis_diff)
  school satis diff school satis diff school satis diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.03 -0.18 – 0.23 0.774 0.23 -0.67 – 1.12 0.619 0.19 -0.81 – 1.19 0.709
ActiveDays -0.01 -0.01 – -0.00 0.048 -0.01 -0.01 – -0.00 0.033 -0.01 -0.01 – 0.00 0.059
Reports 0.01 -0.01 – 0.03 0.364 0.01 -0.01 – 0.03 0.584 0.01 -0.01 – 0.03 0.290
Activities 0.01 -0.00 – 0.02 0.058 0.01 0.00 – 0.02 0.029 0.01 0.00 – 0.02 0.034
univ [Foothill] -0.18 -0.57 – 0.22 0.373 -0.10 -0.52 – 0.31 0.625
univ [UW] -0.16 -0.41 – 0.09 0.201 -0.16 -0.44 – 0.11 0.245
Sex [Woman] -0.04 -0.34 – 0.25 0.766 -0.03 -0.33 – 0.28 0.869
Age -0.01 -0.03 – 0.01 0.468 -0.01 -0.03 – 0.02 0.449
int student [No] 0.04 -0.41 – 0.49 0.866 0.04 -0.47 – 0.55 0.875
SES num 0.02 -0.08 – 0.12 0.665 0.02 -0.09 – 0.13 0.729
Ethnicity White 0.06 -0.27 – 0.39 0.706
Ethnicity Hispanic -0.13 -0.58 – 0.32 0.558
Ethnicity Black -0.12 -0.77 – 0.52 0.702
Ethnicity East Asian 0.05 -0.37 – 0.47 0.802
Ethnicity South Asian -0.22 -0.80 – 0.36 0.449
Ethnicity Native Hawaiian
Pacific Islander
-0.13 -1.22 – 0.96 0.810
Ethnicity Middle Eastern -0.36 -1.13 – 0.40 0.344
Ethnicity American Indian -0.66 -2.36 – 1.03 0.441
Observations 168 167 167
R2 / R2 adjusted 0.033 / 0.015 0.055 / 0.001 0.077 / -0.028

Excluded Unreasonable Numbers

m0_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_school_satis_diff <- lm(school_satis_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_school_satis_diff, m1_school_satis_diff, m2_school_satis_diff)
  school satis diff school satis diff school satis diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) -0.10 -0.33 – 0.12 0.368 -0.13 -1.11 – 0.85 0.792 -0.23 -1.31 – 0.84 0.671
ActiveDays 0.01 -0.01 – 0.02 0.251 0.01 -0.01 – 0.02 0.286 0.01 -0.01 – 0.02 0.253
Reports -0.00 -0.03 – 0.02 0.946 -0.00 -0.03 – 0.02 0.855 0.01 -0.02 – 0.04 0.506
Activities 0.01 -0.00 – 0.01 0.233 0.01 -0.00 – 0.02 0.132 0.01 -0.00 – 0.02 0.122
univ [Foothill] 0.07 -0.36 – 0.51 0.746 0.13 -0.32 – 0.59 0.563
univ [UW] -0.07 -0.34 – 0.21 0.635 -0.08 -0.38 – 0.22 0.602
Sex [Woman] 0.11 -0.21 – 0.42 0.506 0.13 -0.20 – 0.46 0.434
Age -0.01 -0.04 – 0.01 0.295 -0.01 -0.04 – 0.01 0.287
int student [No] 0.04 -0.52 – 0.59 0.896 0.08 -0.52 – 0.67 0.799
SES num 0.05 -0.06 – 0.16 0.359 0.04 -0.07 – 0.16 0.465
Ethnicity White 0.02 -0.33 – 0.37 0.912
Ethnicity Hispanic -0.16 -0.64 – 0.31 0.495
Ethnicity Black 0.02 -0.68 – 0.73 0.946
Ethnicity East Asian 0.06 -0.38 – 0.51 0.773
Ethnicity South Asian 0.13 -0.54 – 0.79 0.704
Ethnicity Native Hawaiian
Pacific Islander
-0.03 -1.12 – 1.06 0.957
Ethnicity Middle Eastern 1.02 -0.47 – 2.50 0.179
Ethnicity American Indian -1.28 -3.12 – 0.55 0.169
Observations 140 140 140
R2 / R2 adjusted 0.044 / 0.023 0.064 / -0.000 0.098 / -0.028

School Prioritizes Well-Being

Intention to Treat

m0_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_wellbeing_priority_diff, m1_wellbeing_priority_diff, m2_wellbeing_priority_diff)
  wellbeing priority diff wellbeing priority diff wellbeing priority diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.15 -0.17 – 0.47 0.348 -0.62 -1.97 – 0.74 0.370 -0.74 -2.25 – 0.78 0.340
ActiveDays -0.00 -0.01 – 0.01 0.980 0.00 -0.01 – 0.01 0.841 0.00 -0.01 – 0.01 0.780
Reports -0.00 -0.03 – 0.03 0.952 -0.00 -0.03 – 0.03 0.984 -0.00 -0.04 – 0.03 0.864
Activities -0.00 -0.02 – 0.01 0.682 -0.00 -0.02 – 0.01 0.612 -0.00 -0.02 – 0.01 0.519
univ [Foothill] -0.10 -0.72 – 0.52 0.749 0.01 -0.64 – 0.65 0.981
univ [UW] 0.03 -0.37 – 0.42 0.896 0.00 -0.43 – 0.43 0.994
Sex [Woman] 0.35 -0.10 – 0.81 0.127 0.38 -0.09 – 0.85 0.111
Age 0.01 -0.03 – 0.05 0.569 0.01 -0.03 – 0.05 0.684
int student [No] 0.30 -0.38 – 0.99 0.384 0.34 -0.45 – 1.13 0.394
SES num -0.01 -0.17 – 0.15 0.910 -0.03 -0.20 – 0.14 0.694
Ethnicity White 0.36 -0.16 – 0.88 0.172
Ethnicity Hispanic -0.14 -0.85 – 0.57 0.702
Ethnicity Black 0.36 -0.67 – 1.39 0.489
Ethnicity East Asian 0.32 -0.35 – 0.99 0.348
Ethnicity South Asian 0.27 -0.63 – 1.17 0.555
Ethnicity Native Hawaiian
Pacific Islander
0.18 -1.56 – 1.92 0.838
Ethnicity Middle Eastern 0.17 -1.04 – 1.38 0.781
Ethnicity American Indian 1.21 -1.49 – 3.92 0.377
Observations 171 170 170
R2 / R2 adjusted 0.002 / -0.016 0.021 / -0.034 0.048 / -0.058

Excluded Preregistered

m0_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_wellbeing_priority_diff, m1_wellbeing_priority_diff, m2_wellbeing_priority_diff)
  wellbeing priority diff wellbeing priority diff wellbeing priority diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.22 -0.10 – 0.55 0.178 -0.74 -2.17 – 0.69 0.309 -0.74 -2.33 – 0.84 0.356
ActiveDays -0.00 -0.01 – 0.01 0.935 0.00 -0.01 – 0.01 0.828 0.00 -0.01 – 0.01 0.775
Reports -0.00 -0.03 – 0.03 0.896 -0.00 -0.03 – 0.03 0.965 -0.00 -0.04 – 0.03 0.837
Activities -0.00 -0.02 – 0.01 0.512 -0.01 -0.02 – 0.01 0.484 -0.01 -0.02 – 0.01 0.391
univ [Foothill] -0.01 -0.64 – 0.61 0.967 0.11 -0.55 – 0.76 0.750
univ [UW] 0.06 -0.34 – 0.46 0.765 0.04 -0.39 – 0.48 0.846
Sex [Woman] 0.41 -0.06 – 0.87 0.086 0.42 -0.06 – 0.90 0.083
Age 0.01 -0.03 – 0.05 0.561 0.01 -0.03 – 0.05 0.702
int student [No] 0.39 -0.32 – 1.11 0.280 0.39 -0.42 – 1.19 0.344
SES num -0.00 -0.17 – 0.16 0.951 -0.03 -0.20 – 0.14 0.733
Ethnicity White 0.32 -0.21 – 0.85 0.231
Ethnicity Hispanic -0.22 -0.94 – 0.49 0.538
Ethnicity Black 0.29 -0.73 – 1.32 0.572
Ethnicity East Asian 0.25 -0.42 – 0.91 0.469
Ethnicity South Asian 0.17 -0.75 – 1.09 0.712
Ethnicity Native Hawaiian
Pacific Islander
0.10 -1.64 – 1.83 0.913
Ethnicity Middle Eastern 0.11 -1.09 – 1.32 0.852
Ethnicity American Indian 1.25 -1.45 – 3.94 0.363
Observations 168 167 167
R2 / R2 adjusted 0.005 / -0.014 0.027 / -0.028 0.055 / -0.053

Excluded Unreasonable Numbers

m0_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_wellbeing_priority_diff <- lm(wellbeing_priority_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_wellbeing_priority_diff, m1_wellbeing_priority_diff, m2_wellbeing_priority_diff)
  wellbeing priority diff wellbeing priority diff wellbeing priority diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.04 -0.31 – 0.39 0.826 -1.14 -2.63 – 0.35 0.131 -1.34 -2.97 – 0.28 0.105
ActiveDays 0.01 -0.01 – 0.03 0.545 0.01 -0.01 – 0.04 0.237 0.01 -0.01 – 0.04 0.251
Reports 0.01 -0.03 – 0.05 0.579 0.01 -0.03 – 0.05 0.661 0.01 -0.03 – 0.06 0.538
Activities -0.00 -0.02 – 0.01 0.574 -0.01 -0.02 – 0.01 0.424 -0.01 -0.02 – 0.01 0.431
univ [Foothill] 0.24 -0.42 – 0.90 0.481 0.36 -0.33 – 1.05 0.307
univ [UW] 0.19 -0.23 – 0.61 0.367 0.16 -0.30 – 0.61 0.504
Sex [Woman] 0.51 0.03 – 0.99 0.038 0.55 0.06 – 1.04 0.030
Age 0.01 -0.02 – 0.05 0.487 0.01 -0.03 – 0.05 0.615
int student [No] 0.21 -0.63 – 1.05 0.618 0.30 -0.59 – 1.20 0.504
SES num 0.03 -0.13 – 0.20 0.681 0.01 -0.17 – 0.18 0.938
Ethnicity White 0.31 -0.23 – 0.84 0.257
Ethnicity Hispanic -0.22 -0.93 – 0.50 0.549
Ethnicity Black 0.32 -0.74 – 1.38 0.552
Ethnicity East Asian 0.34 -0.32 – 1.01 0.310
Ethnicity South Asian 0.64 -0.37 – 1.64 0.214
Ethnicity Native Hawaiian
Pacific Islander
0.30 -1.35 – 1.96 0.716
Ethnicity Middle Eastern 1.27 -0.98 – 3.52 0.265
Ethnicity American Indian 0.06 -2.72 – 2.85 0.964
Observations 140 140 140
R2 / R2 adjusted 0.010 / -0.012 0.051 / -0.015 0.093 / -0.033

Academic Self-Efficacy

Intention to Treat

m0_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_acad_selfefficacy_diff, m1_acad_selfefficacy_diff, m2_acad_selfefficacy_diff)
  acad selfefficacy diff acad selfefficacy diff acad selfefficacy diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.98 -0.09 – 2.06 0.073 2.21 -2.31 – 6.73 0.337 2.72 -2.37 – 7.82 0.293
ActiveDays -0.02 -0.06 – 0.01 0.236 -0.03 -0.07 – 0.01 0.126 -0.03 -0.07 – 0.01 0.176
Reports 0.02 -0.08 – 0.12 0.709 0.01 -0.10 – 0.11 0.898 0.02 -0.10 – 0.14 0.690
Activities 0.00 -0.04 – 0.05 0.908 0.01 -0.04 – 0.06 0.683 0.01 -0.04 – 0.06 0.799
univ [Foothill] -1.73 -3.78 – 0.33 0.099 -1.36 -3.53 – 0.80 0.215
univ [UW] -0.87 -2.20 – 0.46 0.197 -0.95 -2.40 – 0.51 0.200
Sex [Woman] -0.21 -1.73 – 1.31 0.782 -0.13 -1.70 – 1.44 0.869
Age -0.05 -0.17 – 0.07 0.422 -0.07 -0.20 – 0.06 0.304
int student [No] -0.24 -2.54 – 2.06 0.836 -0.45 -3.10 – 2.20 0.739
SES num 0.28 -0.25 – 0.82 0.299 0.22 -0.36 – 0.79 0.458
Ethnicity White 0.44 -1.31 – 2.19 0.622
Ethnicity Hispanic -0.93 -3.31 – 1.45 0.442
Ethnicity Black 0.78 -2.67 – 4.22 0.657
Ethnicity East Asian 0.47 -1.77 – 2.71 0.678
Ethnicity South Asian -0.98 -4.00 – 2.04 0.523
Ethnicity Native Hawaiian
Pacific Islander
-0.55 -6.37 – 5.27 0.853
Ethnicity Middle Eastern -0.52 -4.58 – 3.53 0.799
Ethnicity American Indian -0.82 -9.90 – 8.26 0.859
Observations 170 170 170
R2 / R2 adjusted 0.010 / -0.008 0.051 / -0.003 0.067 / -0.037

Excluded Preregistered

m0_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_acad_selfefficacy_diff, m1_acad_selfefficacy_diff, m2_acad_selfefficacy_diff)
  acad selfefficacy diff acad selfefficacy diff acad selfefficacy diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 1.11 -0.00 – 2.21 0.050 3.36 -1.46 – 8.18 0.170 3.77 -1.60 – 9.15 0.167
ActiveDays -0.02 -0.06 – 0.01 0.226 -0.03 -0.07 – 0.01 0.104 -0.03 -0.07 – 0.01 0.140
Reports 0.02 -0.09 – 0.12 0.737 0.00 -0.10 – 0.11 0.935 0.02 -0.10 – 0.14 0.763
Activities -0.00 -0.05 – 0.05 0.991 0.01 -0.04 – 0.06 0.695 0.01 -0.04 – 0.06 0.805
univ [Foothill] -1.53 -3.64 – 0.59 0.156 -1.18 -3.41 – 1.05 0.299
univ [UW] -0.96 -2.30 – 0.38 0.159 -1.06 -2.54 – 0.41 0.157
Sex [Woman] -0.47 -2.03 – 1.09 0.554 -0.38 -2.00 – 1.24 0.644
Age -0.07 -0.19 – 0.06 0.307 -0.08 -0.21 – 0.05 0.225
int student [No] -0.76 -3.17 – 1.65 0.534 -0.84 -3.57 – 1.89 0.543
SES num 0.26 -0.28 – 0.80 0.335 0.20 -0.38 – 0.78 0.502
Ethnicity White 0.42 -1.36 – 2.21 0.640
Ethnicity Hispanic -1.01 -3.42 – 1.41 0.412
Ethnicity Black 0.81 -2.66 – 4.28 0.645
Ethnicity East Asian 0.41 -1.85 – 2.68 0.719
Ethnicity South Asian -0.55 -3.66 – 2.57 0.729
Ethnicity Native Hawaiian
Pacific Islander
-0.83 -6.71 – 5.04 0.779
Ethnicity Middle Eastern -0.45 -4.54 – 3.65 0.829
Ethnicity American Indian -0.46 -9.60 – 8.69 0.921
Observations 167 167 167
R2 / R2 adjusted 0.012 / -0.006 0.051 / -0.003 0.066 / -0.041

Excluded Unreasonable Numbers

m0_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_acad_selfefficacy_diff <- lm(acad_selfefficacy_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_acad_selfefficacy_diff, m1_acad_selfefficacy_diff, m2_acad_selfefficacy_diff)
  acad selfefficacy diff acad selfefficacy diff acad selfefficacy diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.84 -0.39 – 2.07 0.181 3.99 -1.14 – 9.12 0.127 2.91 -2.78 – 8.60 0.313
ActiveDays 0.00 -0.07 – 0.08 0.948 -0.01 -0.09 – 0.06 0.729 -0.02 -0.10 – 0.06 0.692
Reports -0.02 -0.15 – 0.12 0.817 -0.01 -0.14 – 0.12 0.886 -0.00 -0.16 – 0.15 0.956
Activities -0.00 -0.05 – 0.05 0.911 0.01 -0.05 – 0.06 0.774 0.01 -0.05 – 0.06 0.746
univ [Foothill] -2.03 -4.31 – 0.25 0.081 -1.82 -4.23 – 0.59 0.138
univ [UW] -0.59 -2.05 – 0.87 0.424 -0.44 -2.05 – 1.16 0.585
Sex [Woman] -0.31 -1.98 – 1.35 0.708 -0.32 -2.05 – 1.41 0.719
Age -0.05 -0.18 – 0.08 0.405 -0.05 -0.19 – 0.09 0.505
int student [No] -2.73 -5.62 – 0.17 0.065 -2.60 -5.74 – 0.53 0.103
SES num 0.43 -0.15 – 1.00 0.144 0.36 -0.25 – 0.97 0.240
Ethnicity White 1.34 -0.53 – 3.21 0.158
Ethnicity Hispanic 0.67 -1.84 – 3.17 0.599
Ethnicity Black -0.11 -3.82 – 3.60 0.952
Ethnicity East Asian 0.96 -1.37 – 3.29 0.415
Ethnicity South Asian 1.38 -2.14 – 4.91 0.438
Ethnicity Native Hawaiian
Pacific Islander
0.96 -4.82 – 6.73 0.744
Ethnicity Middle Eastern 0.79 -7.07 – 8.66 0.842
Ethnicity American Indian 1.02 -8.71 – 10.75 0.836
Observations 140 140 140
R2 / R2 adjusted 0.001 / -0.021 0.071 / 0.006 0.090 / -0.037

Closeness to School (IOS)

Intention to Treat

m0_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_ITT)
m1_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_ITT)
m2_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_ITT)
tab_model(m0_ios_diff, m1_ios_diff, m2_ios_diff)
  ios diff ios diff ios diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.05 -0.29 – 0.40 0.759 -1.05 -2.51 – 0.41 0.157 -0.50 -2.05 – 1.06 0.529
ActiveDays -0.01 -0.02 – 0.01 0.347 -0.00 -0.02 – 0.01 0.453 -0.00 -0.01 – 0.01 0.639
Reports 0.01 -0.03 – 0.04 0.655 0.01 -0.02 – 0.05 0.467 0.03 -0.01 – 0.06 0.169
Activities 0.01 -0.00 – 0.03 0.081 0.01 -0.00 – 0.03 0.167 0.01 -0.01 – 0.02 0.226
univ [Foothill] 0.02 -0.64 – 0.69 0.941 -0.13 -0.79 – 0.53 0.707
univ [UW] 0.16 -0.27 – 0.59 0.456 0.04 -0.40 – 0.48 0.865
Sex [Woman] 0.33 -0.16 – 0.81 0.192 0.32 -0.15 – 0.80 0.182
Age 0.02 -0.02 – 0.06 0.332 0.01 -0.03 – 0.05 0.677
int student [No] 0.17 -0.57 – 0.91 0.652 0.09 -0.72 – 0.89 0.832
SES num 0.06 -0.11 – 0.23 0.481 0.07 -0.10 – 0.24 0.430
Ethnicity White -0.55 -1.08 – -0.02 0.044
Ethnicity Hispanic 0.23 -0.49 – 0.95 0.533
Ethnicity Black 0.83 -0.22 – 1.87 0.122
Ethnicity East Asian 0.00 -0.68 – 0.68 0.995
Ethnicity South Asian -0.91 -1.83 – 0.01 0.053
Ethnicity Native Hawaiian
Pacific Islander
-1.16 -2.93 – 0.61 0.197
Ethnicity Middle Eastern -0.76 -2.00 – 0.47 0.223
Ethnicity American Indian -2.69 -5.45 – 0.07 0.056
Observations 171 170 170
R2 / R2 adjusted 0.020 / 0.002 0.039 / -0.015 0.160 / 0.066

Excluded Preregistered

m0_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded)
m1_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded)
m2_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded)
tab_model(m0_ios_diff, m1_ios_diff, m2_ios_diff)
  ios diff ios diff ios diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.08 -0.28 – 0.43 0.668 -0.94 -2.50 – 0.62 0.236 -0.55 -2.19 – 1.09 0.510
ActiveDays -0.01 -0.02 – 0.01 0.341 -0.00 -0.02 – 0.01 0.440 -0.00 -0.01 – 0.01 0.658
Reports 0.01 -0.03 – 0.04 0.673 0.01 -0.02 – 0.05 0.482 0.03 -0.01 – 0.06 0.168
Activities 0.01 -0.00 – 0.03 0.101 0.01 -0.01 – 0.03 0.185 0.01 -0.01 – 0.02 0.225
univ [Foothill] 0.05 -0.64 – 0.74 0.887 -0.12 -0.80 – 0.56 0.729
univ [UW] 0.16 -0.28 – 0.59 0.472 0.04 -0.42 – 0.49 0.875
Sex [Woman] 0.30 -0.20 – 0.81 0.238 0.34 -0.16 – 0.83 0.182
Age 0.02 -0.02 – 0.06 0.378 0.01 -0.03 – 0.05 0.675
int student [No] 0.13 -0.66 – 0.91 0.753 0.11 -0.72 – 0.94 0.795
SES num 0.06 -0.12 – 0.23 0.509 0.08 -0.10 – 0.25 0.405
Ethnicity White -0.56 -1.11 – -0.02 0.043
Ethnicity Hispanic 0.22 -0.52 – 0.96 0.559
Ethnicity Black 0.81 -0.25 – 1.87 0.133
Ethnicity East Asian -0.00 -0.70 – 0.69 0.992
Ethnicity South Asian -0.94 -1.89 – 0.02 0.054
Ethnicity Native Hawaiian
Pacific Islander
-1.16 -2.96 – 0.64 0.203
Ethnicity Middle Eastern -0.79 -2.04 – 0.46 0.215
Ethnicity American Indian -2.72 -5.52 – 0.08 0.056
Observations 168 167 167
R2 / R2 adjusted 0.018 / -0.000 0.034 / -0.021 0.155 / 0.059

Excluded Unreasonable Numbers

m0_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities, data = diff_flourish_excluded_unreasonable)
m1_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num, data = diff_flourish_excluded_unreasonable)
m2_ios_diff <- lm(ios_diff ~ ActiveDays + Reports + Activities + univ + Sex + Age + int_student + SES_num + Ethnicity_White + Ethnicity_Hispanic + Ethnicity_Black + Ethnicity_East_Asian + Ethnicity_South_Asian + Ethnicity_Native_Hawaiian_Pacific_Islander + Ethnicity_Middle_Eastern + Ethnicity_American_Indian, data = diff_flourish_excluded_unreasonable)
tab_model(m0_ios_diff, m1_ios_diff, m2_ios_diff)
  ios diff ios diff ios diff
Predictors Estimates CI p Estimates CI p Estimates CI p
(Intercept) 0.24 -0.13 – 0.61 0.208 -0.25 -1.83 – 1.33 0.757 -0.06 -1.73 – 1.61 0.943
ActiveDays -0.04 -0.06 – -0.02 0.001 -0.04 -0.06 – -0.01 0.004 -0.03 -0.06 – -0.01 0.006
Reports 0.04 0.00 – 0.08 0.037 0.04 0.00 – 0.08 0.049 0.06 0.01 – 0.10 0.018
Activities 0.02 0.01 – 0.04 0.008 0.02 0.00 – 0.04 0.014 0.02 0.00 – 0.04 0.015
univ [Foothill] 0.20 -0.51 – 0.90 0.582 0.08 -0.63 – 0.79 0.821
univ [UW] 0.15 -0.30 – 0.60 0.504 0.04 -0.44 – 0.51 0.883
Sex [Woman] 0.38 -0.13 – 0.89 0.141 0.42 -0.09 – 0.92 0.108
Age -0.01 -0.05 – 0.03 0.710 -0.02 -0.06 – 0.02 0.431
int student [No] -0.16 -1.05 – 0.73 0.724 -0.08 -1.00 – 0.84 0.869
SES num 0.10 -0.08 – 0.27 0.283 0.07 -0.11 – 0.24 0.465
Ethnicity White -0.23 -0.77 – 0.32 0.417
Ethnicity Hispanic 0.30 -0.43 – 1.04 0.414
Ethnicity Black 0.88 -0.21 – 1.97 0.112
Ethnicity East Asian 0.31 -0.37 – 1.00 0.366
Ethnicity South Asian -0.71 -1.75 – 0.32 0.174
Ethnicity Native Hawaiian
Pacific Islander
-1.04 -2.73 – 0.65 0.227
Ethnicity Middle Eastern -0.21 -2.51 – 2.10 0.861
Ethnicity American Indian -2.43 -5.29 – 0.42 0.094
Observations 140 140 140
R2 / R2 adjusted 0.094 / 0.074 0.122 / 0.061 0.220 / 0.111

Visualizations

Depression

Intention to Treat

ggplot(data_ITT, aes(x = time, y = depression, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Depression (0-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = depression, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Depression (0-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = depression, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Depression (0-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Anxiety

Intention to Treat

ggplot(data_ITT, aes(x = time, y = anxiety, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anxiety (0-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = anxiety, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anxiety (0-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = anxiety, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anxiety (0-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Loneliness

Intention to Treat

ggplot(data_ITT, aes(x = time, y = loneliness, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.1) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Loneliness (3-9)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = loneliness, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Loneliness (3-9)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = loneliness, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Loneliness (3-9)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Perceived Stress

Intention to Treat

ggplot(data_ITT, aes(x = time, y = perceived_stress, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Stress (0-16)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = perceived_stress, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Stress (0-16)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = perceived_stress, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Stress (0-16)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Calm

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_calm, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Calm Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_calm, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Calm Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_calm, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Calm Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Well-Being

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_well_being, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Well-Being Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_well_being, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Well-Being Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_well_being, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Well-Being Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Vigour

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_vigour, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Vigour Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_vigour, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Vigour Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_vigour, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Vigour Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Depression

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_depression, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Depression Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_depression, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Depression Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_depression, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Depression Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Anxiety

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_anxiety, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anxiety Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_anxiety, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anxiety Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_anxiety, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anxiety Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Anger

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_anger, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anger Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_anger, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anger Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_anger, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Anger Affect (0-12)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Positive

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_positive, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Positive Emotions (0-36)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_positive, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Positive Emotions (0-36)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_positive, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Positive Emotions (0-36)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

SAS: Negative

Intention to Treat

ggplot(data_ITT, aes(x = time, y = SAS_negative, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Negative Emotions (0-36)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = SAS_negative, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Negative Emotions (0-36)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = SAS_negative, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Negative Emotions (0-36)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 2, 3, 4), labels = c("Week 0", "Week 2", "Week 4", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Flourishing Score

Intention to Treat

ggplot(data_ITT, aes(x = time, y = flourishing, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Flourishing Score (8-56)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  coord_cartesian(y=c(43.5, 46)) +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = flourishing, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Flourishing Score (8-56)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  coord_cartesian(y=c(43.5, 46)) +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = flourishing, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Flourishing Score (8-56)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  coord_cartesian(y=c(43.5, 46)) +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Social Fit

Intention to Treat

ggplot(data_ITT, aes(x = time, y = social_fit, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Social Fit (2-10)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = social_fit, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Social Fit (2-10)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = social_fit, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Social Fit (2-10)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Cohesion

Intention to Treat

ggplot(data_ITT, aes(x = time, y = cohesion, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Cohesion (0-10)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = cohesion, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Cohesion (0-10)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = cohesion, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Cohesion (0-10)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Mindfulness

Intention to Treat

ggplot(data_ITT, aes(x = time, y = mindfulness_rev, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Mindfulness (0-30)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = mindfulness_rev, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Mindfulness (0-30)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = mindfulness_rev, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Mindfulness (0-30)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Emotional Resilience

Intention to Treat

ggplot(data_ITT, aes(x = time, y = emo_res, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Emotional Resilience (6-30)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = emo_res, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Emotional Resilience (6-30)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = emo_res, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Emotional Resilience (6-30)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

School Satisfaction

Intention to Treat

ggplot(data_ITT, aes(x = time, y = school_satis, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "School Satisfaction (1-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = school_satis, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "School Satisfaction (1-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = school_satis, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "School Satisfaction (1-6)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

School Prioritizes Well-Being

Intention to Treat

ggplot(data_ITT, aes(x = time, y = wellbeing_priority, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "School Prioritizes Well-Being (1-7)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = wellbeing_priority, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "School Prioritizes Well-Being (1-7)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = wellbeing_priority, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "School Prioritizes Well-Being (1-7)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Academic Self-Efficacy

Intention to Treat

ggplot(data_ITT, aes(x = time, y = acad_selfefficacy, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Academic Self-Efficacy (5-25)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = acad_selfefficacy, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Academic Self-Efficacy (5-25)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = acad_selfefficacy, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Academic Self-Efficacy (5-25)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Closeness to School (IOS)

Intention to Treat

ggplot(data_ITT, aes(x = time, y = ios, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Closeness to School (1-7)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Preregistered

ggplot(data_excluded, aes(x = time, y = ios, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Closeness to School (1-7)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Excluded Unreasonable Numbers

ggplot(data_excluded_unreasonable, aes(x = time, y = ios, color = cond, group = cond)) +
  # geom_jitter(width = 0.1, size = 2, alpha = 0.6) +  # Add individual data points with some jitter for better visibility
  geom_errorbar(stat = "summary", fun.data = mean_se, width = 0.2) +
  geom_line(stat = "summary", fun = mean, size = 1.75) +  # Plot the mean anxiety per condition over time
  geom_point(stat = "summary", fun = mean, size = 4) +  # Add points for the mean at each time point
  labs(x = "Time",
       y = "Closeness to School (1-7)",
       color = "Condition",
       linetype = "Condition",
       shape = "Condition") +
  theme_minimal() +
  scale_x_continuous(breaks = c(1, 4), labels = c("Week 0", "Week 6")) + 
  scale_color_manual(values = c("flourish" = "#3D97A7", "control" = "#F57266"),
                     labels = c("Control", "Flourish")) +
  theme(
    panel.grid.major = element_line(color = "#EAEAEA"),
    panel.grid.minor = element_line(color = "#F5F5F5"),
    axis.text = element_text(size = 13),  # Adjust size of tick labels
    axis.text.x = element_text(margin = margin(t = 8)),  # Add space between x-axis tick labels and line
    axis.text.y = element_text(margin = margin(r = 8)),  # Add space between y-axis tick labels and line
    axis.title = element_text(size = 16, face = "bold"),  # Adjust size of axis labels
    axis.line.x = element_line(color = "#7D7D7D", size = 0.5),  # Ensure x-axis line is visible
    axis.line.y = element_line(color = "#7D7D7D", size = 0.5),  # Ensure y-axis line is visible
    axis.title.x = element_text(margin = margin(t = 10)),  # Increase space between x-axis ticks and label
    axis.title.y = element_text(margin = margin(r = 10)),  # Increase space between y-axis ticks and label
    legend.title = element_text(size = 15, face = "bold"),  # Make legend title match axis titles
    legend.text = element_text(size = 13)  # Make legend text match axis labels
  )

Exploratory Analyses

Categorical time (Time 1 = -1, Time 2, 3, 4 = +1)

# Depression
model_depression <- lmer(depression ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
summary(model_depression)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: depression ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 5044.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7842 -0.5459 -0.1457  0.4595  3.5544 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.35497  1.1640  
##  univ      (Intercept) 0.02133  0.1460  
##  Residual              0.81505  0.9028  
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      1.51470    0.10575    1.81958
## condflourish_vs_control                         -0.04297    0.05873  471.33418
## treatment_vs_baseline                            0.04251    0.03890 1165.02258
## condflourish_vs_control:treatment_vs_baseline   -0.05032    0.03885 1169.68822
##                                               t value Pr(>|t|)   
## (Intercept)                                    14.324    0.007 **
## condflourish_vs_control                        -0.732    0.465   
## treatment_vs_baseline                           1.093    0.275   
## condflourish_vs_control:treatment_vs_baseline  -1.295    0.195   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.003              
## trtmnt_vs_b  0.056 -0.008       
## cndflr__:__ -0.005  0.105  0.000
# Anxiety
model_anxiety <- lmer(anxiety ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## boundary (singular) fit: see help('isSingular')
summary(model_anxiety)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: anxiety ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 |  
##     univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 5544.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2865 -0.5438 -0.0710  0.4841  4.1262 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.789    1.337   
##  univ      (Intercept) 0.000    0.000   
##  Residual              1.137    1.066   
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                  Estimate  Std. Error
## (Intercept)                                      2.339602    0.067802
## condflourish_vs_control                         -0.116692    0.067802
## treatment_vs_baseline                           -0.096062    0.045835
## condflourish_vs_control:treatment_vs_baseline   -0.004634    0.045835
##                                                        df t value
## (Intercept)                                    478.337176  34.506
## condflourish_vs_control                        478.337176  -1.721
## treatment_vs_baseline                         1177.389442  -2.096
## condflourish_vs_control:treatment_vs_baseline 1177.389442  -0.101
##                                                          Pr(>|t|)    
## (Intercept)                                   <0.0000000000000002 ***
## condflourish_vs_control                                    0.0859 .  
## treatment_vs_baseline                                      0.0363 *  
## condflourish_vs_control:treatment_vs_baseline              0.9195    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.009              
## trtmnt_vs_b  0.107 -0.009       
## cndflr__:__ -0.009  0.107  0.000
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
# Loneliness
model_loneliness <- lmer(loneliness ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
## Model failed to converge with max|grad| = 0.00607822 (tol = 0.002, component 1)
summary(model_loneliness)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: loneliness ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 5332.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2396 -0.5381 -0.0525  0.4960  3.2355 
## 
## Random effects:
##  Groups    Name        Variance    Std.Dev.
##  unique_ID (Intercept) 1.792794664 1.338953
##  univ      (Intercept) 0.000003032 0.001741
##  Residual              0.948536021 0.973928
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      5.27382    0.06682  102.63973
## condflourish_vs_control                         -0.08741    0.06681  484.86398
## treatment_vs_baseline                           -0.31115    0.04199 1173.16478
## condflourish_vs_control:treatment_vs_baseline   -0.08088    0.04199 1173.29732
##                                               t value             Pr(>|t|)    
## (Intercept)                                    78.927 < 0.0000000000000002 ***
## condflourish_vs_control                        -1.308               0.1914    
## treatment_vs_baseline                          -7.411     0.00000000000024 ***
## condflourish_vs_control:treatment_vs_baseline  -1.926               0.0543 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.009              
## trtmnt_vs_b  0.102 -0.009       
## cndflr__:__ -0.009  0.102  0.000
## optimizer (nloptwrap) convergence code: 0 (OK)
## Model failed to converge with max|grad| = 0.00607822 (tol = 0.002, component 1)
# Perceived Stress
model_stress <- lmer(perceived_stress ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## boundary (singular) fit: see help('isSingular')
summary(model_stress)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: perceived_stress ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 7277.6
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.09200 -0.59763 -0.03136  0.54016  3.06803 
## 
## Random effects:
##  Groups    Name        Variance        Std.Dev.  
##  unique_ID (Intercept) 4.8211864462660 2.19572003
##  univ      (Intercept) 0.0000000008717 0.00002952
##  Residual              3.5395894878169 1.88137968
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      6.62665    0.11289  469.97656
## condflourish_vs_control                         -0.07541    0.11289  469.98740
## treatment_vs_baseline                           -0.14549    0.08069 1178.01695
## condflourish_vs_control:treatment_vs_baseline   -0.02625    0.08069 1178.01696
##                                               t value            Pr(>|t|)    
## (Intercept)                                    58.701 <0.0000000000000002 ***
## condflourish_vs_control                        -0.668              0.5044    
## treatment_vs_baseline                          -1.803              0.0716 .  
## condflourish_vs_control:treatment_vs_baseline  -0.325              0.7450    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.008              
## trtmnt_vs_b  0.110 -0.009       
## cndflr__:__ -0.009  0.110  0.001
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
# Affect variables
model_calm <- lmer(SAS_calm ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## boundary (singular) fit: see help('isSingular')
summary(model_calm)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_calm ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 |  
##     univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 7000.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.4517 -0.6032  0.0401  0.5837  3.3752 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.56     1.887   
##  univ      (Intercept) 0.00     0.000   
##  Residual              3.09     1.758   
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      5.73116    0.09879  472.76369
## condflourish_vs_control                          0.21667    0.09879  472.76369
## treatment_vs_baseline                            0.09851    0.07518 1190.03073
## condflourish_vs_control:treatment_vs_baseline    0.13200    0.07518 1190.03073
##                                               t value            Pr(>|t|)    
## (Intercept)                                    58.016 <0.0000000000000002 ***
## condflourish_vs_control                         2.193              0.0288 *  
## treatment_vs_baseline                           1.310              0.1903    
## condflourish_vs_control:treatment_vs_baseline   1.756              0.0794 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.007              
## trtmnt_vs_b  0.114 -0.010       
## cndflr__:__ -0.010  0.114  0.002
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
model_well_being <- lmer(SAS_well_being ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
summary(model_well_being)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_well_being ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 6786.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.2100 -0.5604  0.0434  0.5449  3.6885 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.66679  1.9149  
##  univ      (Intercept) 0.08877  0.2979  
##  Residual              2.56327  1.6010  
## Number of obs: 1578, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      6.85023    0.20307    1.88149
## condflourish_vs_control                          0.17425    0.09799  471.09802
## treatment_vs_baseline                           -0.20574    0.06884 1172.04354
## condflourish_vs_control:treatment_vs_baseline    0.06514    0.06874 1176.78345
##                                               t value Pr(>|t|)   
## (Intercept)                                    33.734  0.00124 **
## condflourish_vs_control                         1.778  0.07599 . 
## treatment_vs_baseline                          -2.989  0.00286 **
## condflourish_vs_control:treatment_vs_baseline   0.948  0.34352   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.002              
## trtmnt_vs_b  0.051 -0.008       
## cndflr__:__ -0.004  0.109  0.000
model_vigour <- lmer(SAS_vigour ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
summary(model_vigour)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_vigour ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 7000.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1242 -0.5531  0.0049  0.5629  4.2960 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 4.58253  2.141   
##  univ      (Intercept) 0.07234  0.269   
##  Residual              2.85468  1.690   
## Number of obs: 1578, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      5.70803    0.19486    2.31559
## condflourish_vs_control                          0.14773    0.10835  472.90286
## treatment_vs_baseline                           -0.20186    0.07277 1166.94493
## condflourish_vs_control:treatment_vs_baseline    0.11466    0.07267 1171.36286
##                                               t value Pr(>|t|)    
## (Intercept)                                    29.293  0.00050 ***
## condflourish_vs_control                         1.363  0.17338    
## treatment_vs_baseline                          -2.774  0.00563 ** 
## condflourish_vs_control:treatment_vs_baseline   1.578  0.11491    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.003              
## trtmnt_vs_b  0.057 -0.008       
## cndflr__:__ -0.005  0.106  0.000
model_SAS_depression <- lmer(SAS_depression ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## boundary (singular) fit: see help('isSingular')
summary(model_SAS_depression)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_depression ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 7305.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9133 -0.5559 -0.0962  0.4772  3.5903 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 5.229    2.287   
##  univ      (Intercept) 0.000    0.000   
##  Residual              3.542    1.882   
## Number of obs: 1578, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      4.04924    0.11664  466.45091
## condflourish_vs_control                         -0.14410    0.11664  466.45091
## treatment_vs_baseline                           -0.12495    0.08083 1169.10057
## condflourish_vs_control:treatment_vs_baseline    0.04722    0.08083 1169.10057
##                                               t value            Pr(>|t|)    
## (Intercept)                                    34.717 <0.0000000000000002 ***
## condflourish_vs_control                        -1.235               0.217    
## treatment_vs_baseline                          -1.546               0.122    
## condflourish_vs_control:treatment_vs_baseline   0.584               0.559    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.009              
## trtmnt_vs_b  0.108 -0.009       
## cndflr__:__ -0.009  0.108  0.001
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
model_SAS_anxiety <- lmer(SAS_anxiety ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## boundary (singular) fit: see help('isSingular')
summary(model_SAS_anxiety)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_anxiety ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 7322.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7329 -0.6180  0.0034  0.5950  3.1698 
## 
## Random effects:
##  Groups    Name        Variance       Std.Dev.  
##  unique_ID (Intercept) 4.475227523786 2.11547336
##  univ      (Intercept) 0.000000002722 0.00005217
##  Residual              3.762685356039 1.93976425
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      6.00160    0.11036  471.53308
## condflourish_vs_control                         -0.16615    0.11036  471.56565
## treatment_vs_baseline                           -0.33351    0.08301 1187.16585
## condflourish_vs_control:treatment_vs_baseline   -0.02800    0.08301 1187.16586
##                                               t value             Pr(>|t|)    
## (Intercept)                                    54.384 < 0.0000000000000002 ***
## condflourish_vs_control                        -1.506                0.133    
## treatment_vs_baseline                          -4.018            0.0000625 ***
## condflourish_vs_control:treatment_vs_baseline  -0.337                0.736    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.007              
## trtmnt_vs_b  0.113 -0.010       
## cndflr__:__ -0.010  0.113  0.002
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
model_SAS_anger <- lmer(SAS_anger ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
summary(model_SAS_anger)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_anger ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 6858.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8905 -0.5224 -0.1795  0.4539  4.5481 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.5798   1.8920  
##  univ      (Intercept) 0.1994   0.4466  
##  Residual              2.7307   1.6525  
## Number of obs: 1579, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                      2.72113    0.28032    1.71286
## condflourish_vs_control                          0.07234    0.09768  473.94960
## treatment_vs_baseline                            0.03253    0.07096 1180.20218
## condflourish_vs_control:treatment_vs_baseline    0.01026    0.07084 1185.06363
##                                               t value Pr(>|t|)  
## (Intercept)                                     9.707   0.0169 *
## condflourish_vs_control                         0.741   0.4593  
## treatment_vs_baseline                           0.458   0.6467  
## condflourish_vs_control:treatment_vs_baseline   0.145   0.8849  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.001              
## trtmnt_vs_b  0.037 -0.008       
## cndflr__:__ -0.003  0.111  0.000
model_SAS_positive <- lmer(SAS_positive ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
summary(model_SAS_positive)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_positive ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 9836.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7688 -0.5524 -0.0048  0.5479  4.3459 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 29.4895  5.4304  
##  univ      (Intercept)  0.2899  0.5384  
##  Residual              17.0428  4.1283  
## Number of obs: 1577, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                Estimate Std. Error        df
## (Intercept)                                     18.3208     0.4264    2.2595
## condflourish_vs_control                          0.5208     0.2730  474.0945
## treatment_vs_baseline                           -0.3136     0.1780 1162.8401
## condflourish_vs_control:treatment_vs_baseline    0.2953     0.1778 1167.2796
##                                               t value Pr(>|t|)    
## (Intercept)                                    42.970 0.000244 ***
## condflourish_vs_control                         1.907 0.057082 .  
## treatment_vs_baseline                          -1.762 0.078367 .  
## condflourish_vs_control:treatment_vs_baseline   1.661 0.096990 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.004              
## trtmnt_vs_b  0.065 -0.008       
## cndflr__:__ -0.005  0.104  0.000
model_SAS_negative <- lmer(SAS_negative ~ cond * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long)
## boundary (singular) fit: see help('isSingular')
summary(model_SAS_negative)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: SAS_negative ~ cond * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long
## 
## REML criterion at convergence: 9884.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9870 -0.5606 -0.0423  0.5036  4.4829 
## 
## Random effects:
##  Groups    Name        Variance        Std.Dev.  
##  unique_ID (Intercept) 29.428381327236 5.42479321
##  univ      (Intercept)  0.000000004503 0.00006711
##  Residual              17.699955691132 4.20713153
## Number of obs: 1578, groups:  unique_ID, 486; univ, 3
## 
## Fixed effects:
##                                                 Estimate Std. Error         df
## (Intercept)                                     12.65757    0.27366  470.61364
## condflourish_vs_control                         -0.24101    0.27366  470.62413
## treatment_vs_baseline                           -0.42151    0.18104 1166.25449
## condflourish_vs_control:treatment_vs_baseline    0.02861    0.18104 1166.25449
##                                               t value            Pr(>|t|)    
## (Intercept)                                    46.253 <0.0000000000000002 ***
## condflourish_vs_control                        -0.881              0.3789    
## treatment_vs_baseline                          -2.328              0.0201 *  
## condflourish_vs_control:treatment_vs_baseline   0.158              0.8745    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cndf__ trtm__
## cndflrsh_v_  0.009              
## trtmnt_vs_b  0.105 -0.009       
## cndflr__:__ -0.009  0.105  0.001
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
## VARIABLES COLLECTED JUST PRE POST (time 1 vs. 4)

merged_data_long_factor <- merged_data_long |> 
  dplyr::filter(time == 1 | time == 4) |> 
  dplyr::mutate(time_factor = as.factor(time)) |> 
  dplyr::mutate(cond_factor = as.factor(cond))

contrasts(merged_data_long_factor$time_factor) <- c(-1,1)

# flourishing score
model_flourishing <- lmer(flourishing ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_flourishing)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: flourishing ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 5253.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.7571 -0.3986  0.0676  0.4461  3.0516 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 29.894   5.468   
##  univ      (Intercept)  1.302   1.141   
##  Residual              12.772   3.574   
## Number of obs: 832, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                      Estimate Std. Error
## (Intercept)                                           44.4189     0.7362
## cond_factorflourish_vs_control                         0.2721     0.2969
## treatment_vs_baseline                                 -0.0728     0.2001
## cond_factorflourish_vs_control:treatment_vs_baseline   0.4284     0.1996
##                                                            df t value Pr(>|t|)
## (Intercept)                                            2.2118  60.333 0.000133
## cond_factorflourish_vs_control                       574.1968   0.916 0.359953
## treatment_vs_baseline                                365.5110  -0.364 0.716140
## cond_factorflourish_vs_control:treatment_vs_baseline 368.1616   2.146 0.032499
##                                                         
## (Intercept)                                          ***
## cond_factorflourish_vs_control                          
## treatment_vs_baseline                                   
## cond_factorflourish_vs_control:treatment_vs_baseline *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.002              
## trtmnt_vs_b  0.134 -0.013       
## cnd_fc__:__ -0.007  0.336 -0.012
# social fit
model_social_fit <- lmer(social_fit ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_social_fit)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: social_fit ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 2848
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.72043 -0.48538 -0.04663  0.55927  2.75430 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.26945  1.1267  
##  univ      (Intercept) 0.04065  0.2016  
##  Residual              0.84726  0.9205  
## Number of obs: 833, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                        Estimate Std. Error
## (Intercept)                                            6.178840   0.136769
## cond_factorflourish_vs_control                         0.088005   0.065812
## treatment_vs_baseline                                 -0.020711   0.051102
## cond_factorflourish_vs_control:treatment_vs_baseline  -0.008842   0.050963
##                                                              df t value
## (Intercept)                                            2.403451  45.177
## cond_factorflourish_vs_control                       603.709224   1.337
## treatment_vs_baseline                                384.931296  -0.405
## cond_factorflourish_vs_control:treatment_vs_baseline 388.141953  -0.174
##                                                      Pr(>|t|)    
## (Intercept)                                           0.00014 ***
## cond_factorflourish_vs_control                        0.18165    
## treatment_vs_baseline                                 0.68549    
## cond_factorflourish_vs_control:treatment_vs_baseline  0.86235    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.004              
## trtmnt_vs_b  0.181 -0.016       
## cnd_fc__:__ -0.010  0.381 -0.014
# cohesion (MARG)
model_cohesion <- lmer(cohesion ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_cohesion)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: cohesion ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 3353.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.37421 -0.42300  0.04007  0.50388  2.45014 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 3.45707  1.859   
##  univ      (Intercept) 0.06864  0.262   
##  Residual              1.13318  1.065   
## Number of obs: 833, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                       Estimate Std. Error
## (Intercept)                                            5.74828    0.18469
## cond_factorflourish_vs_control                         0.15055    0.09748
## treatment_vs_baseline                                  0.19043    0.05971
## cond_factorflourish_vs_control:treatment_vs_baseline   0.13002    0.05961
##                                                             df t value Pr(>|t|)
## (Intercept)                                            2.22992  31.124 0.000548
## cond_factorflourish_vs_control                       566.17055   1.544 0.123032
## treatment_vs_baseline                                368.72018   3.189 0.001549
## cond_factorflourish_vs_control:treatment_vs_baseline 370.88987   2.181 0.029800
##                                                         
## (Intercept)                                          ***
## cond_factorflourish_vs_control                          
## treatment_vs_baseline                                ** 
## cond_factorflourish_vs_control:treatment_vs_baseline *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.001              
## trtmnt_vs_b  0.160 -0.014       
## cnd_fc__:__ -0.009  0.308 -0.015
# mindfulness
model_mindfulness <- lmer(mindfulness ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
## boundary (singular) fit: see help('isSingular')
summary(model_mindfulness)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: mindfulness ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 5200.4
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.41784 -0.49969  0.02324  0.45562  2.59292 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 21.51    4.638   
##  univ      (Intercept)  0.00    0.000   
##  Residual              14.63    3.825   
## Number of obs: 833, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                      Estimate Std. Error
## (Intercept)                                           15.4551     0.2718
## cond_factorflourish_vs_control                        -0.3428     0.2718
## treatment_vs_baseline                                  0.7779     0.2117
## cond_factorflourish_vs_control:treatment_vs_baseline  -0.4264     0.2117
##                                                            df t value
## (Intercept)                                          605.3701  56.859
## cond_factorflourish_vs_control                       605.3701  -1.261
## treatment_vs_baseline                                386.6873   3.675
## cond_factorflourish_vs_control:treatment_vs_baseline 386.6873  -2.015
##                                                                  Pr(>|t|)    
## (Intercept)                                          < 0.0000000000000002 ***
## cond_factorflourish_vs_control                                   0.207800    
## treatment_vs_baseline                                            0.000271 ***
## cond_factorflourish_vs_control:treatment_vs_baseline             0.044633 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.003              
## trtmnt_vs_b  0.383 -0.017       
## cnd_fc__:__ -0.017  0.383 -0.013
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
# emotional resilience
model_emo_res <- lmer(emo_res ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_emo_res)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: emo_res ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 4572.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.9103 -0.4405  0.0100  0.4542  2.3547 
## 
## Random effects:
##  Groups    Name        Variance      Std.Dev. 
##  unique_ID (Intercept) 14.7841258898 3.8450131
##  univ      (Intercept)  0.0000002239 0.0004732
##  Residual               5.0927163395 2.2567048
## Number of obs: 832, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                       Estimate Std. Error
## (Intercept)                                           19.05817    0.20276
## cond_factorflourish_vs_control                         0.06153    0.20276
## treatment_vs_baseline                                  0.21211    0.12642
## cond_factorflourish_vs_control:treatment_vs_baseline   0.25205    0.12642
##                                                             df t value
## (Intercept)                                          570.01436  93.995
## cond_factorflourish_vs_control                       572.66051   0.303
## treatment_vs_baseline                                373.54061   1.678
## cond_factorflourish_vs_control:treatment_vs_baseline 373.54064   1.994
##                                                                 Pr(>|t|)    
## (Intercept)                                          <0.0000000000000002 ***
## cond_factorflourish_vs_control                                    0.7617    
## treatment_vs_baseline                                             0.0942 .  
## cond_factorflourish_vs_control:treatment_vs_baseline              0.0469 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__  0.002              
## trtmnt_vs_b  0.313 -0.015       
## cnd_fc__:__ -0.015  0.313 -0.012
# school satisfaction
model_school_satis <- lmer(school_satis ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_school_satis)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: 
## school_satis ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 1971.9
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.6788 -0.4027  0.1034  0.3724  1.9676 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 0.52213  0.7226  
##  univ      (Intercept) 0.02205  0.1485  
##  Residual              0.25920  0.5091  
## Number of obs: 833, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                       Estimate Std. Error
## (Intercept)                                            4.55980    0.09650
## cond_factorflourish_vs_control                         0.03757    0.04011
## treatment_vs_baseline                                  0.06718    0.02840
## cond_factorflourish_vs_control:treatment_vs_baseline   0.01438    0.02833
##                                                             df t value Pr(>|t|)
## (Intercept)                                            2.30284  47.253 0.000172
## cond_factorflourish_vs_control                       586.53958   0.936 0.349407
## treatment_vs_baseline                                375.33412   2.365 0.018524
## cond_factorflourish_vs_control:treatment_vs_baseline 378.28188   0.508 0.611982
##                                                         
## (Intercept)                                          ***
## cond_factorflourish_vs_control                          
## treatment_vs_baseline                                *  
## cond_factorflourish_vs_control:treatment_vs_baseline    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.003              
## trtmnt_vs_b  0.144 -0.015       
## cnd_fc__:__ -0.008  0.351 -0.014
# school prioritizes wellbeing
model_wellbeing_priority <- lmer(wellbeing_priority ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_wellbeing_priority)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: wellbeing_priority ~ cond_factor * treatment_vs_baseline + (1 |  
##     unique_ID) + (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 2639.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0848 -0.4665 -0.1319  0.6356  2.4055 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 0.7458   0.8636  
##  univ      (Intercept) 0.1151   0.3393  
##  Residual              0.7807   0.8836  
## Number of obs: 833, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                       Estimate Std. Error
## (Intercept)                                            4.59648    0.20545
## cond_factorflourish_vs_control                         0.04781    0.05547
## treatment_vs_baseline                                  0.07153    0.04870
## cond_factorflourish_vs_control:treatment_vs_baseline   0.04028    0.04851
##                                                             df t value Pr(>|t|)
## (Intercept)                                            1.90111  22.373  0.00254
## cond_factorflourish_vs_control                       621.62599   0.862  0.38909
## treatment_vs_baseline                                393.84638   1.469  0.14270
## cond_factorflourish_vs_control:treatment_vs_baseline 397.72790   0.830  0.40693
##                                                        
## (Intercept)                                          **
## cond_factorflourish_vs_control                         
## treatment_vs_baseline                                  
## cond_factorflourish_vs_control:treatment_vs_baseline   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.004              
## trtmnt_vs_b  0.113 -0.017       
## cnd_fc__:__ -0.006  0.423 -0.013
# academic self-efficacy
model_acad_selfefficacy <- lmer(acad_selfefficacy ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
## boundary (singular) fit: see help('isSingular')
summary(model_acad_selfefficacy)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: acad_selfefficacy ~ cond_factor * treatment_vs_baseline + (1 |  
##     unique_ID) + (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 4562
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.50620 -0.43145  0.07989  0.49916  2.08830 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 9.521    3.086   
##  univ      (Intercept) 0.000    0.000   
##  Residual              7.132    2.671   
## Number of obs: 831, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                       Estimate Std. Error
## (Intercept)                                           24.11326    0.18426
## cond_factorflourish_vs_control                         0.03749    0.18426
## treatment_vs_baseline                                  0.34149    0.14780
## cond_factorflourish_vs_control:treatment_vs_baseline   0.11531    0.14780
##                                                             df t value
## (Intercept)                                          608.55225 130.864
## cond_factorflourish_vs_control                       608.55225   0.203
## treatment_vs_baseline                                387.45747   2.310
## cond_factorflourish_vs_control:treatment_vs_baseline 387.45747   0.780
##                                                                 Pr(>|t|)    
## (Intercept)                                          <0.0000000000000002 ***
## cond_factorflourish_vs_control                                    0.8388    
## treatment_vs_baseline                                             0.0214 *  
## cond_factorflourish_vs_control:treatment_vs_baseline              0.4358    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.004              
## trtmnt_vs_b  0.391 -0.018       
## cnd_fc__:__ -0.018  0.391 -0.009
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
# ios
model_ios <- lmer(ios ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) + (1 | univ), data = merged_data_long_factor)
summary(model_ios)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: ios ~ cond_factor * treatment_vs_baseline + (1 | unique_ID) +  
##     (1 | univ)
##    Data: merged_data_long_factor
## 
## REML criterion at convergence: 2792.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0541 -0.5342 -0.0813  0.4512  3.3759 
## 
## Random effects:
##  Groups    Name        Variance Std.Dev.
##  unique_ID (Intercept) 1.184312 1.08826 
##  univ      (Intercept) 0.008385 0.09157 
##  Residual              0.797026 0.89276 
## Number of obs: 833, groups:  unique_ID, 485; univ, 3
## 
## Fixed effects:
##                                                       Estimate Std. Error
## (Intercept)                                            3.32986    0.08487
## cond_factorflourish_vs_control                         0.09806    0.06366
## treatment_vs_baseline                                  0.10526    0.04950
## cond_factorflourish_vs_control:treatment_vs_baseline   0.08990    0.04942
##                                                             df t value Pr(>|t|)
## (Intercept)                                            2.17979  39.235 0.000379
## cond_factorflourish_vs_control                       606.82385   1.540 0.123996
## treatment_vs_baseline                                388.33945   2.126 0.034100
## cond_factorflourish_vs_control:treatment_vs_baseline 391.37465   1.819 0.069649
##                                                         
## (Intercept)                                          ***
## cond_factorflourish_vs_control                          
## treatment_vs_baseline                                *  
## cond_factorflourish_vs_control:treatment_vs_baseline .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) cnd___ trtm__
## cnd_fctrf__ -0.004              
## trtmnt_vs_b  0.284 -0.016       
## cnd_fc__:__ -0.014  0.382 -0.013