Load packages

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.2     ✔ readr     2.1.4
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.2     ✔ tidyr     1.3.0
## ✔ purrr     1.0.1     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(here) 
## here() starts at /Users/sarahdaniels/Desktop/All_Analyses
library(janitor) 
## 
## Attaching package: 'janitor'
## 
## The following objects are masked from 'package:stats':
## 
##     chisq.test, fisher.test
library(haven) 
library(naniar) 
library(ggpubr) 
library(report) 
library(ggplot2)
library(reshape2)
## 
## Attaching package: 'reshape2'
## 
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(lme4)
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## 
## The following objects are masked from 'package:tidyr':
## 
##     expand, pack, unpack
library(sjPlot)
library(parameters)
library(mediation)
## Loading required package: MASS
## 
## Attaching package: 'MASS'
## 
## The following object is masked from 'package:dplyr':
## 
##     select
## 
## Loading required package: mvtnorm
## Loading required package: sandwich
## mediation: Causal Mediation Analysis
## Version: 4.5.0
library(lavaan)
## This is lavaan 0.6-15
## lavaan is FREE software! Please report any bugs.
library(lmerTest)
## 
## Attaching package: 'lmerTest'
## 
## The following object is masked from 'package:lme4':
## 
##     lmer
## 
## The following object is masked from 'package:stats':
## 
##     step

Set up

Reading the EC data

Mean scores for the EC data

PRE_IUS_tm <- mutate(PRE_IUS_EC, PRE_IUS_mean = rowMeans(dplyr::select(PRE_IUS_EC, c(B_IUS_1, B_IUS_2, B_IUS_3, B_IUS_4, B_IUS_5, B_IUS_6, B_IUS_7, B_IUS_8, B_IUS_9, B_IUS_10, B_IUS_11, B_IUS_12)), na.rm = TRUE))

POST_IUS_tm <- mutate(POST_IUS_EC, POST_IUS_mean = rowMeans(dplyr::select(POST_IUS_EC, c(POST_IUS_1, POST_IUS_2, POST_IUS_3, POST_IUS_4, POST_IUS_5, POST_IUS_6, POST_IUS_7, POST_IUS_8, POST_IUS_9, POST_IUS_10, POST_IUS_11, POST_IUS_12)), na.rm = TRUE))

PRE_FI_tm <- mutate(PRE_FI_EC, PRE_FI_mean = rowMeans(dplyr::select(PRE_FI_EC, c(B_FI_friends, B_FI_strangers, B_FI_work, B_FI_education, B_FI_hobbies)), na.rm = TRUE))

PRE_RTQ_tm <- mutate(PRE_RTQ_EC, PRE_RTQ_mean = rowMeans(dplyr::select(PRE_RTQ_EC, c(B_RTQ_1, B_RTQ_2, B_RTQ_3, B_RTQ_4, B_RTQ_5, B_RTQ_6, B_RTQ_7, B_RTQ_8, B_RTQ_9, B_RTQ_10)), na.rm = TRUE))

PRE_ERQ_tm <- mutate(PRE_ERQ_EC, PRE_ERQ_mean = rowMeans(dplyr::select(PRE_ERQ_EC, c(B_ERQ_1, B_ERQ_2, B_ERQ_3, B_ERQ_4, B_ERQ_5, B_ERQ_6, B_ERQ_7, B_ERQ_8, B_ERQ_9, B_ERQ_10)), na.rm = TRUE))

#PRE_ERQ_R_tm <- mutate(PRE_ERQ_EC, PRE_ERQ_mean_R = rowMeans(dplyr::select(PRE_ERQ_EC, c(B_ERQ_1, B_ERQ_3, B_ERQ_5, B_ERQ_7, B_ERQ_8, B_ERQ_10)), na.rm = TRUE))

PRE_PHQ_tm <- mutate(PRE_PHQ_EC, PRE_PHQ_mean = rowMeans(dplyr::select(PRE_PHQ_EC, c(B_PHQ_1, B_PHQ_2, B_PHQ_3, B_PHQ_4, B_PHQ_5, B_PHQ_6, B_PHQ_7, B_PHQ_8)), na.rm = TRUE))

PRE_GAD_tm <- mutate(PRE_GAD_EC, PRE_GAD_mean = rowMeans(dplyr::select(PRE_GAD_EC, c(B_GAD_1, B_GAD_2, B_GAD_3, B_GAD_4, B_GAD_5, B_GAD_6, B_GAD_7)), na.rm = TRUE))

W1_IUS_tm <- mutate(W1_IUS_EC, W1_IUS_mean = rowMeans(dplyr::select(W1_IUS_EC, c(W1_IUS_1, W1_IUS_2, W1_IUS_3, W1_IUS_4, W1_IUS_5, W1_IUS_6, W1_IUS_7, W1_IUS_8, W1_IUS_9, W1_IUS_10, W1_IUS_11, W1_IUS_12)), na.rm = TRUE))

W1_FI_tm <- mutate(W1_FI_EC, W1_FI_mean = rowMeans(dplyr::select(W1_FI_EC, c(W1_FI_friends, W1_FI_strangers, W1_FI_work, W1_FI_education, W1_FI_hobbies)), na.rm = TRUE))

W1_RTQ_tm <- mutate(W1_RTQ_EC, W1_RTQ_mean = rowMeans(dplyr::select(W1_RTQ_EC, c(W1_RTQ_1, W1_RTQ_2, W1_RTQ_3, W1_RTQ_4, W1_RTQ_5, W1_RTQ_6, W1_RTQ_7, W1_RTQ_8, W1_RTQ_9, W1_RTQ_10)), na.rm = TRUE))

W1_ERQ_tm <- mutate(W1_ERQ_EC, W1_ERQ_mean = rowMeans(dplyr::select(W1_ERQ_EC, c(W1_ERQ_1, W1_ERQ_2, W1_ERQ_3, W1_ERQ_4, W1_ERQ_5, W1_ERQ_6, W1_ERQ_7, W1_ERQ_8, W1_ERQ_9, W1_ERQ_10)), na.rm = TRUE))

#W1_ERQ_R_tm <- mutate(W1_ERQ_EC, W1_ERQ_mean_R = rowMeans(dplyr::select(W1_ERQ_EC, c(W1_ERQ_1, W1_ERQ_3, W1_ERQ_5, W1_ERQ_7, W1_ERQ_8, W1_ERQ_10)), na.rm = TRUE))

W1_PHQ_tm <- mutate(W1_PHQ_EC, W1_PHQ_mean = rowMeans(dplyr::select(W1_PHQ_EC, c(W1_PHQ_1, W1_PHQ_2, W1_PHQ_3, W1_PHQ_4, W1_PHQ_5, W1_PHQ_6, W1_PHQ_7, W1_PHQ_8)), na.rm = TRUE))

W1_GAD_tm <- mutate(W1_GAD_EC, W1_GAD_mean = rowMeans(dplyr::select(W1_GAD_EC, c(W1_GAD_1, W1_GAD_2, W1_GAD_3, W1_GAD_4, W1_GAD_5, W1_GAD_6, W1_GAD_7)), na.rm = TRUE))

Complete dataframe for the ECs

merge_1 <- merge(PRE_IUS_tm,PRE_GM_EC,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_2 <- merge(merge_1,PRE_FI_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_3 <- merge(merge_2,PRE_Mood_EC,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_4 <- merge(merge_3,PRE_RTQ_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_5 <- merge(merge_4,PRE_ERQ_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_6 <- merge(merge_5,PRE_PHQ_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_7 <- merge(merge_6,PRE_GAD_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_8 <- merge(merge_7,POST_IUS_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_9 <- merge(merge_8,POST_GM_EC,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_10 <- merge(merge_9,POST_Mood_EC,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_11 <- merge(merge_10,W1_IUS_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_12 <- merge(merge_11,W1_GM_EC,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_13 <- merge(merge_12,W1_FI_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_14 <- merge(merge_13,W1_RTQ_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_15 <- merge(merge_14,W1_ERQ_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
merge_16 <- merge(merge_15,W1_PHQ_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
EC_MI_data <- merge(merge_16,W1_GAD_tm,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)

Downloading full dataframe

write.csv(EC_MI_data, "Full_MI_Data_EC.csv")

Reading the full data (intervention group, psychoeducation control group, and EC group)

Full_MI_data_B1W <- read_csv("Full_MI_Data.csv") %>% 
  dplyr::select(-"...147", -"...148", -"...149", -"...150", -"...151", -"...152", -"...153", -"W1_GM")
## New names:
## Rows: 259 Columns: 153
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (144): ...1, ID, B_IUS_1, B_IUS_2, B_IUS_3,
## B_IUS_4, B_IUS_5, B_IUS_6, B... lgl (7): ...147, ...148, ...149, ...150,
## ...151, ...152, ...153
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `` -> `...147`
## • `` -> `...148`
## • `` -> `...149`
## • `` -> `...150`
## • `` -> `...151`
## • `` -> `...152`
## • `` -> `...153`

Adding one month data

# loading 1M data
M1_Mood <- read_csv("M1_Mood_fm.csv")
## New names:
## Rows: 185 Columns: 7
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (5): ...1, ...2, ID, M1_distressed_pleasant,
## M1_anxious_relaxed
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_IUS <- read_csv("M1_IUS_fm.csv")
## New names:
## Rows: 185 Columns: 20
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (3): Prolific_ID, Group, 13. Please select response option 'Not at all'... dbl
## (17): ...1, ...2, ID, M1_IUS_1, M1_IUS_2, M1_IUS_3, M1_IUS_4, M1_IUS_5, ...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_GM <- read_csv("M1_GM_fm.csv")
## New names:
## Rows: 184 Columns: 6
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (4): ...1, ...2, ID, M1_GM
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_FI <- read_csv("M1_FI_fm.csv")
## New names:
## Rows: 186 Columns: 11
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (9): ...1, ...2, ID, M1_FI_friends,
## M1_FI_strangers, M1_FI_work, M1_FI_e...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_RTQ <- read_csv("M1_RTQ_fm.csv")
## New names:
## Rows: 185 Columns: 16
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (14): ...1, ...2, ID, M1_RTQ_1, M1_RTQ_2, M1_RTQ_3,
## M1_RTQ_4, M1_RTQ_5, ...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_PHQ <- read_csv("M1_PHQ_fm.csv")
## New names:
## Rows: 185 Columns: 16
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (3): Prolific_ID, Group, 9. Please select response option 'More than ha... dbl
## (13): ...1, ...2, ID, M1_PHQ_1, M1_PHQ_2, M1_PHQ_3, M1_PHQ_4, M1_PHQ_5, ...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_GAD <- read_csv("M1_GAD_fm.csv")
## New names:
## Rows: 185 Columns: 13
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (11): ...1, ...2, ID, M1_GAD_1, M1_GAD_2, M1_GAD_3,
## M1_GAD_4, M1_GAD_5, ...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
M1_ERQ <- read_csv("M1_ERQ_fm.csv")
## New names:
## Rows: 185 Columns: 18
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (3): Prolific_ID, Group, 11. Please select response option 'Strongly Di... dbl
## (15): ...1, ...2, ID, M1_ERQ_1, M1_ERQ_2, M1_ERQ_3, M1_ERQ_4, M1_ERQ_5, ...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1` -> `...2`
W1_GM <- read_csv("W1_GM_fm.csv")
## New names:
## Rows: 204 Columns: 5
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (2): Prolific_ID, Group dbl (3): ...1, ID, W1_GM
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
# merging 1 month with the full data
Full_merge_1 <- merge(Full_MI_data_B1W,M1_Mood,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
Full_merge_2 <- merge(Full_merge_1,M1_IUS,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
Full_merge_3 <- merge(Full_merge_2,M1_GM,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_2, M1_GM, by = c("Prolific_ID", "ID", :
## column names '...1.x', '...1.y' are duplicated in the result
Full_merge_4 <- merge(Full_merge_3,M1_FI,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_3, M1_FI, by = c("Prolific_ID", "ID", :
## column names '...1.x', '...1.y', '...2.x', '...2.y' are duplicated in the
## result
Full_merge_5 <- merge(Full_merge_4,M1_RTQ,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_4, M1_RTQ, by = c("Prolific_ID", :
## column names '...1.x', '...1.y', '...2.x', '...1.x', '...2.y', '...1.y' are
## duplicated in the result
Full_merge_6 <- merge(Full_merge_5,M1_ERQ,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_5, M1_ERQ, by = c("Prolific_ID", :
## column names '...1.x', '...1.y', '...2.x', '...1.x', '...2.y', '...1.y',
## '...2.x', '...2.y' are duplicated in the result
Full_merge_7 <- merge(Full_merge_6,M1_PHQ,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_6, M1_PHQ, by = c("Prolific_ID", :
## column names '...1.x', '...1.y', '...2.x', '...1.x', '...2.y', '...1.y',
## '...2.x', '...1.x', '...2.y', '...1.y' are duplicated in the result
Full_merge_8 <- merge(Full_merge_7,W1_GM,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_7, W1_GM, by = c("Prolific_ID", "ID", :
## column names '...1.x', '...1.y', '...2.x', '...1.x', '...2.y', '...1.y',
## '...2.x', '...1.x', '...2.y', '...1.y' are duplicated in the result
Full_data_B1W1M <- merge(Full_merge_8,M1_GAD,
                      by=c("Prolific_ID", "ID", "Group"),
                      all = TRUE)
## Warning in merge.data.frame(Full_merge_8, M1_GAD, by = c("Prolific_ID", :
## column names '...1.x', '...1.y', '...2.x', '...1.x', '...2.y', '...1.y',
## '...2.x', '...1.x', '...2.y', '...1.y', '...2.x', '...1.x', '...1.y', '...2.y'
## are duplicated in the result
write.csv(Full_data_B1W1M, "Full_MI_Data_alltp.csv")
# new columns with average mood
read_full_data <- read_csv("Full_MI_Data_B1W1M.csv")
## New names:
## Rows: 262 Columns: 243
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (5): Prolific_ID, Group, 13. Please select response option 'Not at all... dbl
## (226): ...1, ID, ...5, B_IUS_1, B_IUS_2, B_IUS_3, B_IUS_4, B_IUS_5, B_IU... lgl
## (12): ...232, ...233, ...234, ...235, ...236, ...237, ...238, ...239, ....
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
## • `...1.x` -> `...5`
## • `...1.y` -> `...147`
## • `...2.x` -> `...148`
## • `...1.x` -> `...151`
## • `...2.y` -> `...152`
## • `...1.y` -> `...168`
## • `...2.x` -> `...169`
## • `...1.x` -> `...171`
## • `...2.y` -> `...172`
## • `...1.y` -> `...179`
## • `...2.x` -> `...180`
## • `...1.x` -> `...192`
## • `...2.y` -> `...193`
## • `...1.y` -> `...207`
## • `...2.x` -> `...208`
## • `...1.x` -> `...220`
## • `...1.y` -> `...222`
## • `...2.y` -> `...223`
## • `` -> `...232`
## • `` -> `...233`
## • `` -> `...234`
## • `` -> `...235`
## • `` -> `...236`
## • `` -> `...237`
## • `` -> `...238`
## • `` -> `...239`
## • `` -> `...240`
## • `` -> `...241`
## • `` -> `...242`
## • `` -> `...243`
Full_data_all <- mutate(read_full_data, PRE_mood_mean = rowMeans(dplyr::select(read_full_data, c(B_distressed_pleasant, B_anxious_relaxed)), na.rm = TRUE)) %>% 
  mutate(read_full_data, POST_mood_mean = rowMeans(dplyr::select(read_full_data, c(POST_distressed_pleasant, POST_anxious_relaxed)), na.rm = TRUE)) %>%
  mutate(read_full_data, W1_mood_mean = rowMeans(dplyr::select(read_full_data, c(W1_distressed_pleasant, W1_anxious_relaxed)), na.rm = TRUE)) %>% 
  mutate(read_full_data, M1_mood_mean = rowMeans(dplyr::select(read_full_data, c(M1_distressed_pleasant, M1_anxious_relaxed)), na.rm = TRUE)) %>% 
  mutate(PRE_PHQ_total = B_PHQ_1 + B_PHQ_2 + B_PHQ_3 + B_PHQ_4 + B_PHQ_5 + B_PHQ_6 + B_PHQ_7 + B_PHQ_8) %>% 
  mutate(W1_PHQ_total = W1_PHQ_1 + W1_PHQ_2 + W1_PHQ_3 + W1_PHQ_4 + W1_PHQ_5 + W1_PHQ_6 + W1_PHQ_7 + W1_PHQ_8)

Hypothesis 1

H1a: IUS and Mood association at PRE

#Distressed
PRE_IUS_Distress_lm <- lm(PRE_IUS_mean ~ B_distressed_pleasant, data = Full_data_all)
summary(PRE_IUS_Distress_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_distressed_pleasant, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.15060 -0.48693  0.03397  0.52398  1.67796 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)            3.707087   0.060155  61.626  < 2e-16 ***
## B_distressed_pleasant -0.004779   0.001075  -4.446  1.3e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7143 on 257 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.07143,    Adjusted R-squared:  0.06782 
## F-statistic: 19.77 on 1 and 257 DF,  p-value: 1.301e-05
anova(PRE_IUS_Distress_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##                        Df  Sum Sq Mean Sq F value    Pr(>F)    
## B_distressed_pleasant   1  10.086 10.0860   19.77 1.301e-05 ***
## Residuals             257 131.113  0.5102                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Anxious
PRE_IUS_Anxiety_lm <- lm(PRE_IUS_mean ~ B_anxious_relaxed, data = Full_data_all)
summary(PRE_IUS_Anxiety_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_anxious_relaxed, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.19074 -0.48388  0.04329  0.48709  1.70529 
## 
## Coefficients:
##                     Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        3.6734224  0.0514456   71.40  < 2e-16 ***
## B_anxious_relaxed -0.0046672  0.0008516   -5.48 1.02e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.702 on 256 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.105,  Adjusted R-squared:  0.1015 
## F-statistic: 30.03 on 1 and 256 DF,  p-value: 1.015e-07
anova(PRE_IUS_Anxiety_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##                    Df  Sum Sq Mean Sq F value    Pr(>F)    
## B_anxious_relaxed   1  14.803 14.8029  30.035 1.015e-07 ***
## Residuals         256 126.171  0.4929                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Combined
PRE_IUS_mood_lm <- lm(PRE_IUS_mean ~ PRE_mood_mean, data = Full_data_all)
summary(PRE_IUS_mood_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ PRE_mood_mean, data = Full_data_all)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1107 -0.5061  0.0222  0.4967  1.7483 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    3.722527   0.056304  66.115  < 2e-16 ***
## PRE_mood_mean -0.005626   0.001024  -5.495 9.38e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7012 on 257 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.1052, Adjusted R-squared:  0.1017 
## F-statistic:  30.2 on 1 and 257 DF,  p-value: 9.378e-08
anova(PRE_IUS_mood_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##                Df  Sum Sq Mean Sq F value    Pr(>F)    
## PRE_mood_mean   1  14.847 14.8475    30.2 9.378e-08 ***
## Residuals     257 126.352  0.4916                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

H1a: IUS and mental health association at PRE

#Depression
PRE_IUS_PHQ_lm <- lm(PRE_IUS_mean ~ PRE_PHQ_mean, data = Full_data_all)
summary(PRE_IUS_PHQ_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ PRE_PHQ_mean, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.42097 -0.37416  0.01201  0.41236  1.84942 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.49810    0.13252  18.851  < 2e-16 ***
## PRE_PHQ_mean  0.45532    0.05578   8.162 1.48e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6605 on 257 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.2059, Adjusted R-squared:  0.2028 
## F-statistic: 66.62 on 1 and 257 DF,  p-value: 1.481e-14
anova(PRE_IUS_PHQ_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##               Df  Sum Sq Mean Sq F value    Pr(>F)    
## PRE_PHQ_mean   1  29.067 29.0666  66.619 1.481e-14 ***
## Residuals    257 112.133  0.4363                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Anxiety
PRE_IUS_GAD_lm <- lm(PRE_IUS_mean ~ PRE_GAD_mean,  data = Full_data_all)
summary(PRE_IUS_GAD_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ PRE_GAD_mean, data = Full_data_all)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1136 -0.4088  0.0571  0.3468  1.7157 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.44445    0.11995  20.379   <2e-16 ***
## PRE_GAD_mean  0.48141    0.05038   9.556   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6367 on 257 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.2622, Adjusted R-squared:  0.2593 
## F-statistic: 91.32 on 1 and 257 DF,  p-value: < 2.2e-16
anova(PRE_IUS_GAD_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##               Df  Sum Sq Mean Sq F value    Pr(>F)    
## PRE_GAD_mean   1  37.018  37.018  91.319 < 2.2e-16 ***
## Residuals    257 104.181   0.405                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

H1b: IUS and BT at PRE

Hypothesis 2

H2a: difference in change in cognitive IUS over time between groups

IUS_alltimepoints <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_IUS_mean", "POST_IUS_mean", "W1_IUS_mean", "M1_IUS_mean")
## Formatting table as needed
IUS_alltimepoints_long <- IUS_alltimepoints %>%
  pivot_longer(cols = c(PRE_IUS_mean, POST_IUS_mean, W1_IUS_mean, M1_IUS_mean),
               names_to = "Time",
               values_to = "IUS_Score")
IUS_MEM <- lmer(IUS_Score ~ Group * Time + (1|ID), data = IUS_alltimepoints_long, REML = TRUE)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(IUS_MEM)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: IUS_Score ~ Group * Time + (1 | ID)
##    Data: IUS_alltimepoints_long
## 
## REML criterion at convergence: 1657.3
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.8184 -0.4942 -0.0149  0.4939  4.1676 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.5192   0.7206  
##  Residual             0.1620   0.4024  
## Number of obs: 953, groups:  ID, 259
## 
## Fixed effects:
##                                      Estimate Std. Error        df t value
## (Intercept)                           3.38194    0.08174 394.19467  41.372
## GroupECs                              0.14436    0.14242 375.78539   1.014
## GroupIntervention                    -0.15521    0.11648 394.62901  -1.333
## TimePOST_IUS_mean                    -0.19962    0.05755 689.58626  -3.469
## TimePRE_IUS_mean                      0.13045    0.05755 689.58626   2.267
## TimeW1_IUS_mean                      -0.02265    0.05780 689.44327  -0.392
## GroupECs:TimePOST_IUS_mean            0.07332    0.09883 688.28965   0.742
## GroupIntervention:TimePOST_IUS_mean   0.03307    0.08229 689.89671   0.402
## GroupECs:TimePRE_IUS_mean            -0.23342    0.09883 688.28965  -2.362
## GroupIntervention:TimePRE_IUS_mean    0.23402    0.08203 689.63196   2.853
## GroupIntervention:TimeW1_IUS_mean     0.01233    0.08253 689.61657   0.149
##                                     Pr(>|t|)    
## (Intercept)                          < 2e-16 ***
## GroupECs                            0.311402    
## GroupIntervention                   0.183460    
## TimePOST_IUS_mean                   0.000555 ***
## TimePRE_IUS_mean                    0.023707 *  
## TimeW1_IUS_mean                     0.695203    
## GroupECs:TimePOST_IUS_mean          0.458433    
## GroupIntervention:TimePOST_IUS_mean 0.687927    
## GroupECs:TimePRE_IUS_mean           0.018461 *  
## GroupIntervention:TimePRE_IUS_mean  0.004461 ** 
## GroupIntervention:TimeW1_IUS_mean   0.881265    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPOST_ TPRE_I TW1_IU GEC:TPO GI:TPO GEC:TPR
## GroupECs    -0.421                                                          
## GrpIntrvntn -0.702  0.296                                                   
## TmPOST_IUS_ -0.379  0.001  0.266                                            
## TmPRE_IUS_m -0.379  0.001  0.266  0.539                                     
## TmW1_IUS_mn -0.376 -0.190  0.264  0.535  0.535                              
## GEC:TPOST_I  0.001 -0.355  0.000 -0.270 -0.001  0.274                       
## GI:TPOST_IU  0.265  0.000 -0.379 -0.699 -0.377 -0.374  0.189                
## GEC:TPRE_IU  0.001 -0.355  0.000 -0.001 -0.270  0.274  0.512   0.001        
## GI:TPRE_IUS  0.266  0.000 -0.380 -0.378 -0.702 -0.375  0.001   0.538  0.189 
## GI:TW1_IUS_  0.264  0.133 -0.376 -0.374 -0.374 -0.700 -0.192   0.533 -0.192 
##             GI:TPR
## GroupECs          
## GrpIntrvntn       
## TmPOST_IUS_       
## TmPRE_IUS_m       
## TmW1_IUS_mn       
## GEC:TPOST_I       
## GI:TPOST_IU       
## GEC:TPRE_IU       
## GI:TPRE_IUS       
## GI:TW1_IUS_  0.534
## fit warnings:
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
anova  (IUS_MEM)
## Missing cells for: GroupECs:TimeM1_IUS_mean.  
## Interpret type III hypotheses with care.
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group      0.2774  0.1387     2 260.39  0.8564    0.4259    
## Time       9.9986  3.3329     3 688.76 20.5791 8.851e-13 ***
## Group:Time 5.6815  1.1363     5 688.33  7.0162 2.084e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(IUS_MEM)
  IUS Score
Predictors Estimates CI p
(Intercept) 3.38 3.22 – 3.54 <0.001
Group [ECs] 0.14 -0.14 – 0.42 0.311
Group [Intervention] -0.16 -0.38 – 0.07 0.183
Time [POST_IUS_mean] -0.20 -0.31 – -0.09 0.001
Time [PRE_IUS_mean] 0.13 0.02 – 0.24 0.024
Time [W1_IUS_mean] -0.02 -0.14 – 0.09 0.695
Group [ECs] × Time
[POST_IUS_mean]
0.07 -0.12 – 0.27 0.458
Group [Intervention] ×
Time [POST_IUS_mean]
0.03 -0.13 – 0.19 0.688
Group [ECs] × Time
[PRE_IUS_mean]
-0.23 -0.43 – -0.04 0.018
Group [Intervention] ×
Time [PRE_IUS_mean]
0.23 0.07 – 0.40 0.004
Group [Intervention] ×
Time [W1_IUS_mean]
0.01 -0.15 – 0.17 0.881
Random Effects
σ2 0.16
τ00 ID 0.52
ICC 0.76
N ID 259
Observations 953
Marginal R2 / Conditional R2 0.037 / 0.771
parameters::standardise_parameters(IUS_MEM)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
## # Standardization method: refit
## 
## Parameter                           | Std. Coef. |         95% CI
## -----------------------------------------------------------------
## (Intercept)                         |       0.05 | [-0.14,  0.24]
## GroupECs                            |       0.17 | [-0.16,  0.50]
## GroupIntervention                   |      -0.18 | [-0.46,  0.09]
## TimePOST_IUS_mean                   |      -0.24 | [-0.37, -0.10]
## TimePRE_IUS_mean                    |       0.16 | [ 0.02,  0.29]
## TimeW1_IUS_mean                     |      -0.03 | [-0.16,  0.11]
## GroupECs:TimePOST_IUS_mean          |       0.09 | [-0.14,  0.32]
## GroupIntervention:TimePOST_IUS_mean |       0.04 | [-0.15,  0.23]
## GroupECs:TimePRE_IUS_mean           |      -0.28 | [-0.51, -0.05]
## GroupIntervention:TimePRE_IUS_mean  |       0.28 | [ 0.09,  0.47]
## GroupIntervention:TimeW1_IUS_mean   |       0.01 | [-0.18,  0.21]

Baseline to post

IUS_BP <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_IUS_mean", "POST_IUS_mean", "W1_IUS_mean", "M1_IUS_mean")
## Formatting table as needed
IUS_BP_long <- IUS_BP %>%
  pivot_longer(cols = c(PRE_IUS_mean, POST_IUS_mean),
               names_to = "Time",
               values_to = "IUS_Score")
IUS_MEM_BP <- lmer(IUS_Score ~ Group * Time + (1|ID), data = IUS_BP_long, REML = TRUE)
summary(IUS_MEM_BP)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: IUS_Score ~ Group * Time + (1 | ID)
##    Data: IUS_BP_long
## 
## REML criterion at convergence: 1056.1
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.96151 -0.45865  0.00271  0.41183  2.87810 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4961   0.7043  
##  Residual             0.1671   0.4088  
## Number of obs: 516, groups:  ID, 259
## 
## Fixed effects:
##                                     Estimate Std. Error        df t value
## (Intercept)                          3.18232    0.07910 327.94825  40.232
## GroupECs                             0.21768    0.13972 327.94825   1.558
## GroupIntervention                   -0.12034    0.11292 330.02286  -1.066
## TimePRE_IUS_mean                     0.33007    0.05616 254.24574   5.878
## GroupECs:TimePRE_IUS_mean           -0.30674    0.09919 254.24574  -3.092
## GroupIntervention:TimePRE_IUS_mean   0.19915    0.08035 254.80390   2.479
##                                    Pr(>|t|)    
## (Intercept)                         < 2e-16 ***
## GroupECs                            0.12020    
## GroupIntervention                   0.28736    
## TimePRE_IUS_mean                    1.3e-08 ***
## GroupECs:TimePRE_IUS_mean           0.00221 ** 
## GroupIntervention:TimePRE_IUS_mean  0.01384 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPRE_I GEC:TP
## GroupECs    -0.566                            
## GrpIntrvntn -0.700  0.397                     
## TmPRE_IUS_m -0.355  0.201  0.249              
## GEC:TPRE_IU  0.201 -0.355 -0.141 -0.566       
## GI:TPRE_IUS  0.248 -0.140 -0.359 -0.699  0.396
anova  (IUS_MEM_BP)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group      0.0711  0.0356     2 256.08  0.2127    0.8086    
## Time       9.9087  9.9087     1 254.52 59.2816 3.029e-13 ***
## Group:Time 4.3147  2.1574     2 254.58 12.9071 4.580e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(IUS_MEM_BP)
  IUS Score
Predictors Estimates CI p
(Intercept) 3.18 3.03 – 3.34 <0.001
Group [ECs] 0.22 -0.06 – 0.49 0.120
Group [Intervention] -0.12 -0.34 – 0.10 0.287
Time [PRE_IUS_mean] 0.33 0.22 – 0.44 <0.001
Group [ECs] × Time
[PRE_IUS_mean]
-0.31 -0.50 – -0.11 0.002
Group [Intervention] ×
Time [PRE_IUS_mean]
0.20 0.04 – 0.36 0.014
Random Effects
σ2 0.17
τ00 ID 0.50
ICC 0.75
N ID 259
Observations 516
Marginal R2 / Conditional R2 0.057 / 0.762
parameters::standardise_parameters(IUS_MEM_BP)
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |         95% CI
## ----------------------------------------------------------------
## (Intercept)                        |      -0.20 | [-0.39, -0.02]
## GroupECs                           |       0.26 | [-0.07,  0.59]
## GroupIntervention                  |      -0.14 | [-0.41,  0.12]
## TimePRE_IUS_mean                   |       0.40 | [ 0.26,  0.53]
## GroupECs:TimePRE_IUS_mean          |      -0.37 | [-0.60, -0.13]
## GroupIntervention:TimePRE_IUS_mean |       0.24 | [ 0.05,  0.43]
plot_model(IUS_MEM_BP, type = "int")

Baseline to 1W

IUS_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_IUS_mean", "W1_IUS_mean")
## Formatting table as needed
IUS_B1W_long <- IUS_B1W %>%
  pivot_longer(cols = c(PRE_IUS_mean, W1_IUS_mean),
               names_to = "Time",
               values_to = "IUS_Score")
IUS_MEM_B1W <- lmer(IUS_Score ~ Group * Time + (1|ID), data = IUS_B1W_long, REML = TRUE)
summary(IUS_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: IUS_Score ~ Group * Time + (1 | ID)
##    Data: IUS_B1W_long
## 
## REML criterion at convergence: 1034.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.04517 -0.40088 -0.00389  0.45985  2.90184 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4460   0.6678  
##  Residual             0.1726   0.4155  
## Number of obs: 511, groups:  ID, 259
## 
## Fixed effects:
##                                    Estimate Std. Error        df t value
## (Intercept)                         3.51239    0.07639 334.66363  45.978
## GroupECs                           -0.08906    0.13494 334.66364  -0.660
## GroupIntervention                   0.07881    0.10882 334.66364   0.724
## TimeW1_IUS_mean                    -0.15695    0.05754 250.26271  -2.728
## GroupECs:TimeW1_IUS_mean            0.23189    0.10228 251.14237   2.267
## GroupIntervention:TimeW1_IUS_mean  -0.21486    0.08215 250.58012  -2.616
##                                   Pr(>|t|)    
## (Intercept)                        < 2e-16 ***
## GroupECs                           0.50970    
## GroupIntervention                  0.46943    
## TimeW1_IUS_mean                    0.00683 ** 
## GroupECs:TimeW1_IUS_mean           0.02424 *  
## GroupIntervention:TimeW1_IUS_mean  0.00945 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TW1_IU GEC:TW
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TmW1_IUS_mn -0.370  0.210  0.260              
## GEC:TW1_IUS  0.208 -0.368 -0.146 -0.563       
## GI:TW1_IUS_  0.259 -0.147 -0.370 -0.700  0.394
anova  (IUS_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group      0.0357 0.01784     2 256.10  0.1034 0.9018413    
## Time       2.5576 2.55758     1 251.08 14.8178 0.0001503 ***
## Group:Time 3.4025 1.70123     2 250.97  9.8564 7.572e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(IUS_MEM_B1W)
  IUS Score
Predictors Estimates CI p
(Intercept) 3.51 3.36 – 3.66 <0.001
Group [ECs] -0.09 -0.35 – 0.18 0.510
Group [Intervention] 0.08 -0.13 – 0.29 0.469
Time [W1_IUS_mean] -0.16 -0.27 – -0.04 0.007
Group [ECs] × Time
[W1_IUS_mean]
0.23 0.03 – 0.43 0.024
Group [Intervention] ×
Time [W1_IUS_mean]
-0.21 -0.38 – -0.05 0.009
Random Effects
σ2 0.17
τ00 ID 0.45
ICC 0.72
N ID 259
Observations 511
Marginal R2 / Conditional R2 0.027 / 0.728
parameters::standardise_parameters(IUS_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                         | Std. Coef. |         95% CI
## ---------------------------------------------------------------
## (Intercept)                       |       0.10 | [-0.09,  0.29]
## GroupECs                          |      -0.11 | [-0.45,  0.22]
## GroupIntervention                 |       0.10 | [-0.17,  0.37]
## TimeW1_IUS_mean                   |      -0.20 | [-0.34, -0.06]
## GroupECs:TimeW1_IUS_mean          |       0.29 | [ 0.04,  0.55]
## GroupIntervention:TimeW1_IUS_mean |      -0.27 | [-0.47, -0.07]
plot_model(IUS_MEM_B1W, type = "int")

Baseline to 1M

IUS_B1M <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_IUS_mean", "M1_IUS_mean") %>% 
  filter(Group != "ECs")
## Formatting table as needed
IUS_B1M_long <- IUS_B1M %>%
  pivot_longer(cols = c(PRE_IUS_mean, M1_IUS_mean),
               names_to = "Time",
               values_to = "IUS_Score")
IUS_MEM_B1M <- lmer(IUS_Score ~ Group * Time + (1|ID), data = IUS_B1M_long, REML = TRUE)
summary(IUS_MEM_B1M)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: IUS_Score ~ Group * Time + (1 | ID)
##    Data: IUS_B1M_long
## 
## REML criterion at convergence: 856.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.27345 -0.47467  0.03634  0.50494  2.22377 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4587   0.6772  
##  Residual             0.2146   0.4632  
## Number of obs: 394, groups:  ID, 209
## 
## Fixed effects:
##                                     Estimate Std. Error        df t value
## (Intercept)                          3.37798    0.08238 296.81398  41.007
## GroupIntervention                   -0.16442    0.11741 297.16435  -1.400
## TimePRE_IUS_mean                     0.13441    0.06696 189.98098   2.007
## GroupIntervention:TimePRE_IUS_mean   0.24323    0.09546 190.07075   2.548
##                                    Pr(>|t|)    
## (Intercept)                          <2e-16 ***
## GroupIntervention                    0.1624    
## TimePRE_IUS_mean                     0.0461 *  
## GroupIntervention:TimePRE_IUS_mean   0.0116 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpInt TPRE_I
## GrpIntrvntn -0.702              
## TmPRE_IUS_m -0.446  0.313       
## GI:TPRE_IUS  0.313 -0.447 -0.701
anova  (IUS_MEM_B1M)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group      0.0356  0.0356     1 207.51  0.1657   0.68438    
## Time       6.1748  6.1748     1 190.07 28.7759 2.345e-07 ***
## Group:Time 1.3933  1.3933     1 190.07  6.4928   0.01162 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(IUS_MEM_B1M)
  IUS Score
Predictors Estimates CI p
(Intercept) 3.38 3.22 – 3.54 <0.001
Group [Intervention] -0.16 -0.40 – 0.07 0.162
Time [PRE_IUS_mean] 0.13 0.00 – 0.27 0.045
Group [Intervention] ×
Time [PRE_IUS_mean]
0.24 0.06 – 0.43 0.011
Random Effects
σ2 0.21
τ00 ID 0.46
ICC 0.68
N ID 209
Observations 394
Marginal R2 / Conditional R2 0.029 / 0.691
parameters::standardise_parameters(IUS_MEM_B1M)
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |        95% CI
## ---------------------------------------------------------------
## (Intercept)                        |      -0.07 | [-0.26, 0.13]
## GroupIntervention                  |      -0.20 | [-0.48, 0.08]
## TimePRE_IUS_mean                   |       0.16 | [ 0.00, 0.32]
## GroupIntervention:TimePRE_IUS_mean |       0.29 | [ 0.07, 0.52]
plot_model(IUS_MEM_B1M, type = "int")

H2a: difference in change in growth mindsets over time between groups

GM_alltimepoints <- Full_data_all %>% 
  dplyr::select("ID", "Group", "B_GM", "POST_GM", "W1_GM", "M1_GM")
## Formatting table as needed
GM_alltimepoints_long <- GM_alltimepoints %>%
  pivot_longer(cols = c(B_GM, POST_GM, W1_GM, M1_GM),
               names_to = "Time",
               values_to = "GM_Score")
GM_MEM <- lmer(GM_Score ~ Group * Time + (1|ID), data = GM_alltimepoints_long, REML = TRUE)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(GM_MEM)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GM_Score ~ Group * Time + (1 | ID)
##    Data: GM_alltimepoints_long
## 
## REML criterion at convergence: 2986.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1287 -0.4998 -0.0612  0.4345  3.8388 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 1.3135   1.1461  
##  Residual             0.7778   0.8819  
## Number of obs: 952, groups:  ID, 259
## 
## Fixed effects:
##                               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)                     3.1415     0.1405 456.4143  22.366  < 2e-16 ***
## GroupECs                       -0.4015     0.2481 456.4143  -1.618  0.10628    
## GroupIntervention              -0.2386     0.2001 456.4143  -1.193  0.23368    
## TimeM1_GM                      -0.3899     0.1265 690.4737  -3.083  0.00213 ** 
## TimePOST_GM                    -0.4906     0.1211 685.4846  -4.050 5.72e-05 ***
## TimeW1_GM                      -0.3130     0.1219 686.4954  -2.568  0.01045 *  
## GroupIntervention:TimeM1_GM    -0.2386     0.1799 690.3615  -1.326  0.18523    
## GroupECs:TimePOST_GM            0.5306     0.2140 685.4846   2.480  0.01339 *  
## GroupIntervention:TimePOST_GM  -0.1807     0.1731 685.8503  -1.044  0.29697    
## GroupECs:TimeW1_GM              0.2394     0.2165 687.7470   1.106  0.26929    
## GroupIntervention:TimeW1_GM    -0.2772     0.1740 686.6940  -1.594  0.11146    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TM1_GM TPOST_ TW1_GM GI:TM1 GEC:TP GI:TPO
## GroupECs    -0.566                                                        
## GrpIntrvntn -0.702  0.397                                                 
## TimeM1_GM   -0.413  0.234  0.290                                          
## TimePOST_GM -0.431  0.244  0.303  0.479                                   
## TimeW1_GM   -0.428  0.243  0.301  0.477  0.497                            
## GrpI:TM1_GM  0.290 -0.164 -0.414 -0.703 -0.337 -0.336                     
## GEC:TPOST_G  0.244 -0.431 -0.171 -0.271 -0.566 -0.281  0.191              
## GI:TPOST_GM  0.302 -0.171 -0.430 -0.335 -0.700 -0.348  0.478  0.396       
## GrEC:TW1_GM  0.241 -0.426 -0.169 -0.269 -0.280 -0.563  0.189  0.494  0.196
## GrpI:TW1_GM  0.300 -0.170 -0.428 -0.335 -0.348 -0.701  0.477  0.197  0.494
##             GEC:TW
## GroupECs          
## GrpIntrvntn       
## TimeM1_GM         
## TimePOST_GM       
## TimeW1_GM         
## GrpI:TM1_GM       
## GEC:TPOST_G       
## GI:TPOST_GM       
## GrEC:TW1_GM       
## GrpI:TW1_GM  0.395
## fit warnings:
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
anova  (GM_MEM)
## Missing cells for: GroupECs:TimeM1_GM.  
## Interpret type III hypotheses with care.
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)    
## Group       4.6022  2.3011     2 262.56  2.9586  0.05363 .  
## Time       22.7195  7.5732     3 688.74  9.7369 2.68e-06 ***
## Group:Time 10.1537  2.0307     5 687.95  2.6110  0.02375 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(GM_MEM)
  GM Score
Predictors Estimates CI p
(Intercept) 3.14 2.87 – 3.42 <0.001
Group [ECs] -0.40 -0.89 – 0.09 0.106
Group [Intervention] -0.24 -0.63 – 0.15 0.233
Time [M1_GM] -0.39 -0.64 – -0.14 0.002
Time [POST_GM] -0.49 -0.73 – -0.25 <0.001
Time [W1_GM] -0.31 -0.55 – -0.07 0.010
Group [Intervention] ×
Time [M1_GM]
-0.24 -0.59 – 0.11 0.185
Group [ECs] × Time
[POST_GM]
0.53 0.11 – 0.95 0.013
Group [Intervention] ×
Time [POST_GM]
-0.18 -0.52 – 0.16 0.297
Group [ECs] × Time
[W1_GM]
0.24 -0.19 – 0.66 0.269
Group [Intervention] ×
Time [W1_GM]
-0.28 -0.62 – 0.06 0.111
Random Effects
σ2 0.78
τ00 ID 1.31
ICC 0.63
N ID 259
Observations 952
Marginal R2 / Conditional R2 0.038 / 0.642
parameters::standardise_parameters(GM_MEM)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
## # Standardization method: refit
## 
## Parameter                     | Std. Coef. |         95% CI
## -----------------------------------------------------------
## (Intercept)                   |       0.33 | [ 0.14,  0.51]
## GroupECs                      |      -0.27 | [-0.60,  0.06]
## GroupIntervention             |      -0.16 | [-0.43,  0.10]
## TimeM1_GM                     |      -0.27 | [-0.43, -0.10]
## TimePOST_GM                   |      -0.33 | [-0.50, -0.17]
## TimeW1_GM                     |      -0.21 | [-0.38, -0.05]
## GroupIntervention:TimeM1_GM   |      -0.16 | [-0.40,  0.08]
## GroupECs:TimePOST_GM          |       0.36 | [ 0.08,  0.65]
## GroupIntervention:TimePOST_GM |      -0.12 | [-0.35,  0.11]
## GroupECs:TimeW1_GM            |       0.16 | [-0.13,  0.45]
## GroupIntervention:TimeW1_GM   |      -0.19 | [-0.42,  0.04]

Baseline to post

GM_BP <- Full_data_all %>% 
  dplyr::select("ID", "Group", "B_GM", "POST_GM", "W1_GM", "M1_GM")
## Formatting table as needed
GM_BP_long <- GM_BP %>%
  pivot_longer(cols = c(B_GM, POST_GM),
               names_to = "Time",
               values_to = "GM_Score")
GM_MEM_BP <- lmer(GM_Score ~ Group * Time + (1|ID), data = GM_BP_long, REML = TRUE)
summary(GM_MEM_BP)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GM_Score ~ Group * Time + (1 | ID)
##    Data: GM_BP_long
## 
## REML criterion at convergence: 1673.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.5473 -0.4356 -0.0320  0.4087  2.9611 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 1.471    1.2128  
##  Residual             0.614    0.7836  
## Number of obs: 516, groups:  ID, 259
## 
## Fixed effects:
##                               Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)                     3.1415     0.1402 341.6189  22.400  < 2e-16 ***
## GroupECs                       -0.4015     0.2477 341.6189  -1.621  0.10599    
## GroupIntervention              -0.2386     0.1998 341.6189  -1.194  0.23319    
## TimePOST_GM                    -0.4906     0.1076 254.5431  -4.558 8.03e-06 ***
## GroupECs:TimePOST_GM            0.5306     0.1901 254.5431   2.791  0.00566 ** 
## GroupIntervention:TimePOST_GM  -0.1932     0.1540 255.1798  -1.255  0.21079    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPOST_ GEC:TP
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TimePOST_GM -0.384  0.217  0.269              
## GEC:TPOST_G  0.217 -0.384 -0.153 -0.566       
## GI:TPOST_GM  0.268 -0.152 -0.382 -0.699  0.396
anova  (GM_MEM_BP)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group       2.0352  1.0176     2 256.34  1.6574 0.1926771    
## Time       16.3667 16.3667     1 254.86 26.6558   4.9e-07 ***
## Group:Time  8.8331  4.4165     2 254.92  7.1931 0.0009142 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(GM_MEM_BP)
  GM Score
Predictors Estimates CI p
(Intercept) 3.14 2.87 – 3.42 <0.001
Group [ECs] -0.40 -0.89 – 0.09 0.106
Group [Intervention] -0.24 -0.63 – 0.15 0.233
Time [POST_GM] -0.49 -0.70 – -0.28 <0.001
Group [ECs] × Time
[POST_GM]
0.53 0.16 – 0.90 0.005
Group [Intervention] ×
Time [POST_GM]
-0.19 -0.50 – 0.11 0.210
Random Effects
σ2 0.61
τ00 ID 1.47
ICC 0.71
N ID 259
Observations 516
Marginal R2 / Conditional R2 0.043 / 0.718
parameters::standardise_parameters(GM_MEM_BP)
## # Standardization method: refit
## 
## Parameter                     | Std. Coef. |         95% CI
## -----------------------------------------------------------
## (Intercept)                   |       0.27 | [ 0.09,  0.46]
## GroupECs                      |      -0.27 | [-0.60,  0.06]
## GroupIntervention             |      -0.16 | [-0.43,  0.10]
## TimePOST_GM                   |      -0.33 | [-0.48, -0.19]
## GroupECs:TimePOST_GM          |       0.36 | [ 0.11,  0.61]
## GroupIntervention:TimePOST_GM |      -0.13 | [-0.34,  0.07]
plot_model(GM_MEM_BP, type = "int")

Baseline to 1W

GM_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "B_GM", "W1_GM")
## Formatting table as needed
GM_B1W_long <- GM_B1W %>%
  pivot_longer(cols = c(B_GM, W1_GM),
               names_to = "Time",
               values_to = "GM_Score")
GM_MEM_B1W <- lmer(GM_Score ~ Group * Time + (1|ID), data = GM_B1W_long, REML = TRUE)
summary(GM_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GM_Score ~ Group * Time + (1 | ID)
##    Data: GM_B1W_long
## 
## REML criterion at convergence: 1747.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.2664 -0.5109 -0.1518  0.4940  2.7870 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 1.038    1.019   
##  Residual             1.010    1.005   
## Number of obs: 511, groups:  ID, 259
## 
## Fixed effects:
##                             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)                   3.1415     0.1390 403.7332  22.603   <2e-16 ***
## GroupECs                     -0.4015     0.2455 403.7332  -1.635   0.1027    
## GroupIntervention            -0.2386     0.1980 403.7332  -1.205   0.2289    
## TimeW1_GM                    -0.3160     0.1390 251.9742  -2.273   0.0239 *  
## GroupECs:TimeW1_GM            0.2376     0.2470 253.3522   0.962   0.3370    
## GroupIntervention:TimeW1_GM  -0.2757     0.1985 252.4706  -1.389   0.1659    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TW1_GM GEC:TW
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TimeW1_GM   -0.493  0.279  0.346              
## GrEC:TW1_GM  0.278 -0.490 -0.195 -0.563       
## GrpI:TW1_GM  0.345 -0.196 -0.492 -0.701  0.394
anova  (GM_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group       5.0659  2.5329     2 256.72  2.5080 0.0834210 .  
## Time       12.1159 12.1159     1 253.25 11.9969 0.0006256 ***
## Group:Time  4.6763  2.3381     2 253.08  2.3152 0.1008383    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(GM_MEM_B1W)
  GM Score
Predictors Estimates CI p
(Intercept) 3.14 2.87 – 3.41 <0.001
Group [ECs] -0.40 -0.88 – 0.08 0.103
Group [Intervention] -0.24 -0.63 – 0.15 0.229
Time [W1_GM] -0.32 -0.59 – -0.04 0.023
Group [ECs] × Time
[W1_GM]
0.24 -0.25 – 0.72 0.337
Group [Intervention] ×
Time [W1_GM]
-0.28 -0.67 – 0.11 0.165
Random Effects
σ2 1.01
τ00 ID 1.04
ICC 0.51
N ID 259
Observations 511
Marginal R2 / Conditional R2 0.035 / 0.524
parameters::standardise_parameters(GM_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                   | Std. Coef. |         95% CI
## ---------------------------------------------------------
## (Intercept)                 |       0.24 | [ 0.06,  0.43]
## GroupECs                    |      -0.28 | [-0.61,  0.06]
## GroupIntervention           |      -0.16 | [-0.43,  0.10]
## TimeW1_GM                   |      -0.22 | [-0.41, -0.03]
## GroupECs:TimeW1_GM          |       0.16 | [-0.17,  0.50]
## GroupIntervention:TimeW1_GM |      -0.19 | [-0.46,  0.08]
plot_model(GM_MEM_B1W, type = "int")

Baseline to 1M

GM_B1M <- Full_data_all %>% 
  dplyr::select("ID", "Group", "B_GM", "M1_GM") %>% 
  filter(Group != "ECs")
## Formatting table as needed
GM_B1M_long <- GM_B1M %>%
  pivot_longer(cols = c(B_GM, M1_GM),
               names_to = "Time",
               values_to = "GM_Score")
GM_MEM_B1M <- lmer(GM_Score ~ Group * Time + (1|ID), data = GM_B1M_long, REML = TRUE)
summary(GM_MEM_B1M)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GM_Score ~ Group * Time + (1 | ID)
##    Data: GM_B1M_long
## 
## REML criterion at convergence: 1324.1
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.0456 -0.5260 -0.1325  0.4959  2.5974 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 1.1125   1.0547  
##  Residual             0.8861   0.9413  
## Number of obs: 393, groups:  ID, 209
## 
## Fixed effects:
##                             Estimate Std. Error       df t value Pr(>|t|)    
## (Intercept)                   3.1415     0.1373 301.9454  22.879   <2e-16 ***
## GroupIntervention            -0.2386     0.1956 301.9454  -1.220   0.2235    
## TimeM1_GM                    -0.3461     0.1362 190.0981  -2.542   0.0118 *  
## GroupIntervention:TimeM1_GM  -0.2835     0.1937 189.8768  -1.464   0.1449    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpInt TM1_GM
## GrpIntrvntn -0.702              
## TimeM1_GM   -0.447  0.314       
## GrpI:TM1_GM  0.314 -0.448 -0.703
anova  (GM_MEM_B1M)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group       4.1789  4.1789     1 205.06  4.7162   0.03103 *  
## Time       22.4858 22.4858     1 189.88 25.3773 1.093e-06 ***
## Group:Time  1.8985  1.8985     1 189.88  2.1427   0.14491    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(GM_MEM_B1M)
  GM Score
Predictors Estimates CI p
(Intercept) 3.14 2.87 – 3.41 <0.001
Group [Intervention] -0.24 -0.62 – 0.15 0.223
Time [M1_GM] -0.35 -0.61 – -0.08 0.011
Group [Intervention] ×
Time [M1_GM]
-0.28 -0.66 – 0.10 0.144
Random Effects
σ2 0.89
τ00 ID 1.11
ICC 0.56
N ID 209
Observations 393
Marginal R2 / Conditional R2 0.047 / 0.578
parameters::standardise_parameters(GM_MEM_B1M)
## # Standardization method: refit
## 
## Parameter                   | Std. Coef. |         95% CI
## ---------------------------------------------------------
## (Intercept)                 |       0.24 | [ 0.06,  0.43]
## GroupIntervention           |      -0.17 | [-0.43,  0.10]
## TimeM1_GM                   |      -0.24 | [-0.43, -0.05]
## GroupIntervention:TimeM1_GM |      -0.20 | [-0.46,  0.07]
plot_model(GM_MEM_B1M, type = "int")

Full_data_all$Group2<-Full_data_all$Group
Full_data_all$Group2[which(Full_data_all$Group2 == "Intervention")]<-1
Full_data_all$Group2[which(Full_data_all$Group2 == "Controls")]<-1
Full_data_all$Group2[which(Full_data_all$Group2 == "ECs")]<-0

H2b: difference in change in PHQ over time between groups

PHQ_alltimepoints <- Full_data_all %>% 
  dplyr::select("ID", "Group", "Group2", "PRE_PHQ_mean", "W1_PHQ_mean", "M1_PHQ_mean")
## Formatting table as needed
PHQ_alltimepoints_long <- PHQ_alltimepoints %>%
  pivot_longer(cols = c(PRE_PHQ_mean, W1_PHQ_mean, M1_PHQ_mean),
               names_to = "Time",
               values_to = "PHQ_Score")
PHQ_MEM <- lmer(PHQ_Score ~ Group2 * Time + (1|ID), data = PHQ_alltimepoints_long, REML = TRUE)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(PHQ_MEM)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PHQ_Score ~ Group2 * Time + (1 | ID)
##    Data: PHQ_alltimepoints_long
## 
## REML criterion at convergence: 1324.8
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.0460 -0.5327 -0.1059  0.4691  3.1872 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.3544   0.5953  
##  Residual             0.2029   0.4505  
## Number of obs: 695, groups:  ID, 259
## 
## Fixed effects:
##                           Estimate Std. Error        df t value Pr(>|t|)    
## (Intercept)                2.15984    0.11653 527.98009  18.534   <2e-16 ***
## Group21                   -0.11877    0.11888 419.99963  -0.999    0.318    
## TimePRE_PHQ_mean           0.08516    0.10272 440.25297   0.829    0.408    
## TimeW1_PHQ_mean            0.07325    0.04644 441.61844   1.577    0.115    
## Group21:TimePRE_PHQ_mean   0.13579    0.10187 439.28076   1.333    0.183    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) Grop21 TPRE_P TW1_PH
## Group21     -0.898                     
## TmPRE_PHQ_m -0.542  0.438              
## TmW1_PHQ_mn -0.398  0.183  0.452       
## G21:TPRE_PH  0.450 -0.442 -0.899 -0.214
## fit warnings:
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
anova  (PHQ_MEM)
## Missing cells for: Group20:TimeM1_PHQ_mean.  
## Interpret type III hypotheses with care.
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group2      0.0462 0.04617     1 290.11  0.2275 0.6337291    
## Time        3.1839 1.59196     2 440.92  7.8445 0.0004491 ***
## Group2:Time 0.3606 0.36058     1 439.28  1.7768 0.1832378    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(PHQ_MEM)
  PHQ Score
Predictors Estimates CI p
(Intercept) 2.16 1.93 – 2.39 <0.001
Group2 [1] -0.12 -0.35 – 0.11 0.318
Time [PRE_PHQ_mean] 0.09 -0.12 – 0.29 0.407
Time [W1_PHQ_mean] 0.07 -0.02 – 0.16 0.115
Group2 [1] × Time
[PRE_PHQ_mean]
0.14 -0.06 – 0.34 0.183
Random Effects
σ2 0.20
τ00 ID 0.35
ICC 0.64
N ID 259
Observations 695
Marginal R2 / Conditional R2 0.015 / 0.641
parameters::standardise_parameters(PHQ_MEM)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
## # Standardization method: refit
## 
## Parameter                | Std. Coef. |        95% CI
## -----------------------------------------------------
## (Intercept)              |   3.44e-03 | [-0.30, 0.31]
## Group21                  |      -0.16 | [-0.47, 0.15]
## TimePRE_PHQ_mean         |       0.11 | [-0.15, 0.38]
## TimeW1_PHQ_mean          |       0.10 | [-0.02, 0.22]
## Group21:TimePRE_PHQ_mean |       0.18 | [-0.09, 0.45]

Baseline to 1W

PHQ_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_PHQ_total", "W1_PHQ_total")
## Formatting table as needed
PHQ_B1W_long <- PHQ_B1W %>%
  pivot_longer(cols = c(PRE_PHQ_total, W1_PHQ_total),
               names_to = "Time",
               values_to = "PHQ_Score")
PHQ_MEM_B1W <- lmer(PHQ_Score ~ Group * Time + (1|ID), data = PHQ_B1W_long, REML = TRUE)
summary(PHQ_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PHQ_Score ~ Group * Time + (1 | ID)
##    Data: PHQ_B1W_long
## 
## REML criterion at convergence: 3024.5
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.7498 -0.4928 -0.0437  0.4378  3.1718 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 24.861   4.986   
##  Residual              9.841   3.137   
## Number of obs: 503, groups:  ID, 257
## 
## Fixed effects:
##                                    Estimate Std. Error       df t value
## (Intercept)                         17.3322     0.5762 335.6547  30.079
## GroupECs                             0.6278     1.0130 334.2380   0.620
## GroupIntervention                    1.3737     0.8199 334.5945   1.675
## TimeW1_PHQ_total                    -0.6982     0.4440 248.3306  -1.573
## GroupECs:TimeW1_PHQ_total            0.5964     0.7777 247.5682   0.767
## GroupIntervention:TimeW1_PHQ_total  -0.7257     0.6286 247.4411  -1.154
##                                    Pr(>|t|)    
## (Intercept)                          <2e-16 ***
## GroupECs                             0.5358    
## GroupIntervention                    0.0948 .  
## TimeW1_PHQ_total                     0.1171    
## GroupECs:TimeW1_PHQ_total            0.4439    
## GroupIntervention:TimeW1_PHQ_total   0.2494    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TW1_PH GEC:TW
## GroupECs    -0.569                            
## GrpIntrvntn -0.703  0.400                     
## TmW1_PHQ_tt -0.373  0.212  0.262              
## GEC:TW1_PHQ  0.213 -0.371 -0.149 -0.571       
## GI:TW1_PHQ_  0.263 -0.150 -0.372 -0.706  0.403
anova  (PHQ_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value  Pr(>F)  
## Group      19.772   9.886     2 255.34  1.0046 0.36764  
## Time       60.628  60.628     1 247.32  6.1608 0.01373 *
## Group:Time 30.964  15.482     2 247.34  1.5732 0.20944  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(PHQ_MEM_B1W)
  PHQ Score
Predictors Estimates CI p
(Intercept) 17.33 16.20 – 18.46 <0.001
Group [ECs] 0.63 -1.36 – 2.62 0.536
Group [Intervention] 1.37 -0.24 – 2.98 0.094
Time [W1_PHQ_total] -0.70 -1.57 – 0.17 0.116
Group [ECs] × Time
[W1_PHQ_total]
0.60 -0.93 – 2.12 0.444
Group [Intervention] ×
Time [W1_PHQ_total]
-0.73 -1.96 – 0.51 0.249
Random Effects
σ2 9.84
τ00 ID 24.86
ICC 0.72
N ID 257
Observations 503
Marginal R2 / Conditional R2 0.014 / 0.720
parameters::standardise_parameters(PHQ_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |        95% CI
## ---------------------------------------------------------------
## (Intercept)                        |      -0.04 | [-0.23, 0.15]
## GroupECs                           |       0.11 | [-0.23, 0.44]
## GroupIntervention                  |       0.23 | [-0.04, 0.50]
## TimeW1_PHQ_total                   |      -0.12 | [-0.27, 0.03]
## GroupECs:TimeW1_PHQ_total          |       0.10 | [-0.16, 0.36]
## GroupIntervention:TimeW1_PHQ_total |      -0.12 | [-0.33, 0.09]
plot_model(PHQ_MEM_B1W, type = "int")

PHQ_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "Group2", "PRE_PHQ_mean", "W1_PHQ_mean")
## Formatting table as needed
PHQ_B1W_long <- PHQ_B1W %>%
  pivot_longer(cols = c(PRE_PHQ_mean, W1_PHQ_mean),
               names_to = "Time",
               values_to = "PHQ_Score")
PHQ_MEM_B1W <- lmer(PHQ_Score ~ Group * Time + (1|ID), data = PHQ_B1W_long, REML = TRUE)
summary(PHQ_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PHQ_Score ~ Group * Time + (1 | ID)
##    Data: PHQ_B1W_long
## 
## REML criterion at convergence: 975.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.69711 -0.49954 -0.04314  0.44241  3.12699 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.3840   0.6197  
##  Residual             0.1584   0.3980  
## Number of obs: 510, groups:  ID, 259
## 
## Fixed effects:
##                                    Estimate Std. Error        df t value
## (Intercept)                         2.18548    0.07153 339.59681  30.553
## GroupECs                            0.05952    0.12635 339.59681   0.471
## GroupIntervention                   0.15530    0.10189 339.59681   1.524
## TimeW1_PHQ_mean                    -0.11062    0.05534 251.30616  -1.999
## GroupECs:TimeW1_PHQ_mean            0.09798    0.09810 251.81079   0.999
## GroupIntervention:TimeW1_PHQ_mean  -0.07156    0.07885 251.33255  -0.908
##                                   Pr(>|t|)    
## (Intercept)                         <2e-16 ***
## GroupECs                            0.6379    
## GroupIntervention                   0.1284    
## TimeW1_PHQ_mean                     0.0467 *  
## GroupECs:TimeW1_PHQ_mean            0.3189    
## GroupIntervention:TimeW1_PHQ_mean   0.3649    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TW1_PH GEC:TW
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TmW1_PHQ_mn -0.377  0.214  0.265              
## GEC:TW1_PHQ  0.213 -0.376 -0.149 -0.564       
## GI:TW1_PHQ_  0.265 -0.150 -0.377 -0.702  0.396
anova  (PHQ_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Group      0.28782 0.14391     2 257.38  0.9086 0.404362   
## Time       1.15647 1.15647     1 251.70  7.3019 0.007357 **
## Group:Time 0.47694 0.23847     2 251.62  1.5057 0.223858   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(PHQ_MEM_B1W)
  PHQ Score
Predictors Estimates CI p
(Intercept) 2.19 2.04 – 2.33 <0.001
Group [ECs] 0.06 -0.19 – 0.31 0.638
Group [Intervention] 0.16 -0.04 – 0.36 0.128
Time [W1_PHQ_mean] -0.11 -0.22 – -0.00 0.046
Group [ECs] × Time
[W1_PHQ_mean]
0.10 -0.09 – 0.29 0.318
Group [Intervention] ×
Time [W1_PHQ_mean]
-0.07 -0.23 – 0.08 0.365
Random Effects
σ2 0.16
τ00 ID 0.38
ICC 0.71
N ID 259
Observations 510
Marginal R2 / Conditional R2 0.014 / 0.712
parameters::standardise_parameters(PHQ_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                         | Std. Coef. |         95% CI
## ---------------------------------------------------------------
## (Intercept)                       |      -0.02 | [-0.21,  0.17]
## GroupECs                          |       0.08 | [-0.26,  0.42]
## GroupIntervention                 |       0.21 | [-0.06,  0.48]
## TimeW1_PHQ_mean                   |      -0.15 | [-0.30,  0.00]
## GroupECs:TimeW1_PHQ_mean          |       0.13 | [-0.13,  0.39]
## GroupIntervention:TimeW1_PHQ_mean |      -0.10 | [-0.31,  0.11]
plot_model(PHQ_MEM_B1W, type = "int")

Baseline to 1M

PHQ_B1M <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_PHQ_mean", "M1_PHQ_mean") %>% 
  filter(Group != "ECs")
## Formatting table as needed
PHQ_B1M_long <- PHQ_B1M %>%
  pivot_longer(cols = c(PRE_PHQ_mean, M1_PHQ_mean),
               names_to = "Time",
               values_to = "PHQ_Score")
PHQ_MEM_B1M <- lmer(PHQ_Score ~ Group * Time + (1|ID), data = PHQ_B1M_long, REML = TRUE)
summary(PHQ_MEM_B1M)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: PHQ_Score ~ Group * Time + (1 | ID)
##    Data: PHQ_B1M_long
## 
## REML criterion at convergence: 839.1
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.55321 -0.57840 -0.09376  0.49367  2.71093 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.3182   0.5641  
##  Residual             0.2534   0.5034  
## Number of obs: 394, groups:  ID, 209
## 
## Fixed effects:
##                                     Estimate Std. Error        df t value
## (Intercept)                        2.036e+00  7.660e-02 3.273e+02  26.576
## GroupIntervention                  8.969e-03  1.092e-01 3.276e+02   0.082
## TimePRE_PHQ_mean                   1.498e-01  7.250e-02 1.937e+02   2.066
## GroupIntervention:TimePRE_PHQ_mean 1.463e-01  1.033e-01 1.938e+02   1.416
##                                    Pr(>|t|)    
## (Intercept)                          <2e-16 ***
## GroupIntervention                    0.9346    
## TimePRE_PHQ_mean                     0.0402 *  
## GroupIntervention:TimePRE_PHQ_mean   0.1584    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpInt TPRE_P
## GrpIntrvntn -0.702              
## TmPRE_PHQ_m -0.516  0.362       
## GI:TPRE_PHQ  0.362 -0.517 -0.701
anova  (PHQ_MEM_B1M)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group      0.1951  0.1951     1 208.34  0.7699    0.3812    
## Time       4.7157  4.7157     1 193.82 18.6117 2.551e-05 ***
## Group:Time 0.5080  0.5080     1 193.82  2.0048    0.1584    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(PHQ_MEM_B1M)
  PHQ Score
Predictors Estimates CI p
(Intercept) 2.04 1.89 – 2.19 <0.001
Group [Intervention] 0.01 -0.21 – 0.22 0.935
Time [PRE_PHQ_mean] 0.15 0.01 – 0.29 0.040
Group [Intervention] ×
Time [PRE_PHQ_mean]
0.15 -0.06 – 0.35 0.158
Random Effects
σ2 0.25
τ00 ID 0.32
ICC 0.56
N ID 209
Observations 394
Marginal R2 / Conditional R2 0.026 / 0.568
parameters::standardise_parameters(PHQ_MEM_B1M)
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |        95% CI
## ---------------------------------------------------------------
## (Intercept)                        |      -0.16 | [-0.35, 0.04]
## GroupIntervention                  |       0.01 | [-0.27, 0.29]
## TimePRE_PHQ_mean                   |       0.20 | [ 0.01, 0.38]
## GroupIntervention:TimePRE_PHQ_mean |       0.19 | [-0.07, 0.46]
plot_model(PHQ_MEM_B1M, type = "int")

H2b: difference in change in GAD over time between groups

# Merging across timepoints
GAD_alltimepoints <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_GAD_mean", "W1_GAD_mean", "M1_GAD_mean")
## Formatting table as needed
GAD_alltimepoints_long <- GAD_alltimepoints %>%
  pivot_longer(cols = c(PRE_GAD_mean, W1_GAD_mean, M1_GAD_mean),
               names_to = "Time",
               values_to = "GAD_Score")
GAD_MEM <- lmer(GAD_Score ~ Group * Time + (1|ID), data = GAD_alltimepoints_long, REML = TRUE)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(GAD_MEM)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GAD_Score ~ Group * Time + (1 | ID)
##    Data: GAD_alltimepoints_long
## 
## REML criterion at convergence: 1406.2
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.9605 -0.4846 -0.0933  0.5205  3.3269 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4402   0.6635  
##  Residual             0.2158   0.4646  
## Number of obs: 695, groups:  ID, 259
## 
## Fixed effects:
##                                     Estimate Std. Error        df t value
## (Intercept)                          2.08664    0.08098 423.56297  25.766
## GroupECs                             0.06505    0.14035 400.52984   0.463
## GroupIntervention                   -0.01647    0.11539 424.06097  -0.143
## TimePRE_GAD_mean                     0.13214    0.06665 439.20039   1.983
## TimeW1_GAD_mean                      0.03867    0.06715 439.16880   0.576
## GroupECs:TimePRE_GAD_mean           -0.13811    0.11443 437.49827  -1.207
## GroupIntervention:TimePRE_GAD_mean   0.12479    0.09498 438.95940   1.314
## GroupIntervention:TimeW1_GAD_mean    0.08064    0.09584 439.71544   0.841
##                                    Pr(>|t|)    
## (Intercept)                          <2e-16 ***
## GroupECs                              0.643    
## GroupIntervention                     0.887    
## TimePRE_GAD_mean                      0.048 *  
## TimeW1_GAD_mean                       0.565    
## GroupECs:TimePRE_GAD_mean             0.228    
## GroupIntervention:TimePRE_GAD_mean    0.190    
## GroupIntervention:TimeW1_GAD_mean     0.401    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPRE_G TW1_GA GEC:TP GI:TPR
## GroupECs    -0.366                                          
## GrpIntrvntn -0.702  0.257                                   
## TmPRE_GAD_m -0.446  0.001  0.313                            
## TmW1_GAD_mn -0.440 -0.224  0.309  0.535                     
## GEC:TPRE_GA  0.001 -0.420 -0.001 -0.268  0.275              
## GI:TPRE_GAD  0.313 -0.001 -0.446 -0.702 -0.376  0.188       
## GI:TW1_GAD_  0.309  0.157 -0.442 -0.375 -0.701 -0.193  0.536
## fit warnings:
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
anova  (GAD_MEM)
## Missing cells for: GroupECs:TimeM1_GAD_mean.  
## Interpret type III hypotheses with care.
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Group      0.09343 0.04672     2 268.71  0.2164 0.805517   
## Time       2.75589 1.37795     2 438.71  6.3842 0.001849 **
## Group:Time 0.87844 0.29281     3 437.88  1.3567 0.255504   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(GAD_MEM)
  GAD Score
Predictors Estimates CI p
(Intercept) 2.09 1.93 – 2.25 <0.001
Group [ECs] 0.07 -0.21 – 0.34 0.643
Group [Intervention] -0.02 -0.24 – 0.21 0.887
Time [PRE_GAD_mean] 0.13 0.00 – 0.26 0.048
Time [W1_GAD_mean] 0.04 -0.09 – 0.17 0.565
Group [ECs] × Time
[PRE_GAD_mean]
-0.14 -0.36 – 0.09 0.228
Group [Intervention] ×
Time [PRE_GAD_mean]
0.12 -0.06 – 0.31 0.189
Group [Intervention] ×
Time [W1_GAD_mean]
0.08 -0.11 – 0.27 0.400
Random Effects
σ2 0.22
τ00 ID 0.44
ICC 0.67
N ID 259
Observations 695
Marginal R2 / Conditional R2 0.010 / 0.674
parameters::standardise_parameters(GAD_MEM)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |        95% CI
## ---------------------------------------------------------------
## (Intercept)                        |      -0.11 | [-0.30, 0.09]
## GroupECs                           |       0.08 | [-0.26, 0.42]
## GroupIntervention                  |      -0.02 | [-0.30, 0.26]
## TimePRE_GAD_mean                   |       0.16 | [ 0.00, 0.32]
## TimeW1_GAD_mean                    |       0.05 | [-0.11, 0.21]
## GroupECs:TimePRE_GAD_mean          |      -0.17 | [-0.45, 0.11]
## GroupIntervention:TimePRE_GAD_mean |       0.15 | [-0.08, 0.38]
## GroupIntervention:TimeW1_GAD_mean  |       0.10 | [-0.13, 0.33]

Baseline to 1W

# Merging across timepoints
GAD_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_GAD_mean", "W1_GAD_mean")
## Formatting table as needed
GAD_B1W_long <- GAD_B1W %>%
  pivot_longer(cols = c(PRE_GAD_mean, W1_GAD_mean),
               names_to = "Time",
               values_to = "GAD_Score")
GAD_MEM_B1W <- lmer(GAD_Score ~ Group * Time + (1|ID), data = GAD_B1W_long, REML = TRUE)
summary(GAD_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GAD_Score ~ Group * Time + (1 | ID)
##    Data: GAD_B1W_long
## 
## REML criterion at convergence: 1070.1
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -3.02603 -0.45914 -0.09977  0.46957  3.16113 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4548   0.6744  
##  Residual             0.1934   0.4398  
## Number of obs: 510, groups:  ID, 259
## 
## Fixed effects:
##                                    Estimate Std. Error        df t value
## (Intercept)                         2.21878    0.07820 341.73392  28.372
## GroupECs                           -0.07306    0.13813 341.73392  -0.529
## GroupIntervention                   0.10831    0.11140 341.73392   0.972
## TimeW1_GAD_mean                    -0.08987    0.06116 251.51643  -1.469
## GroupECs:TimeW1_GAD_mean            0.13424    0.10841 252.03041   1.238
## GroupIntervention:TimeW1_GAD_mean  -0.04599    0.08714 251.54331  -0.528
##                                   Pr(>|t|)    
## (Intercept)                         <2e-16 ***
## GroupECs                             0.597    
## GroupIntervention                    0.332    
## TimeW1_GAD_mean                      0.143    
## GroupECs:TimeW1_GAD_mean             0.217    
## GroupIntervention:TimeW1_GAD_mean    0.598    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TW1_GA GEC:TW
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TmW1_GAD_mn -0.382  0.216  0.268              
## GEC:TW1_GAD  0.215 -0.380 -0.151 -0.564       
## GI:TW1_GAD_  0.268 -0.152 -0.382 -0.702  0.396
anova  (GAD_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value Pr(>F)
## Group      0.16519 0.08259     2 257.55  0.4270 0.6530
## Time       0.40776 0.40776     1 251.92  2.1079 0.1478
## Group:Time 0.53440 0.26720     2 251.84  1.3813 0.2532
sjPlot::tab_model(GAD_MEM_B1W)
  GAD Score
Predictors Estimates CI p
(Intercept) 2.22 2.07 – 2.37 <0.001
Group [ECs] -0.07 -0.34 – 0.20 0.597
Group [Intervention] 0.11 -0.11 – 0.33 0.331
Time [W1_GAD_mean] -0.09 -0.21 – 0.03 0.142
Group [ECs] × Time
[W1_GAD_mean]
0.13 -0.08 – 0.35 0.216
Group [Intervention] ×
Time [W1_GAD_mean]
-0.05 -0.22 – 0.13 0.598
Random Effects
σ2 0.19
τ00 ID 0.45
ICC 0.70
N ID 259
Observations 510
Marginal R2 / Conditional R2 0.007 / 0.704
parameters::standardise_parameters(GAD_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                         | Std. Coef. |        95% CI
## --------------------------------------------------------------
## (Intercept)                       |       0.01 | [-0.18, 0.20]
## GroupECs                          |      -0.09 | [-0.43, 0.25]
## GroupIntervention                 |       0.13 | [-0.14, 0.41]
## TimeW1_GAD_mean                   |      -0.11 | [-0.26, 0.04]
## GroupECs:TimeW1_GAD_mean          |       0.17 | [-0.10, 0.43]
## GroupIntervention:TimeW1_GAD_mean |      -0.06 | [-0.27, 0.16]
plot_model(GAD_MEM_B1W, type = "int")

Baseline to 1M

# Merging across timepoints
GAD_B1M <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_GAD_mean", "M1_GAD_mean") %>% 
  filter(Group != "ECs")
## Formatting table as needed
GAD_B1M_long <- GAD_B1M %>%
  pivot_longer(cols = c(PRE_GAD_mean, M1_GAD_mean),
               names_to = "Time",
               values_to = "GAD_Score")
GAD_MEM_B1M <- lmer(GAD_Score ~ Group * Time + (1|ID), data = GAD_B1M_long, REML = TRUE)
summary(GAD_MEM_B1M)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: GAD_Score ~ Group * Time + (1 | ID)
##    Data: GAD_B1M_long
## 
## REML criterion at convergence: 883.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.23265 -0.51854 -0.08821  0.48051  2.70521 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4144   0.6438  
##  Residual             0.2584   0.5083  
## Number of obs: 394, groups:  ID, 209
## 
## Fixed effects:
##                                     Estimate Std. Error        df t value
## (Intercept)                          2.08869    0.08277 312.88243  25.236
## GroupIntervention                   -0.01302    0.11797 313.23740  -0.110
## TimePRE_GAD_mean                     0.13009    0.07333 191.11893   1.774
## GroupIntervention:TimePRE_GAD_mean   0.12134    0.10454 191.22466   1.161
##                                    Pr(>|t|)    
## (Intercept)                          <2e-16 ***
## GroupIntervention                    0.9122    
## TimePRE_GAD_mean                     0.0777 .  
## GroupIntervention:TimePRE_GAD_mean   0.2472    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpInt TPRE_G
## GrpIntrvntn -0.702              
## TmPRE_GAD_m -0.484  0.340       
## GI:TPRE_GAD  0.340 -0.485 -0.701
anova  (GAD_MEM_B1M)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)    
## Group       0.055   0.055     1 207.16  0.2128 0.645035    
## Time        3.441   3.441     1 191.22 13.3182 0.000339 ***
## Group:Time  0.348   0.348     1 191.22  1.3471 0.247234    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(GAD_MEM_B1M)
  GAD Score
Predictors Estimates CI p
(Intercept) 2.09 1.93 – 2.25 <0.001
Group [Intervention] -0.01 -0.24 – 0.22 0.912
Time [PRE_GAD_mean] 0.13 -0.01 – 0.27 0.077
Group [Intervention] ×
Time [PRE_GAD_mean]
0.12 -0.08 – 0.33 0.247
Random Effects
σ2 0.26
τ00 ID 0.41
ICC 0.62
N ID 209
Observations 394
Marginal R2 / Conditional R2 0.015 / 0.622
parameters::standardise_parameters(GAD_MEM_B1M)
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |        95% CI
## ---------------------------------------------------------------
## (Intercept)                        |      -0.11 | [-0.31, 0.09]
## GroupIntervention                  |      -0.02 | [-0.30, 0.27]
## TimePRE_GAD_mean                   |       0.16 | [-0.02, 0.33]
## GroupIntervention:TimePRE_GAD_mean |       0.15 | [-0.10, 0.40]
plot_model(GAD_MEM_B1M, type = "int")

H2b: difference in change in mood over time between groups

Mood_alltimepoints <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_mood_mean", "POST_mood_mean", "W1_mood_mean", "M1_mood_mean")
## Formatting tables as needed
Mood_alltimepoints_long <- Mood_alltimepoints %>%
  pivot_longer(cols = c("PRE_mood_mean", "POST_mood_mean", "W1_mood_mean", "M1_mood_mean"),
               names_to = "Time",
               values_to = "Mood_Score")
Mood_MEM <- lmer(Mood_Score ~ Group * Time + (1|ID), data = Mood_alltimepoints_long, REML = TRUE)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(Mood_MEM)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Mood_Score ~ Group * Time + (1 | ID)
##    Data: Mood_alltimepoints_long
## 
## REML criterion at convergence: 9574.4
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.9122 -0.4761  0.0583  0.5756  3.3824 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 864.6    29.40   
##  Residual             987.5    31.42   
## Number of obs: 952, groups:  ID, 259
## 
## Fixed effects:
##                                      Estimate Std. Error       df t value
## (Intercept)                           30.7050     4.3539 650.5155   7.052
## GroupECs                              -5.4729     7.4795 611.7514  -0.732
## GroupIntervention                     -7.8667     6.2055 651.4517  -1.268
## TimePOST_mood_mean                    26.5827     4.4850 695.5235   5.927
## TimePRE_mood_mean                      6.6110     4.4850 695.5235   1.474
## TimeW1_mood_mean                       0.3582     4.5183 695.9519   0.079
## GroupECs:TimePOST_mood_mean          -11.5348     7.7175 691.6156  -1.495
## GroupIntervention:TimePOST_mood_mean   9.6693     6.4019 695.8043   1.510
## GroupECs:TimePRE_mood_mean             8.4569     7.7175 691.6156   1.096
## GroupIntervention:TimePRE_mood_mean    0.1818     6.3922 695.4478   0.028
## GroupIntervention:TimeW1_mood_mean     1.4339     6.4554 697.1122   0.222
##                                      Pr(>|t|)    
## (Intercept)                          4.51e-12 ***
## GroupECs                                0.465    
## GroupIntervention                       0.205    
## TimePOST_mood_mean                   4.86e-09 ***
## TimePRE_mood_mean                       0.141    
## TimeW1_mood_mean                        0.937    
## GroupECs:TimePOST_mood_mean             0.135    
## GroupIntervention:TimePOST_mood_mean    0.131    
## GroupECs:TimePRE_mood_mean              0.274    
## GroupIntervention:TimePRE_mood_mean     0.977    
## GroupIntervention:TimeW1_mood_mean      0.824    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPOST_ TPRE__ TmW1__ GEC:TPO GI:TPO GEC:TPR
## GroupECs    -0.251                                                          
## GrpIntrvntn -0.702  0.176                                                   
## TmPOST_md_m -0.553  0.001  0.388                                            
## TmPRE_md_mn -0.553  0.001  0.388  0.537                                     
## TimW1_md_mn -0.548 -0.285  0.384  0.532  0.532                              
## GEC:TPOST__  0.001 -0.528  0.000 -0.270 -0.001  0.276                       
## GrI:TPOST__  0.387  0.000 -0.553 -0.701 -0.376 -0.373  0.189                
## GrEC:TPRE__  0.001 -0.528  0.000 -0.001 -0.270  0.276  0.512   0.000        
## GrpI:TPRE__  0.388  0.000 -0.554 -0.377 -0.702 -0.373  0.000   0.537  0.189 
## GrpIn:TW1__  0.383  0.200 -0.548 -0.372 -0.372 -0.700 -0.193   0.531 -0.193 
##             GI:TPR
## GroupECs          
## GrpIntrvntn       
## TmPOST_md_m       
## TmPRE_md_mn       
## TimW1_md_mn       
## GEC:TPOST__       
## GrI:TPOST__       
## GrEC:TPRE__       
## GrpI:TPRE__       
## GrpIn:TW1__  0.532
## fit warnings:
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
anova  (Mood_MEM)
## Missing cells for: GroupECs:TimeM1_mood_mean.  
## Interpret type III hypotheses with care.
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group        1836     918     2 269.40  0.9294  0.396044    
## Time        97492   32497     3 693.18 32.9088 < 2.2e-16 ***
## Group:Time  15771    3154     5 691.94  3.1940  0.007368 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(Mood_MEM)
  Mood Score
Predictors Estimates CI p
(Intercept) 30.71 22.16 – 39.25 <0.001
Group [ECs] -5.47 -20.15 – 9.21 0.465
Group [Intervention] -7.87 -20.04 – 4.31 0.205
Time [POST_mood_mean] 26.58 17.78 – 35.38 <0.001
Time [PRE_mood_mean] 6.61 -2.19 – 15.41 0.141
Time [W1_mood_mean] 0.36 -8.51 – 9.23 0.937
Group [ECs] × Time
[POST_mood_mean]
-11.53 -26.68 – 3.61 0.135
Group [Intervention] ×
Time [POST_mood_mean]
9.67 -2.89 – 22.23 0.131
Group [ECs] × Time
[PRE_mood_mean]
8.46 -6.69 – 23.60 0.273
Group [Intervention] ×
Time [PRE_mood_mean]
0.18 -12.36 – 12.73 0.977
Group [Intervention] ×
Time [W1_mood_mean]
1.43 -11.23 – 14.10 0.824
Random Effects
σ2 987.50
τ00 ID 864.62
ICC 0.47
N ID 259
Observations 952
Marginal R2 / Conditional R2 0.077 / 0.508
parameters::standardise_parameters(Mood_MEM)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
## # Standardization method: refit
## 
## Parameter                            | Std. Coef. |        95% CI
## -----------------------------------------------------------------
## (Intercept)                          |      -0.13 | [-0.32, 0.06]
## GroupECs                             |      -0.12 | [-0.45, 0.21]
## GroupIntervention                    |      -0.18 | [-0.45, 0.10]
## TimePOST_mood_mean                   |       0.59 | [ 0.40, 0.79]
## TimePRE_mood_mean                    |       0.15 | [-0.05, 0.34]
## TimeW1_mood_mean                     |   8.01e-03 | [-0.19, 0.21]
## GroupECs:TimePOST_mood_mean          |      -0.26 | [-0.60, 0.08]
## GroupIntervention:TimePOST_mood_mean |       0.22 | [-0.06, 0.50]
## GroupECs:TimePRE_mood_mean           |       0.19 | [-0.15, 0.53]
## GroupIntervention:TimePRE_mood_mean  |   4.07e-03 | [-0.28, 0.28]
## GroupIntervention:TimeW1_mood_mean   |       0.03 | [-0.25, 0.32]

Baseline to post

Mood_BP <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_mood_mean", "POST_mood_mean")
## Formatting tables as needed
Mood_BP_long <- Mood_BP %>%
  pivot_longer(cols = c("PRE_mood_mean", "POST_mood_mean"),
               names_to = "Time",
               values_to = "Mood_Score")
Mood_MEM_BP <- lmer(Mood_Score ~ Group * Time + (1|ID), data = Mood_BP_long, REML = TRUE)
summary(Mood_MEM_BP)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Mood_Score ~ Group * Time + (1 | ID)
##    Data: Mood_BP_long
## 
## REML criterion at convergence: 5079
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -4.1547 -0.3855  0.0476  0.4451  3.3781 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 1035.6   32.18   
##  Residual              513.4   22.66   
## Number of obs: 517, groups:  ID, 259
## 
## Fixed effects:
##                                     Estimate Std. Error      df t value
## (Intercept)                           57.288      3.823 353.535  14.986
## GroupECs                             -17.008      6.752 353.535  -2.519
## GroupIntervention                      1.665      5.453 354.733   0.305
## TimePRE_mood_mean                    -19.972      3.112 255.115  -6.417
## GroupECs:TimePRE_mood_mean            19.992      5.498 255.115   3.637
## GroupIntervention:TimePRE_mood_mean   -9.350      4.443 255.465  -2.105
##                                     Pr(>|t|)    
## (Intercept)                          < 2e-16 ***
## GroupECs                            0.012215 *  
## GroupIntervention                   0.760334    
## TimePRE_mood_mean                   6.72e-10 ***
## GroupECs:TimePRE_mood_mean          0.000334 ***
## GroupIntervention:TimePRE_mood_mean 0.036311 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPRE__ GEC:TP
## GroupECs    -0.566                            
## GrpIntrvntn -0.701  0.397                     
## TmPRE_md_mn -0.407  0.230  0.285              
## GrEC:TPRE__  0.230 -0.407 -0.162 -0.566       
## GrpI:TPRE__  0.285 -0.161 -0.409 -0.701  0.397
anova  (Mood_MEM_BP)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group        677.9   339.0     2 255.99  0.6603    0.5176    
## Time       30949.7 30949.7     1 255.29 60.2843 1.989e-13 ***
## Group:Time 14453.2  7226.6     2 255.32 14.0761 1.588e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(Mood_MEM_BP)
  Mood Score
Predictors Estimates CI p
(Intercept) 57.29 49.78 – 64.80 <0.001
Group [ECs] -17.01 -30.27 – -3.74 0.012
Group [Intervention] 1.66 -9.05 – 12.38 0.760
Time [PRE_mood_mean] -19.97 -26.09 – -13.86 <0.001
Group [ECs] × Time
[PRE_mood_mean]
19.99 9.19 – 30.79 <0.001
Group [Intervention] ×
Time [PRE_mood_mean]
-9.35 -18.08 – -0.62 0.036
Random Effects
σ2 513.40
τ00 ID 1035.58
ICC 0.67
N ID 259
Observations 517
Marginal R2 / Conditional R2 0.079 / 0.695
parameters::standardise_parameters(Mood_MEM_BP)
## # Standardization method: refit
## 
## Parameter                           | Std. Coef. |         95% CI
## -----------------------------------------------------------------
## (Intercept)                         |       0.31 | [ 0.12,  0.49]
## GroupECs                            |      -0.42 | [-0.74, -0.09]
## GroupIntervention                   |       0.04 | [-0.22,  0.30]
## TimePRE_mood_mean                   |      -0.49 | [-0.64, -0.34]
## GroupECs:TimePRE_mood_mean          |       0.49 | [ 0.23,  0.75]
## GroupIntervention:TimePRE_mood_mean |      -0.23 | [-0.44, -0.02]
plot_model(Mood_MEM_BP, type = "int")

Baseline to 1W

Mood_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_mood_mean", "W1_mood_mean")
## Formatting tables as needed
Mood_B1W_long <- Mood_B1W %>%
  pivot_longer(cols = c("PRE_mood_mean", "W1_mood_mean"),
               names_to = "Time",
               values_to = "Mood_Score")
Mood_MEM_B1W <- lmer(Mood_Score ~ Group * Time + (1|ID), data = Mood_B1W_long, REML = TRUE)
summary(Mood_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Mood_Score ~ Group * Time + (1 | ID)
##    Data: Mood_B1W_long
## 
## REML criterion at convergence: 5220.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1570 -0.4429  0.1159  0.5899  2.4716 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept)  866.2   29.43   
##  Residual             1117.7   33.43   
## Number of obs: 509, groups:  ID, 259
## 
## Fixed effects:
##                                    Estimate Std. Error      df t value Pr(>|t|)
## (Intercept)                          37.316      4.326 424.920   8.626   <2e-16
## GroupECs                              2.984      7.641 424.920   0.390    0.696
## GroupIntervention                    -7.685      6.162 424.920  -1.247    0.213
## TimeW1_mood_mean                     -6.440      4.640 252.527  -1.388    0.166
## GroupECs:TimeW1_mood_mean            -8.265      8.220 253.359  -1.005    0.316
## GroupIntervention:TimeW1_mood_mean    1.112      6.623 253.086   0.168    0.867
##                                       
## (Intercept)                        ***
## GroupECs                              
## GroupIntervention                     
## TimeW1_mood_mean                      
## GroupECs:TimeW1_mood_mean             
## GroupIntervention:TimeW1_mood_mean    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TmW1__ GEC:TW
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TimW1_md_mn -0.525  0.297  0.369              
## GrpEC:TW1__  0.296 -0.524 -0.208 -0.564       
## GrpIn:TW1__  0.368 -0.208 -0.524 -0.701  0.395
anova  (Mood_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value  Pr(>F)   
## Group      2236.2  1118.1     2 257.40  1.0004 0.36916   
## Time       8711.4  8711.4     1 253.43  7.7944 0.00564 **
## Group:Time 1553.5   776.7     2 253.35  0.6950 0.50003   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(Mood_MEM_B1W)
  Mood Score
Predictors Estimates CI p
(Intercept) 37.32 28.82 – 45.82 <0.001
Group [ECs] 2.98 -12.03 – 18.00 0.696
Group [Intervention] -7.68 -19.79 – 4.42 0.213
Time [W1_mood_mean] -6.44 -15.56 – 2.68 0.166
Group [ECs] × Time
[W1_mood_mean]
-8.26 -24.42 – 7.89 0.315
Group [Intervention] ×
Time [W1_mood_mean]
1.11 -11.90 – 14.12 0.867
Random Effects
σ2 1117.65
τ00 ID 866.19
ICC 0.44
N ID 259
Observations 509
Marginal R2 / Conditional R2 0.014 / 0.445
parameters::standardise_parameters(Mood_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                          | Std. Coef. |        95% CI
## ---------------------------------------------------------------
## (Intercept)                        |       0.14 | [-0.05, 0.33]
## GroupECs                           |       0.07 | [-0.27, 0.40]
## GroupIntervention                  |      -0.17 | [-0.44, 0.10]
## TimeW1_mood_mean                   |      -0.14 | [-0.35, 0.06]
## GroupECs:TimeW1_mood_mean          |      -0.19 | [-0.55, 0.18]
## GroupIntervention:TimeW1_mood_mean |       0.02 | [-0.27, 0.32]
plot_model(Mood_MEM_B1W, type = "int")

Baseline to 1M

Mood_B1M <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_mood_mean", "M1_mood_mean") %>% 
  filter(Group != "ECs")
## Formatting tables as needed
Mood_B1M_long <- Mood_B1M %>%
  pivot_longer(cols = c("PRE_mood_mean", "M1_mood_mean"),
               names_to = "Time",
               values_to = "Mood_Score")
Mood_MEM_B1M <- lmer(Mood_Score ~ Group * Time + (1|ID), data = Mood_B1M_long, REML = TRUE)
summary(Mood_MEM_B1M)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: Mood_Score ~ Group * Time + (1 | ID)
##    Data: Mood_B1M_long
## 
## REML criterion at convergence: 4072.3
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.84172 -0.48707  0.07157  0.59484  2.32670 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept)  847.4   29.11   
##  Residual             1235.9   35.16   
## Number of obs: 394, groups:  ID, 209
## 
## Fixed effects:
##                                     Estimate Std. Error       df t value
## (Intercept)                          30.6176     4.6634 357.1760   6.565
## GroupIntervention                    -7.5275     6.6483 357.4098  -1.132
## TimePRE_mood_mean                     6.6984     5.0411 199.8632   1.329
## GroupIntervention:TimePRE_mood_mean  -0.1574     7.1859 200.0128  -0.022
##                                     Pr(>|t|)    
## (Intercept)                         1.83e-10 ***
## GroupIntervention                      0.258    
## TimePRE_mood_mean                      0.185    
## GroupIntervention:TimePRE_mood_mean    0.983    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpInt TPRE__
## GrpIntrvntn -0.701              
## TmPRE_md_mn -0.585  0.410       
## GrpI:TPRE__  0.410 -0.586 -0.702
anova  (Mood_MEM_B1M)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value Pr(>F)  
## Group      2454.6  2454.6     1 210.79  1.9861 0.1602  
## Time       4195.3  4195.3     1 200.01  3.3945 0.0669 .
## Group:Time    0.6     0.6     1 200.01  0.0005 0.9825  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(Mood_MEM_B1M)
  Mood Score
Predictors Estimates CI p
(Intercept) 30.62 21.45 – 39.79 <0.001
Group [Intervention] -7.53 -20.60 – 5.54 0.258
Time [PRE_mood_mean] 6.70 -3.21 – 16.61 0.185
Group [Intervention] ×
Time [PRE_mood_mean]
-0.16 -14.29 – 13.97 0.983
Random Effects
σ2 1235.91
τ00 ID 847.37
ICC 0.41
N ID 209
Observations 394
Marginal R2 / Conditional R2 0.012 / 0.414
parameters::standardise_parameters(Mood_MEM_B1M)
## # Standardization method: refit
## 
## Parameter                           | Std. Coef. |        95% CI
## ----------------------------------------------------------------
## (Intercept)                         |   5.58e-03 | [-0.19, 0.21]
## GroupIntervention                   |      -0.16 | [-0.45, 0.12]
## TimePRE_mood_mean                   |       0.15 | [-0.07, 0.36]
## GroupIntervention:TimePRE_mood_mean |  -3.43e-03 | [-0.31, 0.30]
plot_model(Mood_MEM_B1M, type = "int")

Hypothesis 3

# Baseline to 1W/1M changes (creating new columns)
changeinvariables <- mutate(Full_data_all,
                      IUS_BP_change = POST_IUS_mean - PRE_IUS_mean,
                      IUS_B1W_change = W1_IUS_mean - PRE_IUS_mean,
                      IUS_B1M_change = M1_IUS_mean - PRE_IUS_mean,
                      PHQ_B1W_change = W1_PHQ_mean - PRE_PHQ_mean,
                      PHQ_B1M_change = M1_PHQ_mean - PRE_PHQ_mean,
                      GAD_B1W_change = W1_GAD_mean - PRE_GAD_mean,
                      GAD_B1M_change = M1_GAD_mean - PRE_GAD_mean,
                      Mood_BP_change = POST_mood_mean - PRE_mood_mean,
                      Mood_B1W_change = W1_mood_mean - PRE_mood_mean,
                      Mood_B1M_change = M1_mood_mean - PRE_mood_mean)
# Separating out each group

Intervention_group <- changeinvariables %>% 
  filter(Group == "Intervention")

Psychoed_group <- changeinvariables %>% 
  filter(Group == "Controls")

ECs_group <- changeinvariables %>% 
  filter(Group == "ECs")

H3: IUS mediating change in PHQ over time between groups

Full sample at 1 week: Group to change in PHQ via change in IUS

Mediation.PHQchange.1W <-
  '#regressions
PHQ_B1W_change ~ c1 * Group  
IUS_B1W_change ~ a1 * Group 
PHQ_B1W_change ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.PHQ.1W <- sem(Mediation.PHQchange.1W, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.PHQ.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 13 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         3            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   PHQ_B1W_change ~                                                      
##     Group     (c1)   -0.031    0.073   -0.419    0.675   -0.031   -0.027
##   IUS_B1W_change ~                                                      
##     Group     (a1)   -0.178    0.072   -2.487    0.013   -0.178   -0.160
##   PHQ_B1W_change ~                                                      
##     IUS_B1W_c (b1)    0.160    0.073    2.185    0.029    0.160    0.160
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .PHQ_B1W_change    0.060    0.151    0.397    0.692    0.060    0.060
##    .IUS_B1W_change    0.354    0.149    2.371    0.018    0.354    0.354
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .PHQ_B1W_change    0.968    0.125    7.768    0.000    0.968    0.972
##    .IUS_B1W_change    0.970    0.120    8.068    0.000    0.970    0.974
## 
## R-Square:
##                    Estimate
##     PHQ_B1W_change    0.028
##     IUS_B1W_change    0.026
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.029    0.016   -1.767    0.077   -0.029   -0.026
##     direct           -0.031    0.073   -0.419    0.675   -0.031   -0.027
##     total            -0.059    0.072   -0.816    0.415   -0.059   -0.053

Intervention group at 1 week: pre PHQ to 1 week PHQ via change in IU

Mediation.PHQ.intervention.1W <-
  '#regressions
W1_PHQ_mean ~ c1 * PRE_PHQ_mean  
IUS_B1W_change ~ a1 * PRE_PHQ_mean 
W1_PHQ_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
PHQ.IUS.intervention.1W <- sem(Mediation.PHQ.intervention.1W, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(PHQ.IUS.intervention.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 23 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         2
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_PHQ_mean ~                                                         
##     PRE_PHQ_m (c1)    0.876    0.126    6.932    0.000    0.876    0.618
##   IUS_B1W_change ~                                                      
##     PRE_PHQ_m (a1)    0.116    0.137    0.848    0.397    0.116    0.081
##   W1_PHQ_mean ~                                                         
##     IUS_B1W_c (b1)    0.069    0.082    0.846    0.397    0.069    0.069
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_PHQ_mean      -2.051    0.266   -7.725    0.000   -2.051   -2.069
##    .IUS_B1W_change   -0.272    0.358   -0.760    0.447   -0.272   -0.273
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_PHQ_mean       0.596    0.103    5.811    0.000    0.596    0.607
##    .IUS_B1W_change    0.983    0.202    4.865    0.000    0.983    0.993
## 
## R-Square:
##                    Estimate
##     W1_PHQ_mean       0.393
##     IUS_B1W_change    0.007
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.008    0.012    0.649    0.516    0.008    0.006
##     direct            0.876    0.126    6.932    0.000    0.876    0.618
##     total             0.884    0.126    7.001    0.000    0.884    0.623

Psychoeducation group at 1 week: pre PHQ to 1 week PHQ via change in IU

Mediation.PHQ.psychoed.1W <-
  '#regressions
W1_PHQ_mean ~ c1 * PRE_PHQ_mean  
IUS_B1W_change ~ a1 * PRE_PHQ_mean 
W1_PHQ_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
PHQ.IUS.psychoed.1W <- sem(Mediation.PHQ.psychoed.1W, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(PHQ.IUS.psychoed.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 21 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         3
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_PHQ_mean ~                                                         
##     PRE_PHQ_m (c1)    0.979    0.093   10.567    0.000    0.979    0.763
##   IUS_B1W_change ~                                                      
##     PRE_PHQ_m (a1)   -0.138    0.119   -1.159    0.246   -0.138   -0.107
##   W1_PHQ_mean ~                                                         
##     IUS_B1W_c (b1)    0.153    0.071    2.161    0.031    0.153    0.153
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_PHQ_mean      -2.152    0.181  -11.873    0.000   -2.152   -2.171
##    .IUS_B1W_change    0.302    0.271    1.115    0.265    0.302    0.304
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_PHQ_mean       0.413    0.071    5.817    0.000    0.413    0.420
##    .IUS_B1W_change    0.979    0.154    6.359    0.000    0.979    0.989
## 
## R-Square:
##                    Estimate
##     W1_PHQ_mean       0.580
##     IUS_B1W_change    0.011
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.021    0.021   -1.010    0.312   -0.021   -0.016
##     direct            0.979    0.093   10.567    0.000    0.979    0.763
##     total             0.958    0.097    9.925    0.000    0.958    0.746

EC group at 1 week: pre PHQ to 1 week PHQ via change in IU

Mediation.PHQ.ECs.1W <-
  '#regressions
W1_PHQ_mean ~ c1 * PRE_PHQ_mean  
IUS_B1W_change ~ a1 * PRE_PHQ_mean 
W1_PHQ_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
PHQ.IUS.ECs.1W <- sem(Mediation.PHQ.ECs.1W, data=ECs_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(PHQ.IUS.ECs.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 23 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                            50
##   Number of missing patterns                         2
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_PHQ_mean ~                                                         
##     PRE_PHQ_m (c1)    1.011    0.078   13.005    0.000    1.011    0.736
##   IUS_B1W_change ~                                                      
##     PRE_PHQ_m (a1)    0.397    0.137    2.900    0.004    0.397    0.287
##   W1_PHQ_mean ~                                                         
##     IUS_B1W_c (b1)    0.182    0.075    2.431    0.015    0.182    0.183
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_PHQ_mean      -2.280    0.174  -13.078    0.000   -2.280   -2.327
##    .IUS_B1W_change   -0.896    0.277   -3.239    0.001   -0.896   -0.906
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_PHQ_mean       0.333    0.093    3.582    0.000    0.333    0.347
##    .IUS_B1W_change    0.896    0.187    4.789    0.000    0.896    0.918
## 
## R-Square:
##                    Estimate
##     W1_PHQ_mean       0.653
##     IUS_B1W_change    0.082
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.072    0.033    2.208    0.027    0.072    0.053
##     direct            1.011    0.078   13.005    0.000    1.011    0.736
##     total             1.083    0.073   14.812    0.000    1.083    0.789

Full sample at 1 month: Group to change in PHQ via change in IUS

Mediation.PHQchange.1M <-
  '#regressions
PHQ_B1M_change ~ c1 * Group  
IUS_B1M_change ~ a1 * Group 
PHQ_B1M_change ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.PHQ.1M <- sem(Mediation.PHQchange.1M, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.PHQ.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 15 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         4            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   PHQ_B1M_change ~                                                      
##     Group     (c1)   -0.075    0.073   -1.030    0.303   -0.075   -0.068
##   IUS_B1M_change ~                                                      
##     Group     (a1)   -0.177    0.072   -2.447    0.014   -0.177   -0.160
##   PHQ_B1M_change ~                                                      
##     IUS_B1M_c (b1)    0.212    0.092    2.298    0.022    0.212    0.212
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .PHQ_B1M_change    0.150    0.168    0.893    0.372    0.150    0.150
##    .IUS_B1M_change    0.350    0.154    2.269    0.023    0.350    0.352
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .PHQ_B1M_change    0.939    0.119    7.906    0.000    0.939    0.946
##    .IUS_B1M_change    0.962    0.110    8.719    0.000    0.962    0.974
## 
## R-Square:
##                    Estimate
##     PHQ_B1M_change    0.054
##     IUS_B1M_change    0.026
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.038    0.022   -1.674    0.094   -0.038   -0.034
##     direct           -0.075    0.073   -1.030    0.303   -0.075   -0.068
##     total            -0.113    0.073   -1.553    0.120   -0.113   -0.102

Intervention group at 1 month: pre PHQ to 1 month PHQ via change in IU

Mediation.PHQ.intervention.1M <-
  '#regressions
M1_PHQ_mean ~ c1 * PRE_PHQ_mean  
IUS_B1M_change ~ a1 * PRE_PHQ_mean 
M1_PHQ_mean ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
PHQ.IUS.intervention.1M <- sem(Mediation.PHQ.intervention.1M, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(PHQ.IUS.intervention.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 20 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         4
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1_PHQ_mean ~                                                         
##     PRE_PHQ_m (c1)    0.848    0.094    9.068    0.000    0.848    0.601
##   IUS_B1M_change ~                                                      
##     PRE_PHQ_m (a1)    0.007    0.136    0.051    0.959    0.007    0.005
##   M1_PHQ_mean ~                                                         
##     IUS_B1M_c (b1)    0.156    0.101    1.541    0.123    0.156    0.157
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_PHQ_mean      -1.993    0.225   -8.848    0.000   -1.993   -2.021
##    .IUS_B1M_change   -0.015    0.345   -0.044    0.965   -0.015   -0.015
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_PHQ_mean       0.596    0.103    5.777    0.000    0.596    0.613
##    .IUS_B1M_change    0.989    0.153    6.459    0.000    0.989    1.000
## 
## R-Square:
##                    Estimate
##     M1_PHQ_mean       0.387
##     IUS_B1M_change    0.000
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.001    0.021    0.051    0.959    0.001    0.001
##     direct            0.848    0.094    9.068    0.000    0.848    0.601
##     total             0.850    0.098    8.707    0.000    0.850    0.602

Psychoeducation group at 1 month: pre PHQ to 1 month PHQ via change in IU

Mediation.PHQ.psychoed.1M <-
  '#regressions
M1_PHQ_mean ~ c1 * PRE_PHQ_mean  
IUS_B1M_change ~ a1 * PRE_PHQ_mean 
M1_PHQ_mean ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
PHQ.IUS.psychoed.1M <- sem(Mediation.PHQ.psychoed.1M, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(PHQ.IUS.psychoed.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 23 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         4
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1_PHQ_mean ~                                                         
##     PRE_PHQ_m (c1)    0.690    0.116    5.928    0.000    0.690    0.537
##   IUS_B1M_change ~                                                      
##     PRE_PHQ_m (a1)   -0.123    0.135   -0.911    0.362   -0.123   -0.096
##   M1_PHQ_mean ~                                                         
##     IUS_B1M_c (b1)    0.198    0.106    1.877    0.061    0.198    0.198
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_PHQ_mean      -1.490    0.247   -6.032    0.000   -1.490   -1.500
##    .IUS_B1M_change    0.264    0.308    0.857    0.391    0.264    0.265
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_PHQ_mean       0.683    0.098    6.945    0.000    0.683    0.693
##    .IUS_B1M_change    0.979    0.162    6.061    0.000    0.979    0.991
## 
## R-Square:
##                    Estimate
##     M1_PHQ_mean       0.307
##     IUS_B1M_change    0.009
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.024    0.032   -0.768    0.442   -0.024   -0.019
##     direct            0.690    0.116    5.928    0.000    0.690    0.537
##     total             0.666    0.120    5.569    0.000    0.666    0.518

H3: IUS mediating change in GAD over time between groups

Full sample at 1 week: Group to change in GAD via change in IUS

Mediation.GADchange.1W <-
  '#regressions
GAD_B1W_change ~ c1 * Group  
IUS_B1W_change ~ a1 * Group 
GAD_B1W_change ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.GAD.1W <- sem(Mediation.GADchange.1W, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.GAD.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 11 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         3            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   GAD_B1W_change ~                                                      
##     Group     (c1)    0.006    0.074    0.084    0.933    0.006    0.006
##   IUS_B1W_change ~                                                      
##     Group     (a1)   -0.178    0.072   -2.487    0.013   -0.178   -0.160
##   GAD_B1W_change ~                                                      
##     IUS_B1W_c (b1)    0.217    0.078    2.798    0.005    0.217    0.217
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .GAD_B1W_change   -0.013    0.155   -0.086    0.931   -0.013   -0.013
##    .IUS_B1W_change    0.354    0.149    2.371    0.018    0.354    0.354
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .GAD_B1W_change    0.950    0.144    6.583    0.000    0.950    0.953
##    .IUS_B1W_change    0.970    0.120    8.068    0.000    0.970    0.974
## 
## R-Square:
##                    Estimate
##     GAD_B1W_change    0.047
##     IUS_B1W_change    0.026
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.039    0.021   -1.829    0.067   -0.039   -0.035
##     direct            0.006    0.074    0.084    0.933    0.006    0.006
##     total            -0.032    0.074   -0.441    0.659   -0.032   -0.029

Intervention group at 1 week: pre GAD to 1 week GAD via change in IU

Mediation.GAD.intervention.1W <-
  '#regressions
W1_GAD_mean ~ c1 * PRE_GAD_mean  
IUS_B1W_change ~ a1 * PRE_GAD_mean 
W1_GAD_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
GAD.IUS.intervention.1W <- sem(Mediation.GAD.intervention.1W, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(GAD.IUS.intervention.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 24 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         2
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_GAD_mean ~                                                         
##     PRE_GAD_m (c1)    0.835    0.104    8.048    0.000    0.835    0.654
##   IUS_B1W_change ~                                                      
##     PRE_GAD_m (a1)    0.018    0.135    0.137    0.891    0.018    0.014
##   W1_GAD_mean ~                                                         
##     IUS_B1W_c (b1)    0.095    0.095    1.002    0.316    0.095    0.095
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_GAD_mean      -1.941    0.211   -9.191    0.000   -1.941   -1.958
##    .IUS_B1W_change   -0.043    0.345   -0.124    0.901   -0.043   -0.043
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_GAD_mean       0.551    0.111    4.972    0.000    0.551    0.561
##    .IUS_B1W_change    0.990    0.206    4.814    0.000    0.990    1.000
## 
## R-Square:
##                    Estimate
##     W1_GAD_mean       0.439
##     IUS_B1W_change    0.000
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.002    0.012    0.141    0.888    0.002    0.001
##     direct            0.835    0.104    8.048    0.000    0.835    0.654
##     total             0.837    0.104    8.015    0.000    0.837    0.656

Psychoeducation group at 1 week: pre GAD to 1 week GAD via change in IU

Mediation.GAD.psychoed.1W <-
  '#regressions
W1_GAD_mean ~ c1 * PRE_GAD_mean  
IUS_B1W_change ~ a1 * PRE_GAD_mean 
W1_GAD_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
GAD.IUS.psychoed.1W <- sem(Mediation.GAD.psychoed.1W, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(GAD.IUS.psychoed.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 24 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         3
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_GAD_mean ~                                                         
##     PRE_GAD_m (c1)    0.873    0.082   10.652    0.000    0.873    0.731
##   IUS_B1W_change ~                                                      
##     PRE_GAD_m (a1)   -0.113    0.108   -1.043    0.297   -0.113   -0.094
##   W1_GAD_mean ~                                                         
##     IUS_B1W_c (b1)    0.173    0.052    3.338    0.001    0.173    0.174
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_GAD_mean      -1.944    0.180  -10.801    0.000   -1.944   -1.964
##    .IUS_B1W_change    0.251    0.260    0.966    0.334    0.251    0.253
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_GAD_mean       0.450    0.099    4.540    0.000    0.450    0.460
##    .IUS_B1W_change    0.981    0.155    6.334    0.000    0.981    0.991
## 
## R-Square:
##                    Estimate
##     W1_GAD_mean       0.540
##     IUS_B1W_change    0.009
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.020    0.019   -1.025    0.305   -0.020   -0.016
##     direct            0.873    0.082   10.652    0.000    0.873    0.731
##     total             0.853    0.086    9.923    0.000    0.853    0.714

EC group at 1 week: pre GAD to 1 week GAD via change in IU

Mediation.GAD.ECs.1W <-
  '#regressions
W1_GAD_mean ~ c1 * PRE_GAD_mean  
IUS_B1W_change ~ a1 * PRE_GAD_mean 
W1_GAD_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
GAD.IUS.ECs.1W <- sem(Mediation.GAD.ECs.1W, data=ECs_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(GAD.IUS.ECs.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 25 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                            50
##   Number of missing patterns                         2
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_GAD_mean ~                                                         
##     PRE_GAD_m (c1)    1.092    0.099   11.020    0.000    1.092    0.765
##   IUS_B1W_change ~                                                      
##     PRE_GAD_m (a1)    0.218    0.170    1.281    0.200    0.218    0.151
##   W1_GAD_mean ~                                                         
##     IUS_B1W_c (b1)    0.230    0.068    3.390    0.001    0.230    0.232
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_GAD_mean      -2.353    0.196  -11.991    0.000   -2.353   -2.404
##    .IUS_B1W_change   -0.470    0.355   -1.322    0.186   -0.470   -0.475
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_GAD_mean       0.294    0.066    4.479    0.000    0.294    0.307
##    .IUS_B1W_change    0.956    0.202    4.732    0.000    0.956    0.977
## 
## R-Square:
##                    Estimate
##     W1_GAD_mean       0.693
##     IUS_B1W_change    0.023
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.050    0.039    1.279    0.201    0.050    0.035
##     direct            1.092    0.099   11.020    0.000    1.092    0.765
##     total             1.142    0.101   11.286    0.000    1.142    0.800

Full sample at 1 month: Group to change in GAD via change in IUS

Mediation.GADchange.1M <-
  '#regressions
GAD_B1M_change ~ c1 * Group  
IUS_B1M_change ~ a1 * Group 
GAD_B1M_change ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.GAD.1M <- sem(Mediation.GADchange.1M, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.GAD.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 16 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         4            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   GAD_B1M_change ~                                                      
##     Group     (c1)   -0.046    0.073   -0.633    0.527   -0.046   -0.042
##   IUS_B1M_change ~                                                      
##     Group     (a1)   -0.176    0.072   -2.439    0.015   -0.176   -0.159
##   GAD_B1M_change ~                                                      
##     IUS_B1M_c (b1)    0.314    0.097    3.224    0.001    0.314    0.313
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .GAD_B1M_change    0.093    0.168    0.552    0.581    0.093    0.093
##    .IUS_B1M_change    0.347    0.154    2.256    0.024    0.347    0.350
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .GAD_B1M_change    0.890    0.111    8.009    0.000    0.890    0.896
##    .IUS_B1M_change    0.962    0.110    8.720    0.000    0.962    0.975
## 
## R-Square:
##                    Estimate
##     GAD_B1M_change    0.104
##     IUS_B1M_change    0.025
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.055    0.029   -1.897    0.058   -0.055   -0.050
##     direct           -0.046    0.073   -0.633    0.527   -0.046   -0.042
##     total            -0.102    0.073   -1.396    0.163   -0.102   -0.092

Intervention group at 1 month: pre GAD to 1 month GAD via change in IU

Mediation.GAD.intervention.1M <-
  '#regressions
M1_GAD_mean ~ c1 * PRE_GAD_mean  
IUS_B1M_change ~ a1 * PRE_GAD_mean 
M1_GAD_mean ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
GAD.IUS.intervention.1M <- sem(Mediation.GAD.intervention.1M, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(GAD.IUS.intervention.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 20 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         4
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1_GAD_mean ~                                                         
##     PRE_GAD_m (c1)    0.835    0.088    9.506    0.000    0.835    0.659
##   IUS_B1M_change ~                                                      
##     PRE_GAD_m (a1)   -0.010    0.131   -0.074    0.941   -0.010   -0.008
##   M1_GAD_mean ~                                                         
##     IUS_B1M_c (b1)    0.219    0.098    2.227    0.026    0.219    0.221
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_GAD_mean      -1.961    0.192  -10.194    0.000   -1.961   -1.994
##    .IUS_B1M_change    0.024    0.323    0.074    0.941    0.024    0.024
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_GAD_mean       0.502    0.084    5.954    0.000    0.502    0.518
##    .IUS_B1M_change    0.988    0.154    6.435    0.000    0.988    1.000
## 
## R-Square:
##                    Estimate
##     M1_GAD_mean       0.482
##     IUS_B1M_change    0.000
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.002    0.029   -0.073    0.942   -0.002   -0.002
##     direct            0.835    0.088    9.506    0.000    0.835    0.659
##     total             0.833    0.091    9.114    0.000    0.833    0.658

Psychoeducation group at 1 month: pre GAD to 1 month GAD via change in IU

Mediation.GAD.psychoed.1M <-
  '#regressions
M1_GAD_mean ~ c1 * PRE_GAD_mean  
IUS_B1M_change ~ a1 * PRE_GAD_mean 
M1_GAD_mean ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
GAD.IUS.psychoed.1M <- sem(Mediation.GAD.psychoed.1M, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(GAD.IUS.psychoed.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 21 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         4
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1_GAD_mean ~                                                         
##     PRE_GAD_m (c1)    0.702    0.093    7.565    0.000    0.702    0.582
##   IUS_B1M_change ~                                                      
##     PRE_GAD_m (a1)   -0.022    0.129   -0.173    0.862   -0.022   -0.019
##   M1_GAD_mean ~                                                         
##     IUS_B1M_c (b1)    0.318    0.098    3.241    0.001    0.318    0.316
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_GAD_mean      -1.524    0.196   -7.759    0.000   -1.524   -1.526
##    .IUS_B1M_change    0.043    0.299    0.143    0.886    0.043    0.043
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_GAD_mean       0.567    0.089    6.348    0.000    0.567    0.568
##    .IUS_B1M_change    0.988    0.167    5.927    0.000    0.988    1.000
## 
## R-Square:
##                    Estimate
##     M1_GAD_mean       0.432
##     IUS_B1M_change    0.000
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.007    0.041   -0.171    0.864   -0.007   -0.006
##     direct            0.702    0.093    7.565    0.000    0.702    0.582
##     total             0.695    0.106    6.545    0.000    0.695    0.576

H3: IUS mediating change in mood over time between groups

Full sample at post: Group to change in mood via change in IUS

Mediation.Moodchange.post <-
  '#regressions
Mood_BP_change ~ c1 * Group  
IUS_BP_change ~ a1 * Group 
Mood_BP_change ~ b1*IUS_BP_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.Mood.post <- sem(Mediation.Moodchange.post, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.Mood.post, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 15 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         3            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Mood_BP_change ~                                                      
##     Group     (c1)    0.086    0.070    1.226    0.220    0.086    0.077
##   IUS_BP_change ~                                                       
##     Group     (a1)   -0.162    0.070   -2.302    0.021   -0.162   -0.145
##   Mood_BP_change ~                                                      
##     IUS_BP_ch (b1)   -0.323    0.068   -4.736    0.000   -0.323   -0.323
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Mood_BP_change   -0.170    0.146   -1.164    0.244   -0.170   -0.170
##    .IUS_BP_change     0.321    0.138    2.327    0.020    0.321    0.321
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Mood_BP_change    0.879    0.148    5.935    0.000    0.879    0.883
##    .IUS_BP_change     0.975    0.123    7.932    0.000    0.975    0.979
## 
## R-Square:
##                    Estimate
##     Mood_BP_change    0.117
##     IUS_BP_change     0.021
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.052    0.023    2.243    0.025    0.052    0.047
##     direct            0.086    0.070    1.226    0.220    0.086    0.077
##     total             0.138    0.071    1.944    0.052    0.138    0.124

Intervention group at post: pre mood to post mood via change in IU

Mediation.Mood.intervention.post <-
  '#regressions
POST_mood_mean ~ c1 * PRE_mood_mean  
IUS_BP_change ~ a1 * PRE_mood_mean 
POST_mood_mean ~ b1*IUS_BP_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.intervention.post <- sem(Mediation.Mood.intervention.post, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.intervention.post, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 18 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         3
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   POST_mood_mean ~                                                      
##     PRE_md_mn (c1)    0.014    0.003    4.726    0.000    0.014    0.607
##   IUS_BP_change ~                                                       
##     PRE_md_mn (a1)    0.002    0.002    0.933    0.351    0.002    0.098
##   POST_mood_mean ~                                                      
##     IUS_BP_ch (b1)   -0.181    0.080   -2.254    0.024   -0.181   -0.181
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .POST_mood_mean   -0.416    0.148   -2.810    0.005   -0.416   -0.418
##    .IUS_BP_change    -0.065    0.108   -0.603    0.546   -0.065   -0.066
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .POST_mood_mean    0.613    0.128    4.800    0.000    0.613    0.620
##    .IUS_BP_change     0.980    0.183    5.351    0.000    0.980    0.990
## 
## R-Square:
##                    Estimate
##     POST_mood_mean    0.380
##     IUS_BP_change     0.010
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.000    0.001   -0.825    0.409   -0.000   -0.018
##     direct            0.014    0.003    4.726    0.000    0.014    0.607
##     total             0.014    0.003    4.731    0.000    0.014    0.589

Psychoeducation group at post: pre mood to post mood via change in IU

Mediation.Mood.psychoed.post <-
  '#regressions
POST_mood_mean ~ c1 * PRE_mood_mean  
IUS_BP_change ~ a1 * PRE_mood_mean 
POST_mood_mean ~ b1*IUS_BP_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.psychoed.post <- sem(Mediation.Mood.psychoed.post, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.psychoed.post, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 22 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         1
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   POST_mood_mean ~                                                      
##     PRE_md_mn (c1)    0.016    0.002    8.366    0.000    0.016    0.702
##   IUS_BP_change ~                                                       
##     PRE_md_mn (a1)    0.002    0.002    0.862    0.389    0.002    0.084
##   POST_mood_mean ~                                                      
##     IUS_BP_ch (b1)   -0.276    0.069   -3.986    0.000   -0.276   -0.276
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .POST_mood_mean   -0.595    0.114   -5.231    0.000   -0.595   -0.598
##    .IUS_BP_change    -0.071    0.139   -0.511    0.609   -0.071   -0.071
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .POST_mood_mean    0.460    0.074    6.193    0.000    0.460    0.464
##    .IUS_BP_change     0.984    0.192    5.136    0.000    0.984    0.993
## 
## R-Square:
##                    Estimate
##     POST_mood_mean    0.536
##     IUS_BP_change     0.007
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.001    0.001   -0.792    0.429   -0.001   -0.023
##     direct            0.016    0.002    8.366    0.000    0.016    0.702
##     total             0.015    0.002    7.039    0.000    0.015    0.679

EC group at post: pre mood to post mood via change in IU

Mediation.Mood.ECs.post <-
  '#regressions
POST_mood_mean ~ c1 * PRE_mood_mean  
IUS_BP_change ~ a1 * PRE_mood_mean 
POST_mood_mean ~ b1*IUS_BP_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.ECs.post <- sem(Mediation.Mood.ECs.post, data=ECs_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.ECs.post, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 25 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                            50
##   Number of missing patterns                         1
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   POST_mood_mean ~                                                      
##     PRE_md_mn (c1)    0.022    0.002   13.400    0.000    0.022    0.868
##   IUS_BP_change ~                                                       
##     PRE_md_mn (a1)    0.001    0.003    0.236    0.814    0.001    0.025
##   POST_mood_mean ~                                                      
##     IUS_BP_ch (b1)   -0.063    0.060   -1.052    0.293   -0.063   -0.063
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .POST_mood_mean   -0.895    0.104   -8.601    0.000   -0.895   -0.904
##    .IUS_BP_change    -0.026    0.178   -0.147    0.883   -0.026   -0.026
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .POST_mood_mean    0.240    0.063    3.801    0.000    0.240    0.245
##    .IUS_BP_change     0.979    0.226    4.336    0.000    0.979    0.999
## 
## R-Square:
##                    Estimate
##     POST_mood_mean    0.755
##     IUS_BP_change     0.001
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.000    0.000   -0.231    0.817   -0.000   -0.002
##     direct            0.022    0.002   13.400    0.000    0.022    0.868
##     total             0.022    0.002   13.364    0.000    0.022    0.866

Full sample at 1 week: Group to change in mood via change in IUS

Mediation.Moodchange.1W <-
  '#regressions
Mood_B1W_change ~ c1 * Group  
IUS_B1W_change ~ a1 * Group 
Mood_B1W_change ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.Mood.1W <- sem(Mediation.Moodchange.1W, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.Mood.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 17 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         3            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Mood_B1W_change ~                                                      
##     Group     (c1)    -0.030    0.074   -0.400    0.689   -0.030   -0.027
##   IUS_B1W_change ~                                                       
##     Group     (a1)    -0.178    0.072   -2.487    0.013   -0.178   -0.160
##   Mood_B1W_change ~                                                      
##     IUS_B1W_c (b1)    -0.201    0.071   -2.812    0.005   -0.201   -0.201
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Mood_B1W_chang    0.061    0.161    0.375    0.708    0.061    0.061
##    .IUS_B1W_change    0.354    0.149    2.371    0.018    0.354    0.354
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Mood_B1W_chang    0.957    0.116    8.240    0.000    0.957    0.961
##    .IUS_B1W_change    0.970    0.120    8.068    0.000    0.970    0.974
## 
## R-Square:
##                    Estimate
##     Mood_B1W_chang    0.039
##     IUS_B1W_change    0.026
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.036    0.017    2.128    0.033    0.036    0.032
##     direct           -0.030    0.074   -0.400    0.689   -0.030   -0.027
##     total             0.006    0.072    0.086    0.931    0.006    0.006

Intervention group at 1 week: pre mood to 1 week mood via change in IU

Mediation.Mood.intervention.1W <-
  '#regressions
W1_mood_mean ~ c1 * PRE_mood_mean  
IUS_B1W_change ~ a1 * PRE_mood_mean 
W1_mood_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.intervention.1W <- sem(Mediation.Mood.intervention.1W, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.intervention.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 20 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         3
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_mood_mean ~                                                        
##     PRE_md_mn (c1)    0.011    0.002    4.441    0.000    0.011    0.458
##   IUS_B1W_change ~                                                      
##     PRE_md_mn (a1)    0.000    0.002    0.143    0.886    0.000    0.015
##   W1_mood_mean ~                                                        
##     IUS_B1W_c (b1)   -0.115    0.097   -1.183    0.237   -0.115   -0.115
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_mood_mean     -0.323    0.109   -2.958    0.003   -0.323   -0.325
##    .IUS_B1W_change   -0.011    0.095   -0.111    0.912   -0.011   -0.011
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_mood_mean      0.768    0.155    4.945    0.000    0.768    0.779
##    .IUS_B1W_change    0.990    0.207    4.777    0.000    0.990    1.000
## 
## R-Square:
##                    Estimate
##     W1_mood_mean      0.221
##     IUS_B1W_change    0.000
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.000    0.000   -0.145    0.885   -0.000   -0.002
##     direct            0.011    0.002    4.441    0.000    0.011    0.458
##     total             0.011    0.002    4.294    0.000    0.011    0.456

Psychoeducation group at 1 week: pre mood to 1 week mood via change in IU

Mediation.Mood.psychoed.1W <-
  '#regressions
W1_mood_mean ~ c1 * PRE_mood_mean  
IUS_B1W_change ~ a1 * PRE_mood_mean 
W1_mood_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.psychoed.1W <- sem(Mediation.Mood.psychoed.1W, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.psychoed.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 14 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         3
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_mood_mean ~                                                        
##     PRE_md_mn (c1)    0.010    0.002    4.750    0.000    0.010    0.459
##   IUS_B1W_change ~                                                      
##     PRE_md_mn (a1)    0.004    0.002    1.598    0.110    0.004    0.167
##   W1_mood_mean ~                                                        
##     IUS_B1W_c (b1)   -0.200    0.092   -2.159    0.031   -0.200   -0.200
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_mood_mean     -0.385    0.132   -2.912    0.004   -0.385   -0.387
##    .IUS_B1W_change   -0.139    0.148   -0.938    0.348   -0.139   -0.140
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_mood_mean      0.769    0.120    6.418    0.000    0.769    0.780
##    .IUS_B1W_change    0.963    0.149    6.456    0.000    0.963    0.972
## 
## R-Square:
##                    Estimate
##     W1_mood_mean      0.220
##     IUS_B1W_change    0.028
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.001    0.001   -1.212    0.225   -0.001   -0.033
##     direct            0.010    0.002    4.750    0.000    0.010    0.459
##     total             0.010    0.002    4.062    0.000    0.010    0.426

EC group at 1 week: pre mood to 1 week mood via change in IU

Mediation.Mood.ECs.1W <-
  '#regressions
W1_mood_mean ~ c1 * PRE_mood_mean  
IUS_B1W_change ~ a1 * PRE_mood_mean 
W1_mood_mean ~ b1*IUS_B1W_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.ECs.1W <- sem(Mediation.Mood.ECs.1W, data=ECs_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.ECs.1W, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 18 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                            50
##   Number of missing patterns                         2
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   W1_mood_mean ~                                                        
##     PRE_md_mn (c1)    0.011    0.003    3.198    0.001    0.011    0.435
##   IUS_B1W_change ~                                                      
##     PRE_md_mn (a1)    0.006    0.003    2.161    0.031    0.006    0.249
##   W1_mood_mean ~                                                        
##     IUS_B1W_c (b1)   -0.042    0.130   -0.320    0.749   -0.042   -0.042
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_mood_mean     -0.447    0.181   -2.475    0.013   -0.447   -0.454
##    .IUS_B1W_change   -0.257    0.179   -1.431    0.152   -0.257   -0.260
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .W1_mood_mean      0.795    0.129    6.163    0.000    0.795    0.818
##    .IUS_B1W_change    0.916    0.188    4.880    0.000    0.916    0.938
## 
## R-Square:
##                    Estimate
##     W1_mood_mean      0.182
##     IUS_B1W_change    0.062
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.000    0.001   -0.313    0.754   -0.000   -0.010
##     direct            0.011    0.003    3.198    0.001    0.011    0.435
##     total             0.011    0.003    3.237    0.001    0.011    0.425

Full sample at 1 month: Group to change in mood via change in IUS

Mediation.Moodchange.1M <-
  '#regressions
Mood_B1M_change ~ c1 * Group  
IUS_B1M_change ~ a1 * Group 
Mood_B1M_change ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
group.IUS.Mood.1M <- sem(Mediation.Moodchange.1M, data=changeinvariables, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)
## Warning in lav_data_full(data = data, group = group, cluster = cluster, : lavaan WARNING: 3 cases were deleted due to missing values in 
##        exogenous variable(s), while fixed.x = TRUE.
summary(group.IUS.Mood.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 13 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##                                                   Used       Total
##   Number of observations                           259         262
##   Number of missing patterns                         4            
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                     Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   Mood_B1M_change ~                                                      
##     Group     (c1)    -0.049    0.075   -0.646    0.519   -0.049   -0.044
##   IUS_B1M_change ~                                                       
##     Group     (a1)    -0.179    0.072   -2.473    0.013   -0.179   -0.161
##   Mood_B1M_change ~                                                      
##     IUS_B1M_c (b1)    -0.253    0.090   -2.831    0.005   -0.253   -0.253
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Mood_B1M_chang    0.095    0.167    0.569    0.569    0.095    0.096
##    .IUS_B1M_change    0.351    0.154    2.276    0.023    0.351    0.353
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .Mood_B1M_chang    0.933    0.114    8.206    0.000    0.933    0.938
##    .IUS_B1M_change    0.963    0.110    8.721    0.000    0.963    0.974
## 
## R-Square:
##                    Estimate
##     Mood_B1M_chang    0.062
##     IUS_B1M_change    0.026
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1         0.045    0.022    2.011    0.044    0.045    0.041
##     direct           -0.049    0.075   -0.646    0.519   -0.049   -0.044
##     total            -0.003    0.073   -0.044    0.965   -0.003   -0.003

Intervention group at 1 month: pre mood to 1 month mood via change in IU

Mediation.Mood.intervention.1M <-
  '#regressions
M1_mood_mean ~ c1 * PRE_mood_mean  
IUS_B1M_change ~ a1 * PRE_mood_mean 
M1_mood_mean ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.intervention.1M <- sem(Mediation.Mood.intervention.1M, data=Intervention_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.intervention.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 19 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           103
##   Number of missing patterns                         4
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1_mood_mean ~                                                        
##     PRE_md_mn (c1)    0.010    0.002    4.132    0.000    0.010    0.417
##   IUS_B1M_change ~                                                      
##     PRE_md_mn (a1)    0.002    0.002    0.860    0.390    0.002    0.082
##   M1_mood_mean ~                                                        
##     IUS_B1M_c (b1)   -0.204    0.092   -2.223    0.026   -0.204   -0.205
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_mood_mean     -0.290    0.115   -2.531    0.011   -0.290   -0.293
##    .IUS_B1M_change   -0.061    0.111   -0.551    0.581   -0.061   -0.062
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_mood_mean      0.784    0.138    5.673    0.000    0.784    0.798
##    .IUS_B1M_change    0.983    0.154    6.363    0.000    0.983    0.993
## 
## R-Square:
##                    Estimate
##     M1_mood_mean      0.202
##     IUS_B1M_change    0.007
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.000    0.001   -0.747    0.455   -0.000   -0.017
##     direct            0.010    0.002    4.132    0.000    0.010    0.417
##     total             0.009    0.002    3.802    0.000    0.009    0.400

Psychoeducation group at 1 month: pre mood to 1 month mood via change in IU

Mediation.Mood.psychoed.1M <-
  '#regressions
M1_mood_mean ~ c1 * PRE_mood_mean  
IUS_B1M_change ~ a1 * PRE_mood_mean 
M1_mood_mean ~ b1*IUS_B1M_change
indirect1 := a1 * b1
direct := c1
total := c1 + (a1 * b1)
'
Mood.IUS.psychoed.1M <- sem(Mediation.Mood.psychoed.1M, data=Psychoed_group, std.lv=T, std.ov=T, missing='fiml', se='robust', estimator='mlr', auto.var = T)

summary(Mood.IUS.psychoed.1M, standardized=T, rsquare=T)
## lavaan 0.6.15 ended normally after 15 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                         7
## 
##   Number of observations                           106
##   Number of missing patterns                         4
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                 0.000       0.000
##   Degrees of freedom                                 0           0
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   M1_mood_mean ~                                                        
##     PRE_md_mn (c1)    0.010    0.002    4.988    0.000    0.010    0.444
##   IUS_B1M_change ~                                                      
##     PRE_md_mn (a1)    0.003    0.002    1.162    0.245    0.003    0.128
##   M1_mood_mean ~                                                        
##     IUS_B1M_c (b1)   -0.209    0.106   -1.981    0.048   -0.209   -0.210
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_mood_mean     -0.368    0.122   -3.008    0.003   -0.368   -0.372
##    .IUS_B1M_change   -0.110    0.142   -0.777    0.437   -0.110   -0.111
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .M1_mood_mean      0.764    0.092    8.285    0.000    0.764    0.782
##    .IUS_B1M_change    0.971    0.159    6.127    0.000    0.971    0.984
## 
## R-Square:
##                    Estimate
##     M1_mood_mean      0.218
##     IUS_B1M_change    0.016
## 
## Defined Parameters:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##     indirect1        -0.001    0.001   -0.841    0.400   -0.001   -0.027
##     direct            0.010    0.002    4.988    0.000    0.010    0.444
##     total             0.009    0.002    4.152    0.000    0.009    0.418

Exploratory analyses

E1: Growth mindsets moderating the association between group and PHQ changes across time

# 1 week
moderation_GM_PHQ_1W <- lm(PHQ_B1W_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_PHQ_1W)
## 
## Call:
## lm(formula = PHQ_B1W_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.26964 -0.28340  0.05757  0.34160  1.55997 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)
## (Intercept)            -0.19467    0.13328  -1.461    0.145
## GroupECs               -0.08329    0.22250  -0.374    0.708
## GroupIntervention       0.14585    0.18964   0.769    0.443
## B_GM                    0.02577    0.03854   0.669    0.504
## GroupECs:B_GM           0.06963    0.06937   1.004    0.316
## GroupIntervention:B_GM -0.07115    0.05679  -1.253    0.211
## 
## Residual standard error: 0.5622 on 245 degrees of freedom
##   (11 observations deleted due to missingness)
## Multiple R-squared:  0.02877,    Adjusted R-squared:  0.008945 
## F-statistic: 1.451 on 5 and 245 DF,  p-value: 0.2066
anova(moderation_GM_PHQ_1W)
## Analysis of Variance Table
## 
## Response: PHQ_B1W_change
##             Df Sum Sq Mean Sq F value Pr(>F)
## Group        2  0.913 0.45669  1.4451 0.2377
## B_GM         1  0.081 0.08117  0.2568 0.6128
## Group:B_GM   2  1.299 0.64939  2.0548 0.1303
## Residuals  245 77.429 0.31604
# 1 month
moderation_GM_PHQ_1M <- lm(PHQ_B1M_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_PHQ_1M)
## 
## Call:
## lm(formula = PHQ_B1M_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1147 -0.3524  0.0226  0.4099  2.4417 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)  
## (Intercept)            -0.35353    0.18223  -1.940   0.0539 .
## GroupIntervention       0.06814    0.25254   0.270   0.7876  
## B_GM                    0.06864    0.05310   1.293   0.1978  
## GroupIntervention:B_GM -0.07362    0.07681  -0.958   0.3391  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7148 on 181 degrees of freedom
##   (77 observations deleted due to missingness)
## Multiple R-squared:  0.02182,    Adjusted R-squared:  0.005611 
## F-statistic: 1.346 on 3 and 181 DF,  p-value: 0.2609
anova(moderation_GM_PHQ_1M)
## Analysis of Variance Table
## 
## Response: PHQ_B1M_change
##             Df Sum Sq Mean Sq F value Pr(>F)
## Group        1  1.205 1.20540  2.3592 0.1263
## B_GM         1  0.389 0.38854  0.7605 0.3843
## Group:B_GM   1  0.469 0.46937  0.9187 0.3391
## Residuals  181 92.479 0.51093

E1: Growth mindsets moderating the association between group and GAD changes across time

# 1 week
moderation_GM_GAD_1W <- lm(GAD_B1W_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_GAD_1W)
## 
## Call:
## lm(formula = GAD_B1W_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.6688 -0.2771  0.0372  0.2975  2.0876 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)  
## (Intercept)             0.12790    0.14686   0.871   0.3847  
## GroupECs               -0.33642    0.24517  -1.372   0.1713  
## GroupIntervention      -0.11471    0.20896  -0.549   0.5835  
## B_GM                   -0.06983    0.04246  -1.645   0.1013  
## GroupECs:B_GM           0.16081    0.07644   2.104   0.0364 *
## GroupIntervention:B_GM  0.01944    0.06258   0.311   0.7563  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6195 on 245 degrees of freedom
##   (11 observations deleted due to missingness)
## Multiple R-squared:  0.034,  Adjusted R-squared:  0.01429 
## F-statistic: 1.725 on 5 and 245 DF,  p-value: 0.1295
anova(moderation_GM_GAD_1W)
## Analysis of Variance Table
## 
## Response: GAD_B1W_change
##             Df Sum Sq Mean Sq F value  Pr(>F)  
## Group        2  1.024 0.51189  1.3340 0.26533  
## B_GM         1  0.483 0.48273  1.2580 0.26313  
## Group:B_GM   2  1.803 0.90129  2.3488 0.09763 .
## Residuals  245 94.014 0.38373                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 1 month
moderation_GM_PHQ_1M <- lm(GAD_B1M_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_PHQ_1M)
## 
## Call:
## lm(formula = GAD_B1M_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3509 -0.3953  0.1163  0.3634  2.3634 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)
## (Intercept)            -0.17441    0.18391  -0.948    0.344
## GroupIntervention       0.06139    0.25487   0.241    0.810
## B_GM                    0.01935    0.05359   0.361    0.718
## GroupIntervention:B_GM -0.07083    0.07752  -0.914    0.362
## 
## Residual standard error: 0.7214 on 181 degrees of freedom
##   (77 observations deleted due to missingness)
## Multiple R-squared:  0.01559,    Adjusted R-squared:  -0.0007304 
## F-statistic: 0.9552 on 3 and 181 DF,  p-value: 0.4152
anova(moderation_GM_PHQ_1M)
## Analysis of Variance Table
## 
## Response: GAD_B1M_change
##             Df Sum Sq Mean Sq F value Pr(>F)
## Group        1  0.984 0.98388  1.8906 0.1708
## B_GM         1  0.073 0.07296  0.1402 0.7085
## Group:B_GM   1  0.434 0.43448  0.8349 0.3621
## Residuals  181 94.193 0.52041

E1: Growth mindsets moderating the association between group and mood changes across time

# post
moderation_GM_mood_BP <- lm(Mood_BP_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_mood_BP)
## 
## Call:
## lm(formula = Mood_BP_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -72.57 -19.14  -3.97  15.23 171.32 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)   
## (Intercept)             23.2623     7.5685   3.074  0.00235 **
## GroupECs               -31.6421    12.6179  -2.508  0.01278 * 
## GroupIntervention        7.2041    10.6547   0.676  0.49957   
## B_GM                    -1.0475     2.1943  -0.477  0.63353   
## GroupECs:B_GM            4.0985     3.9542   1.036  0.30097   
## GroupIntervention:B_GM   0.6891     3.2076   0.215  0.83007   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.17 on 252 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.1039, Adjusted R-squared:  0.08617 
## F-statistic: 5.847 on 5 and 252 DF,  p-value: 3.945e-05
anova(moderation_GM_mood_BP)
## Analysis of Variance Table
## 
## Response: Mood_BP_change
##             Df Sum Sq Mean Sq F value    Pr(>F)    
## Group        2  29097 14548.3 14.0609 1.625e-06 ***
## B_GM         1      0     0.0  0.0000    0.9988    
## Group:B_GM   2   1150   575.1  0.5558    0.5743    
## Residuals  252 260736  1034.7                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# 1 week
moderation_GM_mood_1W <- lm(Mood_B1W_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_mood_1W)
## 
## Call:
## lm(formula = Mood_B1W_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -185.320  -23.963    2.028   25.016  185.316 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)
## (Intercept)              0.3130    11.2877   0.028    0.978
## GroupECs               -15.5416    18.8441  -0.825    0.410
## GroupIntervention        0.8914    16.0669   0.055    0.956
## B_GM                    -2.1258     3.2638  -0.651    0.515
## GroupECs:B_GM            2.3073     5.8749   0.393    0.695
## GroupIntervention:B_GM  -0.2204     4.8097  -0.046    0.963
## 
## Residual standard error: 47.61 on 244 degrees of freedom
##   (12 observations deleted due to missingness)
## Multiple R-squared:  0.00881,    Adjusted R-squared:  -0.0115 
## F-statistic: 0.4338 on 5 and 244 DF,  p-value: 0.8248
anova(moderation_GM_mood_1W)
## Analysis of Variance Table
## 
## Response: Mood_B1W_change
##             Df Sum Sq Mean Sq F value Pr(>F)
## Group        2   2952  1476.0  0.6511 0.5224
## B_GM         1   1516  1515.6  0.6686 0.4143
## Group:B_GM   2    449   224.5  0.0990 0.9057
## Residuals  244 553135  2266.9
# 1 month
moderation_GM_mood_1W <- lm(Mood_B1M_change ~ Group*B_GM, data = changeinvariables)
summary(moderation_GM_mood_1W)
## 
## Call:
## lm(formula = Mood_B1M_change ~ Group * B_GM, data = changeinvariables)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -150.984  -27.840    3.612   26.586  183.538 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)
## (Intercept)              -2.407     12.840  -0.187    0.851
## GroupIntervention       -14.301     17.795  -0.804    0.423
## B_GM                     -1.226      3.742  -0.328    0.744
## GroupIntervention:B_GM    4.774      5.413   0.882    0.379
## 
## Residual standard error: 50.37 on 181 degrees of freedom
##   (77 observations deleted due to missingness)
## Multiple R-squared:  0.005127,   Adjusted R-squared:  -0.01136 
## F-statistic: 0.3109 on 3 and 181 DF,  p-value: 0.8175
anova(moderation_GM_mood_1W)
## Analysis of Variance Table
## 
## Response: Mood_B1M_change
##             Df Sum Sq Mean Sq F value Pr(>F)
## Group        1      6    5.81  0.0023 0.9619
## B_GM         1    387  386.58  0.1524 0.6967
## Group:B_GM   1   1974 1973.85  0.7781 0.3789
## Residuals  181 459164 2536.82

E2: Association between IUS and baseline functional impairment

# Total FI scale
PRE_IUS_FI_lm <- lm(PRE_IUS_mean ~ PRE_FI_mean, data = Full_data_all)
summary(PRE_IUS_FI_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ PRE_FI_mean, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.65716 -0.35317  0.03226  0.41609  1.29993 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.85416    0.14999   12.36   <2e-16 ***
## PRE_FI_mean  0.54292    0.04715   11.51   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.602 on 257 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.3403, Adjusted R-squared:  0.3377 
## F-statistic: 132.6 on 1 and 257 DF,  p-value: < 2.2e-16
anova(PRE_IUS_FI_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##              Df Sum Sq Mean Sq F value    Pr(>F)    
## PRE_FI_mean   1 48.049  48.049  132.57 < 2.2e-16 ***
## Residuals   257 93.150   0.362                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Friends item
PRE_IUS_friends_lm <- lm(PRE_IUS_mean ~ B_FI_friends, data = Full_data_all)
summary(PRE_IUS_friends_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_FI_friends, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.23660 -0.41867  0.04736  0.49799  1.59674 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    2.7891     0.1163  23.983  < 2e-16 ***
## B_FI_friends   0.2654     0.0390   6.805 7.12e-11 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6833 on 256 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.1532, Adjusted R-squared:  0.1499 
## F-statistic: 46.31 on 1 and 256 DF,  p-value: 7.115e-11
anova(PRE_IUS_friends_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##               Df  Sum Sq Mean Sq F value    Pr(>F)    
## B_FI_friends   1  21.623 21.6233  46.313 7.115e-11 ***
## Residuals    256 119.526  0.4669                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Strangers item
PRE_IUS_strangers_lm <- lm(PRE_IUS_mean ~ B_FI_strangers, data = Full_data_all)
summary(PRE_IUS_strangers_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_FI_strangers, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.32537 -0.41938  0.08596  0.58062  1.67997 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     2.89268    0.14461  20.003  < 2e-16 ***
## B_FI_strangers  0.17201    0.03746   4.592 6.88e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7133 on 256 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.07611,    Adjusted R-squared:  0.0725 
## F-statistic: 21.09 on 1 and 256 DF,  p-value: 6.881e-06
anova(PRE_IUS_strangers_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##                 Df  Sum Sq Mean Sq F value    Pr(>F)    
## B_FI_strangers   1  10.729 10.7295  21.089 6.881e-06 ***
## Residuals      256 130.245  0.5088                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Work item
PRE_IUS_work_lm <- lm(PRE_IUS_mean ~ B_FI_work, data = Full_data_all)
summary(PRE_IUS_work_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_FI_work, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.75679 -0.36400 -0.00679  0.48724  1.57058 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.50081    0.12127  20.621   <2e-16 ***
## B_FI_work    0.33930    0.03772   8.996   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6443 on 243 degrees of freedom
##   (17 observations deleted due to missingness)
## Multiple R-squared:  0.2498, Adjusted R-squared:  0.2468 
## F-statistic: 80.93 on 1 and 243 DF,  p-value: < 2.2e-16
anova(PRE_IUS_work_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##            Df Sum Sq Mean Sq F value    Pr(>F)    
## B_FI_work   1  33.60  33.600  80.931 < 2.2e-16 ***
## Residuals 243 100.89   0.415                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Education item
PRE_IUS_education_lm <- lm(PRE_IUS_mean ~ B_FI_education, data = Full_data_all)
summary(PRE_IUS_education_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_FI_education, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.91386 -0.42064 -0.00397  0.49433  1.49942 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     2.74380    0.11511  23.836  < 2e-16 ***
## B_FI_education  0.25339    0.03499   7.241 5.53e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6806 on 249 degrees of freedom
##   (11 observations deleted due to missingness)
## Multiple R-squared:  0.1739, Adjusted R-squared:  0.1706 
## F-statistic: 52.43 on 1 and 249 DF,  p-value: 5.534e-12
anova(PRE_IUS_education_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##                 Df  Sum Sq Mean Sq F value    Pr(>F)    
## B_FI_education   1  24.291 24.2910  52.432 5.534e-12 ***
## Residuals      249 115.358  0.4633                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Hobbies item
PRE_IUS_hobbies_lm <- lm(PRE_IUS_mean ~ B_FI_hobbies, data = Full_data_all)
summary(PRE_IUS_hobbies_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_FI_hobbies, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.95109 -0.46329  0.00824  0.44931  1.46558 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   2.76816    0.10692  25.889  < 2e-16 ***
## B_FI_hobbies  0.26627    0.03461   7.693 3.12e-13 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6692 on 256 degrees of freedom
##   (4 observations deleted due to missingness)
## Multiple R-squared:  0.1878, Adjusted R-squared:  0.1846 
## F-statistic: 59.18 on 1 and 256 DF,  p-value: 3.115e-13
anova(PRE_IUS_hobbies_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##               Df  Sum Sq Mean Sq F value    Pr(>F)    
## B_FI_hobbies   1  26.502 26.5015  59.176 3.115e-13 ***
## Residuals    256 114.647  0.4478                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

E2: Change in functional impairment over time across groups

# Merging across timepoints
FI_alltimepoints <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_FI_mean", "W1_FI_mean", "M1_FI_mean")
## Formatting table as needed
FI_alltimepoints_long <- FI_alltimepoints %>%
  pivot_longer(cols = c(PRE_FI_mean, W1_FI_mean, M1_FI_mean),
               names_to = "Time",
               values_to = "FI_Score")
FI_MEM <- lmer(FI_Score ~ Group * Time + (1|ID), data = FI_alltimepoints_long, REML = TRUE)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(FI_MEM)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: FI_Score ~ Group * Time + (1 | ID)
##    Data: FI_alltimepoints_long
## 
## REML criterion at convergence: 1462.7
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -3.1207 -0.5483 -0.0128  0.4985  3.6880 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4039   0.6355  
##  Residual             0.2515   0.5015  
## Number of obs: 696, groups:  ID, 259
## 
## Fixed effects:
##                                     Estimate Std. Error         df t value
## (Intercept)                         2.900304   0.081284 455.421328  35.681
## GroupECs                           -0.005739   0.140467 429.427211  -0.041
## GroupIntervention                   0.001562   0.115645 454.287081   0.014
## TimePRE_FI_mean                     0.144980   0.071898 441.298219   2.016
## TimeW1_FI_mean                      0.096852   0.072443 441.328529   1.337
## GroupECs:TimePRE_FI_mean           -0.067544   0.123472 439.067166  -0.547
## GroupIntervention:TimePRE_FI_mean   0.122249   0.102257 440.789575   1.196
## GroupIntervention:TimeW1_FI_mean   -0.047668   0.103177 441.702755  -0.462
##                                   Pr(>|t|)    
## (Intercept)                         <2e-16 ***
## GroupECs                            0.9674    
## GroupIntervention                   0.9892    
## TimePRE_FI_mean                     0.0444 *  
## TimeW1_FI_mean                      0.1819    
## GroupECs:TimePRE_FI_mean            0.5846    
## GroupIntervention:TimePRE_FI_mean   0.2325    
## GroupIntervention:TimeW1_FI_mean    0.6443    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TPRE_F TW1_FI GEC:TP GI:TPR
## GroupECs    -0.335                                          
## GrpIntrvntn -0.703  0.235                                   
## TmPRE_FI_mn -0.479  0.001  0.336                            
## TimW1_FI_mn -0.473 -0.242  0.332  0.535                     
## GEC:TPRE_FI  0.001 -0.452 -0.001 -0.269  0.275              
## GI:TPRE_FI_  0.336 -0.001 -0.477 -0.703 -0.376  0.189       
## GrI:TW1_FI_  0.332  0.170 -0.472 -0.375 -0.702 -0.193  0.534
## fit warnings:
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
anova  (FI_MEM)
## Missing cells for: GroupECs:TimeM1_FI_mean.  
## Interpret type III hypotheses with care.
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value   Pr(>F)   
## Group      0.0842 0.04211     2 270.90  0.1674 0.845917   
## Time       3.1983 1.59915     2 440.51  6.3583 0.001896 **
## Group:Time 1.2338 0.41126     3 439.56  1.6352 0.180500   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(FI_MEM)
  FI Score
Predictors Estimates CI p
(Intercept) 2.90 2.74 – 3.06 <0.001
Group [ECs] -0.01 -0.28 – 0.27 0.967
Group [Intervention] 0.00 -0.23 – 0.23 0.989
Time [PRE_FI_mean] 0.14 0.00 – 0.29 0.044
Time [W1_FI_mean] 0.10 -0.05 – 0.24 0.182
Group [ECs] × Time
[PRE_FI_mean]
-0.07 -0.31 – 0.17 0.585
Group [Intervention] ×
Time [PRE_FI_mean]
0.12 -0.08 – 0.32 0.232
Group [Intervention] ×
Time [W1_FI_mean]
-0.05 -0.25 – 0.15 0.644
Random Effects
σ2 0.25
τ00 ID 0.40
ICC 0.62
N ID 259
Observations 696
Marginal R2 / Conditional R2 0.011 / 0.621
parameters::standardise_parameters(FI_MEM)
## fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
## # Standardization method: refit
## 
## Parameter                         | Std. Coef. |        95% CI
## --------------------------------------------------------------
## (Intercept)                       |      -0.12 | [-0.31, 0.08]
## GroupECs                          |  -7.05e-03 | [-0.35, 0.33]
## GroupIntervention                 |   1.92e-03 | [-0.28, 0.28]
## TimePRE_FI_mean                   |       0.18 | [ 0.00, 0.35]
## TimeW1_FI_mean                    |       0.12 | [-0.06, 0.29]
## GroupECs:TimePRE_FI_mean          |      -0.08 | [-0.38, 0.21]
## GroupIntervention:TimePRE_FI_mean |       0.15 | [-0.10, 0.40]
## GroupIntervention:TimeW1_FI_mean  |      -0.06 | [-0.31, 0.19]

Baseline to 1W

# Merging across timepoints
FI_B1W <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_FI_mean", "W1_FI_mean")
## Formatting table as needed
FI_B1W_long <- FI_B1W %>%
  pivot_longer(cols = c(PRE_FI_mean, W1_FI_mean),
               names_to = "Time",
               values_to = "FI_Score")
FI_MEM_B1W <- lmer(FI_Score ~ Group * Time + (1|ID), data = FI_B1W_long, REML = TRUE)
summary(FI_MEM_B1W)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: FI_Score ~ Group * Time + (1 | ID)
##    Data: FI_B1W_long
## 
## REML criterion at convergence: 1123
## 
## Scaled residuals: 
##     Min      1Q  Median      3Q     Max 
## -2.8980 -0.5129  0.0173  0.4814  2.6754 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.3742   0.6117  
##  Residual             0.2617   0.5115  
## Number of obs: 510, groups:  ID, 259
## 
## Fixed effects:
##                                   Estimate Std. Error        df t value
## (Intercept)                        3.04528    0.07745 376.89895  39.319
## GroupECs                          -0.07328    0.13681 376.89895  -0.536
## GroupIntervention                  0.12381    0.11033 376.89895   1.122
## TimeW1_FI_mean                    -0.05100    0.07107 251.29934  -0.718
## GroupECs:TimeW1_FI_mean            0.07062    0.12596 251.96627   0.561
## GroupIntervention:TimeW1_FI_mean  -0.16399    0.10126 251.33420  -1.620
##                                  Pr(>|t|)    
## (Intercept)                        <2e-16 ***
## GroupECs                            0.592    
## GroupIntervention                   0.262    
## TimeW1_FI_mean                      0.474    
## GroupECs:TimeW1_FI_mean             0.576    
## GroupIntervention:TimeW1_FI_mean    0.107    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpECs GrpInt TW1_FI GEC:TW
## GroupECs    -0.566                            
## GrpIntrvntn -0.702  0.397                     
## TimW1_FI_mn -0.448  0.254  0.315              
## GEC:TW1_FI_  0.253 -0.447 -0.178 -0.564       
## GrI:TW1_FI_  0.315 -0.178 -0.448 -0.702  0.396
anova  (FI_MEM_B1W)
## Type III Analysis of Variance Table with Satterthwaite's method
##             Sum Sq Mean Sq NumDF  DenDF F value  Pr(>F)  
## Group      0.11820 0.05910     2 256.53  0.2259 0.79799  
## Time       0.75402 0.75402     1 251.82  2.8815 0.09084 .
## Group:Time 1.13482 0.56741     2 251.72  2.1684 0.11650  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(FI_MEM_B1W)
  FI Score
Predictors Estimates CI p
(Intercept) 3.05 2.89 – 3.20 <0.001
Group [ECs] -0.07 -0.34 – 0.20 0.592
Group [Intervention] 0.12 -0.09 – 0.34 0.262
Time [W1_FI_mean] -0.05 -0.19 – 0.09 0.473
Group [ECs] × Time
[W1_FI_mean]
0.07 -0.18 – 0.32 0.575
Group [Intervention] ×
Time [W1_FI_mean]
-0.16 -0.36 – 0.03 0.106
Random Effects
σ2 0.26
τ00 ID 0.37
ICC 0.59
N ID 259
Observations 510
Marginal R2 / Conditional R2 0.009 / 0.592
parameters::standardise_parameters(FI_MEM_B1W)
## # Standardization method: refit
## 
## Parameter                        | Std. Coef. |        95% CI
## -------------------------------------------------------------
## (Intercept)                      |       0.02 | [-0.17, 0.21]
## GroupECs                         |      -0.09 | [-0.43, 0.25]
## GroupIntervention                |       0.16 | [-0.12, 0.43]
## TimeW1_FI_mean                   |      -0.06 | [-0.24, 0.11]
## GroupECs:TimeW1_FI_mean          |       0.09 | [-0.22, 0.40]
## GroupIntervention:TimeW1_FI_mean |      -0.21 | [-0.45, 0.04]
plot_model(FI_MEM_B1W, type = "int")

Baseline to 1M

# Merging across timepoints
FI_B1M <- Full_data_all %>% 
  dplyr::select("ID", "Group", "PRE_FI_mean", "M1_FI_mean") %>% 
  filter(Group != "ECs")
## Formatting table as needed
FI_B1M_long <- FI_B1M %>%
  pivot_longer(cols = c(PRE_FI_mean, M1_FI_mean),
               names_to = "Time",
               values_to = "FI_Score")
FI_MEM_B1M <- lmer(FI_Score ~ Group * Time + (1|ID), data = FI_B1M_long, REML = TRUE)
summary(FI_MEM_B1M)
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: FI_Score ~ Group * Time + (1 | ID)
##    Data: FI_B1M_long
## 
## REML criterion at convergence: 883.7
## 
## Scaled residuals: 
##      Min       1Q   Median       3Q      Max 
## -2.32969 -0.49758 -0.02208  0.50334  2.38286 
## 
## Random effects:
##  Groups   Name        Variance Std.Dev.
##  ID       (Intercept) 0.4394   0.6629  
##  Residual             0.2468   0.4968  
## Number of obs: 395, groups:  ID, 209
## 
## Fixed effects:
##                                    Estimate Std. Error        df t value
## (Intercept)                         2.89481    0.08344 308.07801  34.695
## GroupIntervention                   0.01564    0.11872 307.39282   0.132
## TimePRE_FI_mean                     0.15048    0.07173 192.57954   2.098
## GroupIntervention:TimePRE_FI_mean   0.10817    0.10202 192.38577   1.060
##                                   Pr(>|t|)    
## (Intercept)                         <2e-16 ***
## GroupIntervention                   0.8953    
## TimePRE_FI_mean                     0.0372 *  
## GroupIntervention:TimePRE_FI_mean   0.2903    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Correlation of Fixed Effects:
##             (Intr) GrpInt TPRE_F
## GrpIntrvntn -0.703              
## TmPRE_FI_mn -0.471  0.331       
## GI:TPRE_FI_  0.331 -0.469 -0.703
anova  (FI_MEM_B1M)
## Type III Analysis of Variance Table with Satterthwaite's method
##            Sum Sq Mean Sq NumDF  DenDF F value    Pr(>F)    
## Group      0.1090  0.1090     1 208.15  0.4414    0.5072    
## Time       3.9698  3.9698     1 192.39 16.0821 8.674e-05 ***
## Group:Time 0.2775  0.2775     1 192.39  1.1242    0.2903    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sjPlot::tab_model(FI_MEM_B1M)
  FI Score
Predictors Estimates CI p
(Intercept) 2.89 2.73 – 3.06 <0.001
Group [Intervention] 0.02 -0.22 – 0.25 0.895
Time [PRE_FI_mean] 0.15 0.01 – 0.29 0.037
Group [Intervention] ×
Time [PRE_FI_mean]
0.11 -0.09 – 0.31 0.290
Random Effects
σ2 0.25
τ00 ID 0.44
ICC 0.64
N ID 209
Observations 395
Marginal R2 / Conditional R2 0.018 / 0.647
parameters::standardise_parameters(FI_MEM_B1M)
## # Standardization method: refit
## 
## Parameter                         | Std. Coef. |        95% CI
## --------------------------------------------------------------
## (Intercept)                       |      -0.14 | [-0.33, 0.06]
## GroupIntervention                 |       0.02 | [-0.26, 0.30]
## TimePRE_FI_mean                   |       0.18 | [ 0.01, 0.35]
## GroupIntervention:TimePRE_FI_mean |       0.13 | [-0.11, 0.37]
plot_model(FI_MEM_B1M, type = "int")

Extra exploratory: IUS and GM association at PRE

PRE_IUS_GM_lm <- lm(PRE_IUS_mean ~ B_GM, data = Full_data_all)
summary(PRE_IUS_GM_lm)
## 
## Call:
## lm(formula = PRE_IUS_mean ~ B_GM, data = Full_data_all)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -2.74527 -0.49697  0.07004  0.52106  1.50303 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.23064    0.10622  30.416   <2e-16 ***
## B_GM         0.09966    0.03237   3.079   0.0023 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7279 on 257 degrees of freedom
##   (3 observations deleted due to missingness)
## Multiple R-squared:  0.03558,    Adjusted R-squared:  0.03182 
## F-statistic:  9.48 on 1 and 257 DF,  p-value: 0.002302
anova(PRE_IUS_GM_lm)
## Analysis of Variance Table
## 
## Response: PRE_IUS_mean
##            Df  Sum Sq Mean Sq F value   Pr(>F)   
## B_GM        1   5.023  5.0232  9.4801 0.002302 **
## Residuals 257 136.176  0.5299                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1