Comparison of time to stabilisation and muscle activation during jump landings in individuals with ACL reconstruction versus a healthy control group - A cross-sectional study

MSc Thesis

Author

Syra Naomi Schmid

Published

February 22, 2026

Code
library(pacman)
pacman::p_load(rio,
  readxl, #import excel file
  tidyverse, # data manipulation
  dplyr, # data manipulation
  flextable, #to develop tables for data export
  gtsummary, # summary table
  optmatch, # matching of participants
  ggplot2, # plots
  ggpubr, # ggplots for publications
  janitor, # clean data
  qqplotr, DataExplorer, # qqplot
  mosaic, # fast data summary
  Hmisc, # descriptive statistics
  lmerTest, # model development
  lme4, # model development
  purrr,
  emmeans, # contrasts
  parameters) # model output

1 Research question

  • Research question 1: Are there differences in muscle activation (pre- and post-initial contact) and TTS after a SLHD between the reconstructed leg, the contralateral leg, and healthy control legs?

2 Data import

Code
df.healthy.raw <- read_excel("../data/CRF_digital_healthy_V2.xlsx")
df.acl.raw <- read_excel("../data/CRF_digital_acl_V1.xlsx")
Code
# summary(df.healthy.raw)
# summary(df.acl.raw)
# str(df.healthy.raw)
# str(df.acl.raw)

3 Data preparation

Code
df.healthy.adapted <- df.healthy.raw %>%
  mutate(
    ID = as.factor (ID),
    age = as.numeric(Age),
    gender = recode(Gender,
                    "M" = "Male",
                    "F" = "Female"),
    height = as.numeric(df.healthy.raw$`Height`),
    weight = as.numeric(df.healthy.raw$`Weight`),
    bmi = as.numeric(df.healthy.raw$`Weight`/((df.healthy.raw$`Height`/100)^2)),
    LSI_Qceps = as.numeric(df.healthy.raw$`LSI_Qceps`),
    LSI_Hams = as.numeric(df.healthy.raw$`LSI_Hams`),
    LSI_SLH= as.numeric(df.healthy.raw$`LSI_SLH`),
    KOOS_total = as.numeric(df.healthy.raw$`KOOS_total`),
    Activity_min = as.numeric(df.healthy.raw$`Activity_min`),
    Tegner = as.numeric(df.healthy.raw$Tegner),
    Dominant_leg = as.factor (Dominant_leg))

df.healthy.adapted$Injured_leg <- as.factor ("none")

# select necessary variables
df.healthy.demo <- df.healthy.adapted %>%
  select(ID, age, gender, height, weight, bmi, 
         LSI_Qceps, LSI_Hams, LSI_SLH, KOOS_total, 
         Activity_min, Tegner, Dominant_leg, Injured_leg)
Code
df.acl.adapted <- df.acl.raw %>%
  mutate(
    ID = as.factor (ID),
    age = as.numeric(Age),
    gender = recode(Gender,
                    "m" = "Male",
                    "w" = "Female",
                    "d" = "Diverse"),
    height = as.numeric(df.acl.raw$`Height`),
    weight = as.numeric(df.acl.raw$Weight),
    LSI_Qceps = as.numeric(df.acl.raw$`LSI_Qceps`),
    LSI_Hams = as.numeric(df.acl.raw$`LSI_Hams`),
    LSI_SLH= as.numeric(df.acl.raw$`LSI_SLH`),
    KOOS_total = as.numeric(df.acl.raw$`KOOS_total`),
    Activity_min = as.numeric(df.acl.raw$`Activity_M0`),
    Tegner = as.numeric(df.acl.raw$Tegner_M0),
    Dominant_leg = as.factor(Dominant_leg),
    Injured_leg = as.factor(Injured_leg))

df.acl.adapted <- df.acl.adapted %>%
  mutate(
    bmi = as.numeric(df.acl.adapted$`weight`/((df.acl.adapted$`height`/100)^2)))

# select necessary variables and omit na values (ID 7 and 15)
df.acl.demo <- df.acl.adapted %>%
  select(ID, age, gender, height, weight, bmi, 
         LSI_Qceps, LSI_Hams, LSI_SLH, KOOS_total, 
         Activity_min, Tegner, Dominant_leg, Injured_leg) %>% 
  drop_na()
Code
df.healthy.demo <- df.healthy.demo %>%
  mutate(group= as.factor("Healthy"))
df.acl.demo <- df.acl.demo %>%
  mutate(group= as.factor("ACL"))

df.merge.demo <- bind_rows(df.healthy.demo, df.acl.demo)


# DataExplorer::create_report(df.merge.demo)

4 Demographics

Code
df.merge.table1 <- df.merge.demo %>% 
  select(-ID, -Injured_leg, -Dominant_leg)



tbl1 <- df.merge.table1  %>%
  gtsummary::tbl_summary(
    by = group,
    statistic = list(
      all_continuous() ~ "{mean} ({sd})",
      all_categorical()~ "{n} ({p}%)"),
    label = list(
      group = "Group",
      gender = "Sex",
      age = "Age",
      height = "Height",
      weight = "Weight",
      bmi = "Body mass index",
      LSI_Qceps = "LSI Quadriceps (%)",
      LSI_Hams = "LSI Hamstring (%)",
      LSI_SLH = "LSI Single leg hop (%)",
      KOOS_total = "KOOS total",
      Activity_min = "Activity minutes per week",
      Tegner = "Tegner Activity Scale"
    ),
    missing_text = "(Missing)",
    digits = all_continuous()~ 2
  ) %>%
  gtsummary::add_overall(last = TRUE) %>%
  bold_labels()


tbl1 %>%
  as_flex_table() %>%
  align(j = 1, align = "left", part = "all") %>% 
  flextable::set_table_properties(width = 1, layout = "autofit") %>% 
  flextable::fontsize(size = 12, part = "all") %>% 
  flextable::font(fontname = "Times New Roman", part = "all")

Characteristic

Healthy
N = 121

ACL
N = 131

Overall
N = 251

Age

28.17 (3.95)

27.85 (5.64)

28.00 (4.80)

Sex

Female

5 (42%)

4 (31%)

9 (36%)

Male

7 (58%)

9 (69%)

16 (64%)

Height

175.33 (9.11)

175.62 (5.16)

175.48 (7.17)

Weight

72.62 (11.88)

75.46 (12.88)

74.10 (12.24)

Body mass index

23.49 (2.47)

24.45 (3.89)

23.99 (3.25)

LSI Quadriceps (%)

95.27 (12.37)

78.61 (13.28)

86.61 (15.18)

LSI Hamstring (%)

94.13 (10.92)

100.18 (10.63)

97.28 (10.99)

LSI Single leg hop (%)

100.67 (6.06)

91.64 (5.95)

95.97 (7.47)

KOOS total

97.23 (2.33)

83.11 (6.54)

89.89 (8.70)

Activity minutes per week

429.17 (188.33)

296.63 (171.95)

360.25 (188.70)

Tegner Activity Scale

3

1 (8.3%)

1 (7.7%)

2 (8.0%)

4

3 (25%)

7 (54%)

10 (40%)

5

5 (42%)

2 (15%)

7 (28%)

6

1 (8.3%)

0 (0%)

1 (4.0%)

7

2 (17%)

2 (15%)

4 (16%)

9

0 (0%)

1 (7.7%)

1 (4.0%)

1Mean (SD); n (%)

Code
tbl1 %>%
  as_flex_table() %>%
  set_caption("Table 1. Demographics") %>%
  flextable::set_table_properties(width = 1, layout = "autofit") %>% 
  flextable::fontsize(size = 8, part = "all") %>% 
  flextable::font(fontname = "Times New Roman", part = "all") %>%
  flextable::save_as_docx(path = "../tables/table1.by.group.docx")
Code
df.merge.drop <- df.merge.demo %>% 
  filter(!ID %in% c("SKHG_10", "SKH_03", "SKH_04"))

df.merge.table1.drop <- df.merge.drop %>% 
  select(-ID, -Injured_leg, -Dominant_leg)

tbl1.drop <- df.merge.table1.drop  %>%
  gtsummary::tbl_summary(
    by = group,
    statistic = list(
      all_continuous() ~ "{mean} ({sd})",
      all_categorical()~ "{n} ({p}%)"),
    label = list(
      group = "Group",
      gender = "Sex",
      age = "Age",
      height = "Height",
      weight = "Weight",
      bmi = "Body mass index",
      LSI_Qceps = "LSI Quadriceps (%)",
      LSI_Hams = "LSI Hamstring (%)",
      LSI_SLH = "LSI Single leg hop (%)",
      KOOS_total = "KOOS total",
      Activity_min = "Activity minutes per week",
      Tegner = "Tegner Activity Scale"
    ),
    missing_text = "(Missing)",
    digits = all_continuous()~ 2
  ) %>%
  gtsummary::add_overall(last = TRUE) %>%
  bold_labels()


tbl1.drop %>%
  as_flex_table() %>%
  align(j = 1, align = "left", part = "all") %>% 
  flextable::set_table_properties(width = 1, layout = "autofit") %>% 
  flextable::fontsize(size = 12, part = "all") %>% 
  flextable::font(fontname = "Times New Roman", part = "all")

Characteristic

Healthy
N = 111

ACL
N = 111

Overall
N = 221

Age

27.82 (3.95)

26.09 (3.96)

26.95 (3.96)

Sex

Female

4 (36%)

4 (36%)

8 (36%)

Male

7 (64%)

7 (64%)

14 (64%)

Height

175.36 (9.55)

174.95 (5.16)

175.16 (7.50)

Weight

73.05 (12.36)

71.29 (8.35)

72.17 (10.33)

Body mass index

23.61 (2.55)

23.33 (3.03)

23.47 (2.73)

LSI Quadriceps (%)

96.16 (12.56)

79.81 (13.68)

87.98 (15.31)

LSI Hamstring (%)

94.89 (11.12)

101.10 (11.31)

98.00 (11.40)

LSI Single leg hop (%)

100.17 (6.09)

92.62 (5.96)

96.39 (7.03)

KOOS total

97.22 (2.44)

82.34 (6.14)

89.78 (8.88)

Activity minutes per week

442.27 (191.69)

316.93 (172.89)

379.60 (189.33)

Tegner Activity Scale

3

1 (9.1%)

1 (9.1%)

2 (9.1%)

4

3 (27%)

5 (45%)

8 (36%)

5

5 (45%)

2 (18%)

7 (32%)

7

2 (18%)

2 (18%)

4 (18%)

9

0 (0%)

1 (9.1%)

1 (4.5%)

1Mean (SD); n (%)

Code
tbl1.drop %>%
  as_flex_table() %>%
  set_caption("Table 1. Demographics - post matching") %>%
  flextable::set_table_properties(width = 1, layout = "autofit") %>% 
  flextable::fontsize(size = 8, part = "all") %>% 
  flextable::font(fontname = "Times New Roman", part = "all") %>%
  flextable::save_as_docx(path = "../tables/table1.by.group.matched.docx")

4.1 T-Test age, height, weight

Code
t_test_age <- t.test(age ~ group, data = df.merge.drop)
t_test_age

    Welch Two Sample t-test

data:  age by group
t = 1.0247, df = 20, p-value = 0.3177
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
 -1.788877  5.243423
sample estimates:
mean in group Healthy     mean in group ACL 
             27.81818              26.09091 
Code
ggplot(df.merge.drop, aes(x = group, y = age, fill = group, colour = group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Age: ACL vs. Healthy",
    x = "Group",
    y = "Age (years)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_height <- t.test(height ~ group, data = df.merge.drop)
t_test_height

    Welch Two Sample t-test

data:  height by group
t = 0.12494, df = 15.386, p-value = 0.9022
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
 -6.554585  7.372767
sample estimates:
mean in group Healthy     mean in group ACL 
             175.3636              174.9545 
Code
ggplot(df.merge.drop, aes(x = group, y = height, fill = group, colour= group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Height: ACL vs. Healthy",
    x = "Group",
    y = "Height (cm)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_weight <- t.test(weight ~ group, data = df.merge.drop)
t_test_weight

    Welch Two Sample t-test

data:  weight by group
t = 0.39007, df = 17.548, p-value = 0.7012
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
 -7.712823 11.221914
sample estimates:
mean in group Healthy     mean in group ACL 
             73.04545              71.29091 
Code
ggplot(df.merge.drop, aes(x = group, y = weight, fill = group, colour= group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Weight: ACL vs. Healthy",
    x = "Group",
    y = "Weight (kg)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_age <- t.test(LSI_Qceps ~ group, data = df.merge.drop)
t_test_age

    Welch Two Sample t-test

data:  LSI_Qceps by group
t = 2.9195, df = 19.857, p-value = 0.00852
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
  4.662202 28.035147
sample estimates:
mean in group Healthy     mean in group ACL 
             96.15777              79.80909 
Code
ggplot(df.merge.drop, aes(x = group, y = LSI_Qceps, fill = group, colour = group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Age: ACL vs. Healthy",
    x = "Group",
    y = "Age (years)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_age <- t.test(LSI_Hams ~ group, data = df.merge.drop)
t_test_age

    Welch Two Sample t-test

data:  LSI_Hams by group
t = -1.2982, df = 19.994, p-value = 0.209
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
 -16.186281   3.768039
sample estimates:
mean in group Healthy     mean in group ACL 
             94.89088             101.10000 
Code
ggplot(df.merge.drop, aes(x = group, y = LSI_Hams, fill = group, colour = group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Age: ACL vs. Healthy",
    x = "Group",
    y = "Age (years)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_age <- t.test(LSI_SLH ~ group, data = df.merge.drop)
t_test_age

    Welch Two Sample t-test

data:  LSI_SLH by group
t = 2.9408, df = 19.991, p-value = 0.008084
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
  2.19504 12.90850
sample estimates:
mean in group Healthy     mean in group ACL 
            100.16904              92.61727 
Code
ggplot(df.merge.drop, aes(x = group, y = LSI_SLH, fill = group, colour = group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Age: ACL vs. Healthy",
    x = "Group",
    y = "Age (years)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_age <- t.test(KOOS_total ~ group, data = df.merge.drop)
t_test_age

    Welch Two Sample t-test

data:  KOOS_total by group
t = 7.4719, df = 13.093, p-value = 4.49e-06
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
 10.58396 19.18486
sample estimates:
mean in group Healthy     mean in group ACL 
             97.22426              82.33985 
Code
ggplot(df.merge.drop, aes(x = group, y = KOOS_total, fill = group, colour = group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Age: ACL vs. Healthy",
    x = "Group",
    y = "Age (years)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Code
t_test_age <- t.test(Activity_min ~ group, data = df.merge.drop)
t_test_age

    Welch Two Sample t-test

data:  Activity_min by group
t = 1.6104, df = 19.791, p-value = 0.1231
alternative hypothesis: true difference in means between group Healthy and group ACL is not equal to 0
95 percent confidence interval:
 -37.12246 287.81337
sample estimates:
mean in group Healthy     mean in group ACL 
             442.2727              316.9273 
Code
ggplot(df.merge.drop, aes(x = group, y = Activity_min, fill = group, colour = group)) +
  geom_boxplot(alpha = 0.6, width = 0.5, outlier.shape = NA) +
  geom_jitter(width = 0.1, alpha = 0.5) +
  scale_fill_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  scale_color_manual(values = c(
    "ACL" = "black",
    "Healthy" = "grey60"
  )) +
  labs(
    title = "Age: ACL vs. Healthy",
    x = "Group",
    y = "Age (years)"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

5 Matching ACL to Control

Code
df.match.demo <- df.merge.demo %>% 
  filter(!is.na(ID), !is.na(group), !is.na(gender), !is.na(age)) %>%
  mutate(
    treat  = group == "ACL",
    gender = factor(trimws(gender))
  )

df.pairs.1to1 <- df.match.demo %>%
  group_by(gender, treat) %>%
  arrange(age, ID, .by_group = TRUE) %>%  # sort by age within gender+treat
  mutate(rank_in_group = row_number()) %>%
  ungroup() %>%
  group_by(gender, rank_in_group) %>%
  filter(n() == 2, sum(treat) == 1) %>%   # ensures 1 treated + 1 control
  ungroup() %>%
  mutate(subclass = as.integer(factor(paste(gender, rank_in_group)))) %>%
  arrange(subclass, desc(treat)) %>%
  select(subclass, ID, group, treat, gender, age, weight, height, Dominant_leg, Injured_leg)

#View(df.pairs.1to1)

##dropouts AFTER exact gender constraint (i.e., eligible but unmatched)
dropouts_after_gender <- df.match.demo %>%
  anti_join(df.pairs.1to1 %>% 
              distinct(ID), by = "ID") %>%
  group_by(gender) %>%
  mutate(reason = if_else(treat,
                          "Unmatched treated (not enough controls in gender)",
                          "Unmatched control (not enough treated in gender)")) %>%
  ungroup() %>%
  select(ID, group, treat, gender, age, reason)

#View(dropouts_after_gender)

5.1 Selecting Control Leg (CG)

Code
df.matched <- df.pairs.1to1 %>%
  group_by(subclass) %>%
  mutate(
    Injured_leg  = as.character(Injured_leg),
    Dominant_leg = as.character(Dominant_leg),
    acl_injured_leg  = Injured_leg[group == "ACL"][1],
    acl_dominant_leg = Dominant_leg[group == "ACL"][1],
    matched_leg = case_when(
      group == "ACL" ~ Injured_leg,
      group == "Healthy" & acl_injured_leg == acl_dominant_leg ~ Dominant_leg,
      group == "Healthy" ~ acl_injured_leg,
      TRUE ~ NA_character_)) %>%
  ungroup() %>%
  select(-acl_injured_leg, -acl_dominant_leg)

5.2 Prepare for merge (EMG and TTS)

Code
df.matched.long <- df.matched %>%
  crossing(Leg = c("L", "R")) %>%   # jede ID bekommt L und R
  mutate(
    group_ad = case_when(
      group == "ACL"     & Leg == Injured_leg  ~ "ACL-I",
      group == "ACL"     & Leg != Injured_leg  ~ "ACL-C",
      group == "Healthy" & Leg == matched_leg  ~ "CG-M",
      TRUE ~ NA_character_))

df.matched.long$ID <- sub("^SKH_", "SKH", df.matched.long$ID)
df.matched.long <- df.matched.long %>%
  rename(Side = Leg)
Code
save(df.matched.long, file="../data/df.demo.matched.rda")
write.csv(df.matched.long, "../data/df.demo.matched.csv")

6 Prepare data EMG and TTS

Code
# EMG average data
df.emg1davg <- rio::import("../../data/df.emg1davg.csv")
df.emgavg.long <- rio::import("../../data/df.emgavg.long.csv") # long

# TTS average data
df.ttsavg <- rio::import("../../data/df.ttsavg.csv")
df.tts1davg <- rio::import("../../data/df.tts1davg.csv")
Code
df.ttsavg.group <- df.ttsavg %>%
  mutate(
    Side = if_else(Condition == "SLHDL_M0", "L", "R"))

df.ttsavg.group <- df.ttsavg.group %>%
  mutate(
    ID   = str_trim(as.character(ID)),
    Side = str_to_upper(str_trim(as.character(Side)))) %>%
  left_join(df.matched.long%>%
      mutate(
        ID  = str_trim(as.character(ID)),
        Leg = str_to_upper(str_trim(as.character(Side))) # must be "L"/"R" to match Side
      ) %>%
      select(ID, Side, group_ad, gender, age),
    by = c("ID" = "ID", "Side" = "Side"))
                                                                                                
# remove not matched ID and not matched leg of CG
df.ttsavg.group <- df.ttsavg.group %>%
  filter(!is.na(group_ad))

##same for df.tts1davg
df.tts1davg.group <- df.tts1davg %>%
  mutate(
    Side = if_else(Condition == "SLHDL_M0", "L", "R"))

df.tts1davg.group <- df.tts1davg.group %>%
  mutate(
    ID   = str_trim(as.character(ID)),
    Side = str_to_upper(str_trim(as.character(Side)))) %>%
  left_join(
     df.matched.long%>%
      mutate(
        ID  = str_trim(as.character(ID)),
        Leg = str_to_upper(str_trim(as.character(Side))) # must be "L"/"R" to match Side
      ) %>%
      select(ID, Side, group_ad, gender, age),
    by = c("ID" = "ID", "Side" = "Side")
  )
# remove not matched ID and not matched leg of CG
df.tts1davg.group <- df.tts1davg.group %>%
  filter(!is.na(group_ad))
Code
df.emg.group <- df.emgavg.long %>%
  mutate(
    ID   = str_trim(as.character(ID)),
    Side = str_to_upper(str_trim(as.character(Side)))) %>%
  left_join(
     df.matched.long%>%
      mutate(
        ID  = str_trim(as.character(ID)),
        Leg = str_to_upper(str_trim(as.character(Side))) # must be "L"/"R" to match Side
      ) %>%
      select(ID, Side, group_ad, gender, age),
    by = c("ID" = "ID", "Side" = "Side")
  ) %>% 
  mutate(
    age = as.numeric(age),
    # age 18 as reference
    age_c = age - 18,
    gender = relevel(factor(gender), ref = "Male"))

# remove not matched ID and not matched leg of CG
df.emg <- df.emg.group %>%
  filter(!is.na(group_ad))

#same for df.emg1davg
df.emg1davg.group <- df.emg1davg %>%
  mutate(
    ID   = str_trim(as.character(ID)),
    Side = str_to_upper(str_trim(as.character(Side)))) %>%
  left_join(
     df.matched.long%>%
      mutate(
        ID  = str_trim(as.character(ID)),
        Leg = str_to_upper(str_trim(as.character(Side))) # must be "L"/"R" to match Side
      ) %>%
      select(ID, Side, group_ad),
    by = c("ID" = "ID", "Side" = "Side"))

#remove not matched ID and not matched leg of CG
df.emg1davg.group <- df.emg1davg.group%>%
  filter(!is.na(group_ad))

df.emg1davg.group <- df.emg1davg.group %>%
  mutate(group_ad = factor(group_ad, levels = c("CG-M", "ACL-C", "ACL-I")))

#remove EMG of the not jumping leg and window t0_20
df.emg.ad<- df.emg %>%
  filter(
    (Condition == "SLHDL_M0" & Side == "L") |
    (Condition == "SLHDR_M0" & Side == "R"),
    Window != "t0_20")

#remove EMG of the not jumping leg
df.emg1davg.group <- df.emg1davg.group %>%
  filter(
    (Condition == "SLHDL_M0" & Side == "L") |
    (Condition == "SLHDR_M0" & Side == "R")) %>% 
  mutate(
    group_ad = factor(group_ad, levels = c("CG-M", "ACL-I", "ACL-C")))

7 TTS

Code
fig.qqplot.tts <- df.tts1davg.group %>%
  select(-age, -Time) %>%
  DataExplorer::plot_qq(by = "group_ad", nrow = 3L, ncol = 3L)

Code
fig.qqplot.tts
$page_1

Code
#QQ-Plot for SAfilt_norm
df_tts_clean <- df.tts1davg.group %>%
  filter(!is.na(SAfilt_norm), SAfilt_norm > 0)
model.tts <- lmer(
  log(SAfilt_norm) ~ group_ad + age + gender + (1 | ID),
  data = df_tts_clean,
  na.action = na.exclude)

residuals_tts <- residuals(model.tts)
qqnorm(residuals_tts)
qqline(residuals_tts)

Code
df_res <- data.frame(residuals = residuals_tts)

ggplot(df_res, aes(sample = residuals)) +
  stat_qq() +
  stat_qq_line() +
  theme_classic() +
  labs(
    title = "Q–Q Plot of Model Residuals",
    x = "Theoretical Quantiles",
    y = "Sample Quantiles")

Code
#separate per group_ad GG-Plot
df.tts1davg.group %>%
  filter(Condition %in% c("SLHDR_M0", "SLHDL_M0")) %>%
  ggplot(aes(
    x = Time,
    y = SAfilt_norm,
    color = Condition,
    fill  = Condition)) +
  geom_line(aes(group = interaction(ID, Condition)), alpha = 0.15) +
  stat_summary(aes(group = Condition), fun = mean, geom = "line", linewidth = 1) +
  stat_summary(aes(group = Condition),
               fun.data = mean_sd,
               geom = "ribbon",
               alpha = 0.2,
               color = NA) +
  theme_minimal() +
  labs(y = "SA filtered (N)", x = "Time (s)", color = "Condition", fill = "Condition") +
  facet_wrap(~ group_ad)

Code
#separate per Condition GG-Plot
df.tts1davg.group%>%
  ggplot(aes(x = Time, y = SAfilt_norm, color = group_ad)) +
  stat_summary(geom = "line", fun = mean) +
  stat_summary(geom = "ribbon", fun.data = "mean_sd", alpha = 0.3) +
  labs(y = "SA filtered (N)", x = "Time (s)") +
  theme_minimal() +
  facet_grid(cols = vars(Condition))

Code
#GG-Plot TTS
df.ttsavg.group %>%
  ggplot(aes(x = group_ad, y = Norm_TTSuniform)) +
  geom_boxplot() +
  geom_point(
    position = position_jitter(width = 0.2),  # jitter for visibility
    size = 2) +
  ylab("TTS (s)")

Code
#GG Plot with the IDs, by group_ad
df.ttsavg.group %>%
  ggplot(aes(x = group_ad, y = Norm_TTSuniform)) +
  geom_boxplot() +
  geom_point(
    position = position_jitter(width = 0.2),
    size = 2
  ) +
  geom_text(
    aes(label = ID),
    position = position_jitter(width = 0.2),
    vjust = -0.5,
    size = 3
  ) +
  ylab("TTS (s)")

Code
df.ttsavg.group %>% ggplot(aes(x=group_ad, y = Norm_TTSuniform)) +
  geom_boxplot() +
  geom_point(
    position = position_jitter(width = 0.2), 
    size = 2) +
  ylab("TTS Uniform (s)")

Code
ggsave(
  filename = "../figures/fig.qqplot.tts.png",
  plot = fig.qqplot.tts,
  width = 20,
  height = 10,
  units = "cm",
  dpi = 600)
Code
df.ttsavg.group <- df.ttsavg.group %>%
  mutate(group_ad = relevel(factor(group_ad), ref = "CG-M"),
         age_c = age - 18)

# unadjusted model
model.tts.lmm.unadj <- lmer(
  log(Norm_TTSuniform) ~ group_ad + (1 | ID),
  data = df.ttsavg.group)

# adjusted model
model.tts.lmm <- lmer(
  log(Norm_TTSuniform) ~ group_ad + age_c + gender + (1 | ID),
  data = df.ttsavg.group)

# parameters::model_parameters(model.tts.lmm, exponentiate = TRUE)
# unadjusted table
tbl.model.tts.lmm.unadj <- tbl_regression(
  model.tts.lmm.unadj,
  exponentiate = TRUE,
  conf.int = TRUE,
  label = list(group_ad ~ "Group")) %>%
  modify_header(
    estimate ~ "**Ratio**",
    ci ~ "**95% CI**",
    p.value ~ "**p-value**") %>%
  modify_table_body(~ .x %>% dplyr::select(-conf.low, -conf.high)) %>%
  bold_p(t = 0.05) %>%
  bold_labels()

# table adjusted
tbl.model.tts.lmm <- tbl_regression(
  model.tts.lmm,
  exponentiate = TRUE,
  conf.int = TRUE,
  label = list(
    group_ad ~ "Group",
    age_c    ~ "Age (in years, centered at 18 years)",
    gender   ~ "Sex")) %>%
  modify_header(
    estimate ~ "**Ratio**",
    ci ~ "**95% CI**",
    p.value ~ "**p-value**") %>%
  modify_table_body(~ .x %>% dplyr::select(-conf.low, -conf.high)) %>%
  bold_p(t = 0.05) %>%
  bold_labels()

# combined table
tbl.model.tts.lmm.comb <- tbl_merge(
  tbls = list(tbl.model.tts.lmm.unadj, tbl.model.tts.lmm),
  tab_spanner = c("**Unadjusted**", "**Adjusted**"))

tbl.model.tts.lmm.comb
Characteristic
Unadjusted
Adjusted
Ratio 95% CI p-value Ratio 95% CI p-value
Group





    CG-M

    ACL-C 0.69 0.47, 0.99 0.046 0.67 0.46, 0.97 0.037
    ACL-I 0.75 0.52, 1.08 0.12 0.73 0.50, 1.06 0.094
Age (in years, centered at 18 years)


0.99 0.94, 1.03 0.5
Sex





    Female



    Male


0.79 0.56, 1.13 0.2
Code
tbl.model.tts.lmm.comb %>%
  as_flex_table() %>%
  set_caption("LMM Model TTS - adjusted and unadjusted") %>%
  flextable::set_table_properties(width = 1, layout = "autofit") %>% 
  flextable::fontsize(size = 8, part = "all") %>% 
  flextable::font(fontname = "Times New Roman", part = "all") %>%
  flextable::save_as_docx(path = "../tables/tbl.model.tts.lmm.comb.docx")
Code
emmeans.tts.lmm <- emmeans::emmeans(model.tts.lmm, pairwise ~ group_ad, type = "response")
df.tts.emmeans.lmm <- as.data.frame(confint(emmeans.tts.lmm$contrasts, level = 0.95))

df.tts.emmeans.lmm
 contrast              ratio        SE    df  lower.CL upper.CL
 (CG-M) / (ACL-C)  1.4956127 0.2732879 24.48 0.9481808 2.359104
 (CG-M) / (ACL-I)  1.3734946 0.2509737 24.48 0.8707610 2.166481
 (ACL-C) / (ACL-I) 0.9183491 0.1285713 10.52 0.6275997 1.343795

Results are averaged over the levels of: gender 
Degrees-of-freedom method: kenward-roger 
Confidence level used: 0.95 
Conf-level adjustment: tukey method for comparing a family of 3 estimates 
Intervals are back-transformed from the log scale 
Code
xcol <- if ("ratio" %in% names(df.tts.emmeans.lmm)) "ratio" else "estimate"
lcl  <- if ("lower.CL" %in% names(df.tts.emmeans.lmm)) "lower.CL" else "asymp.LCL"
ucl  <- if ("upper.CL" %in% names(df.tts.emmeans.lmm)) "upper.CL" else "asymp.UCL"

plot.tts.lmm.contrasts <- ggplot(df.tts.emmeans.lmm, aes(x = .data[[xcol]], y = contrast)) +
  geom_vline(xintercept = 1, linetype = "dashed") +
  geom_point(size = 3) +
  geom_errorbarh(aes(xmin = .data[[lcl]], xmax = .data[[ucl]]), height = 0.2) +
  labs(x = "TTS ratio (Group A / Group B)", 
       y = "Group contrast") +
  theme_classic(base_size = 12) +
  scale_x_continuous(expand = expansion(mult = c(0.02, 0.05))) +
  ggpubr::theme_pubr(base_size = 14) +
  theme(
    axis.title = element_text(face = "bold"),
    axis.text  = element_text(color = "black"),
    panel.border = element_rect(fill = NA, linewidth = 0.8),
    plot.margin = margin(10, 12, 10, 10))

plot.tts.lmm.contrasts

Code
ggsave(
  filename = "../figures/plot.tts.lmm.contrasts.png",
  plot = plot.tts.lmm.contrasts,
  width = 20,
  height = 10,
  units = "cm",
  dpi = 600)

8 EMG

Code
#DataExplorer::create_report(df.emg)
# favstats(EMGnorm~Group + Side + Muscle + Window, data = df.emg.ad)
fig.qqplot.emg <- df.emg1davg.group %>%
  select(
    group_ad,
    emgHP_LP,
    emgHP_LP_movRMS,
    emgHP_LP_movRMS_norm,
    emgHP_LP_norm) %>%
  DataExplorer::plot_qq(by = "group_ad", nrow = 3L, ncol = 3L)

Code
fig.qqplot.emg
$page_1

Code
#EMG Residual QQ (Per Muscle)
muscles <- c("VM", "VL", "BF", "ST")

df_res_emg <- bind_rows(lapply(muscles, function(m) {
 df_m <- df.emg1davg.group %>%
    filter(Muscle == m) %>%
    filter(!is.na(emgHP_LP_movRMS_norm),
           emgHP_LP_movRMS_norm > 0)
  model_m <- lmer(
    log(emgHP_LP_movRMS_norm) ~ group_ad +  (1 | ID),
    data = df_m,
    na.action = na.exclude)
  tibble(
    Muscle = m,
    residuals = residuals(model_m)
  ) %>%
    filter(is.finite(residuals))}))

ggplot(df_res_emg, aes(sample = residuals)) +
  stat_qq() +
  stat_qq_line() +
  facet_wrap(~ Muscle, ncol = 2) +
  theme_classic(base_size = 14) +
  labs(
    title = "Q–Q Plots of EMG Model Residuals",
    x = "Theoretical Quantiles",
    y = "Sample Quantiles"
  )

Code
#group-ad and SD
df.emg1davg.group %>%
  filter(Muscle %in% c("VM","VL","BF","ST")) %>%
  ggplot(aes(x = Time, y = emgHP_LP_movRMS_norm, color = group_ad, fill = group_ad)) +
  stat_summary(fun = mean, geom = "line", linewidth = 1) +
  stat_summary(fun.data = mean_se, geom = "ribbon", alpha = 0.25, color = NA) +
  facet_wrap(~ Muscle, ncol = 2) +
  labs(x = "Time (s)", y = "Normalized EMG", color = "Group", fill = "Group") +
  theme_classic(base_size = 14)

Code
#
df.emg1davg.group %>%
  filter(Muscle %in% c("VM","VL","BF","ST")) %>%
  ggplot(aes(Time, emgHP_LP_movRMS_norm)) +
  geom_line(aes(group = interaction(ID, group_ad)), alpha = 0.12) +
  stat_summary(aes(color = group_ad), fun = mean, geom = "line", linewidth = 0.5) +
  facet_wrap(~ Muscle, ncol = 2) +
  labs(x = "Time (s)", y = "Normalized EMG", color = "Group") +
  theme_classic(base_size = 14)

Code
ggsave(
  filename = "../figures/fig.qqplot.emg.png",
  plot = fig.qqplot.emg,
  width = 20,
  height = 10,
  units = "cm",
  dpi = 600)
Code
df.emg.relevel <- df.emg.ad %>%
  mutate(log_EMG = log(EMGnorm),
    group_ad = relevel(factor(group_ad), ref = "CG-M"),
    ID = factor(ID),
    Muscle   = factor(Muscle),
    Window = relevel(factor(Window), ref = "tm50_0"))

muscle_levels <- levels(df.emg.relevel$Muscle)

# unadjusted model
models.emg.unadj <- df.emg.relevel %>%
  group_split(Muscle) %>%
  setNames(muscle_levels) %>%
  map(~ lmer(
    log(EMGnorm) ~ group_ad * Window + (1 | ID),
    data = .x))

# adjusted model
models.emg.adj <- df.emg.relevel %>%
  group_split(Muscle) %>%
  setNames(muscle_levels) %>%
  map(~ lmer(
    log(EMGnorm) ~ group_ad * Window + age_c + gender + (1 | ID),
    data = .x))

#parameters::model_parameters(model.emg.lmm, exponentiate = TRUE)

# Develop tables per muscle
tbls.emg.by.muscle <- imap(models.emg.unadj, function(mod_unadj, mus) {
  mod_adj <- models.emg.adj[[mus]]

  tbl_unadj <- tbl_regression(
    mod_unadj,
    exponentiate = TRUE,
    conf.int = TRUE,
    label = list(group_ad ~ "Group")) %>%
    modify_header(estimate ~ "**Ratio**", ci ~ "**95% CI**", p.value ~ "**p-value**") %>%
    modify_table_body(~ .x %>% select(-conf.low, -conf.high)) %>%
    bold_p(t = 0.05) %>%
    bold_labels()

  tbl_adj <- tbl_regression(
    mod_adj,
    exponentiate = TRUE,
    conf.int = TRUE,
    label = list(
      group_ad ~ "Group",
      age_c    ~ "Age (years, centered at 18)",
      gender   ~ "Sex")) %>%
    modify_header(estimate ~ "**Ratio**", ci ~ "**95% CI**", p.value ~ "**p-value**") %>%
    modify_table_body(~ .x %>% select(-conf.low, -conf.high)) %>%
    bold_p(t = 0.05) %>%
    bold_labels()

  tbl_merge(
    tbls = list(tbl_unadj, tbl_adj),
    tab_spanner = c("**Unadjusted**", "**Adjusted**")) %>%
    modify_caption(paste0("**Muscle: ", mus, "**"))})

tbls.emg.by.muscle
$BF
<div id="ebvmcxsfkn" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
  <style>#ebvmcxsfkn table {
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#ebvmcxsfkn thead, #ebvmcxsfkn tbody, #ebvmcxsfkn tfoot, #ebvmcxsfkn tr, #ebvmcxsfkn td, #ebvmcxsfkn th {
  border-style: none;
}

#ebvmcxsfkn p {
  margin: 0;
  padding: 0;
}

#ebvmcxsfkn .gt_table {
  display: table;
  border-collapse: collapse;
  line-height: normal;
  margin-left: auto;
  margin-right: auto;
  color: #333333;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  background-color: #FFFFFF;
  width: auto;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #A8A8A8;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #A8A8A8;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
}

#ebvmcxsfkn .gt_caption {
  padding-top: 4px;
  padding-bottom: 4px;
}

#ebvmcxsfkn .gt_title {
  color: #333333;
  font-size: 125%;
  font-weight: initial;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-color: #FFFFFF;
  border-bottom-width: 0;
}

#ebvmcxsfkn .gt_subtitle {
  color: #333333;
  font-size: 85%;
  font-weight: initial;
  padding-top: 3px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-color: #FFFFFF;
  border-top-width: 0;
}

#ebvmcxsfkn .gt_heading {
  background-color: #FFFFFF;
  text-align: center;
  border-bottom-color: #FFFFFF;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#ebvmcxsfkn .gt_bottom_border {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#ebvmcxsfkn .gt_col_headings {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#ebvmcxsfkn .gt_col_heading {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 6px;
  padding-left: 5px;
  padding-right: 5px;
  overflow-x: hidden;
}

#ebvmcxsfkn .gt_column_spanner_outer {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 4px;
  padding-right: 4px;
}

#ebvmcxsfkn .gt_column_spanner_outer:first-child {
  padding-left: 0;
}

#ebvmcxsfkn .gt_column_spanner_outer:last-child {
  padding-right: 0;
}

#ebvmcxsfkn .gt_column_spanner {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 5px;
  overflow-x: hidden;
  display: inline-block;
  width: 100%;
}

#ebvmcxsfkn .gt_spanner_row {
  border-bottom-style: hidden;
}

#ebvmcxsfkn .gt_group_heading {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  text-align: left;
}

#ebvmcxsfkn .gt_empty_group_heading {
  padding: 0.5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: middle;
}

#ebvmcxsfkn .gt_from_md > :first-child {
  margin-top: 0;
}

#ebvmcxsfkn .gt_from_md > :last-child {
  margin-bottom: 0;
}

#ebvmcxsfkn .gt_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  margin: 10px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  overflow-x: hidden;
}

#ebvmcxsfkn .gt_stub {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
}

#ebvmcxsfkn .gt_stub_row_group {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
  vertical-align: top;
}

#ebvmcxsfkn .gt_row_group_first td {
  border-top-width: 2px;
}

#ebvmcxsfkn .gt_row_group_first th {
  border-top-width: 2px;
}

#ebvmcxsfkn .gt_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#ebvmcxsfkn .gt_first_summary_row {
  border-top-style: solid;
  border-top-color: #D3D3D3;
}

#ebvmcxsfkn .gt_first_summary_row.thick {
  border-top-width: 2px;
}

#ebvmcxsfkn .gt_last_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#ebvmcxsfkn .gt_grand_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#ebvmcxsfkn .gt_first_grand_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-style: double;
  border-top-width: 6px;
  border-top-color: #D3D3D3;
}

#ebvmcxsfkn .gt_last_grand_summary_row_top {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: double;
  border-bottom-width: 6px;
  border-bottom-color: #D3D3D3;
}

#ebvmcxsfkn .gt_striped {
  background-color: rgba(128, 128, 128, 0.05);
}

#ebvmcxsfkn .gt_table_body {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#ebvmcxsfkn .gt_footnotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#ebvmcxsfkn .gt_footnote {
  margin: 0px;
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#ebvmcxsfkn .gt_sourcenotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#ebvmcxsfkn .gt_sourcenote {
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#ebvmcxsfkn .gt_left {
  text-align: left;
}

#ebvmcxsfkn .gt_center {
  text-align: center;
}

#ebvmcxsfkn .gt_right {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#ebvmcxsfkn .gt_font_normal {
  font-weight: normal;
}

#ebvmcxsfkn .gt_font_bold {
  font-weight: bold;
}

#ebvmcxsfkn .gt_font_italic {
  font-style: italic;
}

#ebvmcxsfkn .gt_super {
  font-size: 65%;
}

#ebvmcxsfkn .gt_footnote_marks {
  font-size: 75%;
  vertical-align: 0.4em;
  position: initial;
}

#ebvmcxsfkn .gt_asterisk {
  font-size: 100%;
  vertical-align: 0;
}

#ebvmcxsfkn .gt_indent_1 {
  text-indent: 5px;
}

#ebvmcxsfkn .gt_indent_2 {
  text-indent: 10px;
}

#ebvmcxsfkn .gt_indent_3 {
  text-indent: 15px;
}

#ebvmcxsfkn .gt_indent_4 {
  text-indent: 20px;
}

#ebvmcxsfkn .gt_indent_5 {
  text-indent: 25px;
}

#ebvmcxsfkn .katex-display {
  display: inline-flex !important;
  margin-bottom: 0.75em !important;
}

#ebvmcxsfkn div.Reactable > div.rt-table > div.rt-thead > div.rt-tr.rt-tr-group-header > div.rt-th-group:after {
  height: 0px !important;
}
</style>
  <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
  <caption><span data-qmd-base64="KipNdXNjbGU6IEJGKio="><span class='gt_from_md'><strong>Muscle: BF</strong></span></span></caption>
  <thead>
    <tr class="gt_col_headings gt_spanner_row">
      <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="2" colspan="1" scope="col" id="label"><span data-qmd-base64="KipDaGFyYWN0ZXJpc3RpYyoq"><span class='gt_from_md'><strong>Characteristic</strong></span></span></th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_1">
        <div class="gt_column_spanner"><span data-qmd-base64="KipVbmFkanVzdGVkKio="><span class='gt_from_md'><strong>Unadjusted</strong></span></span></div>
      </th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_2">
        <div class="gt_column_spanner"><span data-qmd-base64="KipBZGp1c3RlZCoq"><span class='gt_from_md'><strong>Adjusted</strong></span></span></div>
      </th>
    </tr>
    <tr class="gt_col_headings">
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_1"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_1"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_1"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_2"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_2"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_2"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
    </tr>
  </thead>
  <tbody class="gt_table_body">
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    CG-M</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C</td>
<td headers="estimate_1" class="gt_row gt_center">0.91</td>
<td headers="ci_1" class="gt_row gt_center">0.43,  1.92</td>
<td headers="p.value_1" class="gt_row gt_center">0.8</td>
<td headers="estimate_2" class="gt_row gt_center">0.98</td>
<td headers="ci_2" class="gt_row gt_center">0.45,  2.14</td>
<td headers="p.value_2" class="gt_row gt_center">>0.9</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I</td>
<td headers="estimate_1" class="gt_row gt_center">0.89</td>
<td headers="ci_1" class="gt_row gt_center">0.42,  1.87</td>
<td headers="p.value_1" class="gt_row gt_center">0.8</td>
<td headers="estimate_2" class="gt_row gt_center">0.96</td>
<td headers="ci_2" class="gt_row gt_center">0.44,  2.09</td>
<td headers="p.value_2" class="gt_row gt_center">>0.9</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    tm50_0</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.56</td>
<td headers="ci_1" class="gt_row gt_center">0.36,  0.86</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;">0.009</td>
<td headers="estimate_2" class="gt_row gt_center">0.56</td>
<td headers="ci_2" class="gt_row gt_center">0.36,  0.86</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;">0.009</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.74</td>
<td headers="ci_1" class="gt_row gt_center">0.48,  1.13</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">0.74</td>
<td headers="ci_2" class="gt_row gt_center">0.48,  1.13</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">0.76</td>
<td headers="ci_1" class="gt_row gt_center">0.49,  1.17</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">0.76</td>
<td headers="ci_2" class="gt_row gt_center">0.49,  1.17</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group * Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.65</td>
<td headers="ci_1" class="gt_row gt_center">0.35,  1.20</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">0.65</td>
<td headers="ci_2" class="gt_row gt_center">0.35,  1.20</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.55</td>
<td headers="ci_1" class="gt_row gt_center">0.30,  1.01</td>
<td headers="p.value_1" class="gt_row gt_center">0.053</td>
<td headers="estimate_2" class="gt_row gt_center">0.55</td>
<td headers="ci_2" class="gt_row gt_center">0.30,  1.01</td>
<td headers="p.value_2" class="gt_row gt_center">0.053</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.52</td>
<td headers="ci_1" class="gt_row gt_center">0.28,  0.96</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;">0.037</td>
<td headers="estimate_2" class="gt_row gt_center">0.52</td>
<td headers="ci_2" class="gt_row gt_center">0.28,  0.96</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;">0.037</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.61</td>
<td headers="ci_1" class="gt_row gt_center">0.33,  1.13</td>
<td headers="p.value_1" class="gt_row gt_center">0.11</td>
<td headers="estimate_2" class="gt_row gt_center">0.61</td>
<td headers="ci_2" class="gt_row gt_center">0.33,  1.13</td>
<td headers="p.value_2" class="gt_row gt_center">0.11</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">0.72</td>
<td headers="ci_1" class="gt_row gt_center">0.39,  1.32</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">0.72</td>
<td headers="ci_2" class="gt_row gt_center">0.39,  1.32</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">0.82</td>
<td headers="ci_1" class="gt_row gt_center">0.44,  1.51</td>
<td headers="p.value_1" class="gt_row gt_center">0.5</td>
<td headers="estimate_2" class="gt_row gt_center">0.82</td>
<td headers="ci_2" class="gt_row gt_center">0.44,  1.51</td>
<td headers="p.value_2" class="gt_row gt_center">0.5</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Age (years, centered at 18)</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">1.04</td>
<td headers="ci_2" class="gt_row gt_center">0.96,  1.14</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Sex</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Male</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Female</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">0.98</td>
<td headers="ci_2" class="gt_row gt_center">0.49,  1.98</td>
<td headers="p.value_2" class="gt_row gt_center">>0.9</td></tr>
  </tbody>
  
</table>
</div>

$ST
<div id="lemmxxurcn" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
  <style>#lemmxxurcn table {
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#lemmxxurcn thead, #lemmxxurcn tbody, #lemmxxurcn tfoot, #lemmxxurcn tr, #lemmxxurcn td, #lemmxxurcn th {
  border-style: none;
}

#lemmxxurcn p {
  margin: 0;
  padding: 0;
}

#lemmxxurcn .gt_table {
  display: table;
  border-collapse: collapse;
  line-height: normal;
  margin-left: auto;
  margin-right: auto;
  color: #333333;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  background-color: #FFFFFF;
  width: auto;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #A8A8A8;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #A8A8A8;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
}

#lemmxxurcn .gt_caption {
  padding-top: 4px;
  padding-bottom: 4px;
}

#lemmxxurcn .gt_title {
  color: #333333;
  font-size: 125%;
  font-weight: initial;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-color: #FFFFFF;
  border-bottom-width: 0;
}

#lemmxxurcn .gt_subtitle {
  color: #333333;
  font-size: 85%;
  font-weight: initial;
  padding-top: 3px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-color: #FFFFFF;
  border-top-width: 0;
}

#lemmxxurcn .gt_heading {
  background-color: #FFFFFF;
  text-align: center;
  border-bottom-color: #FFFFFF;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#lemmxxurcn .gt_bottom_border {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#lemmxxurcn .gt_col_headings {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#lemmxxurcn .gt_col_heading {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 6px;
  padding-left: 5px;
  padding-right: 5px;
  overflow-x: hidden;
}

#lemmxxurcn .gt_column_spanner_outer {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 4px;
  padding-right: 4px;
}

#lemmxxurcn .gt_column_spanner_outer:first-child {
  padding-left: 0;
}

#lemmxxurcn .gt_column_spanner_outer:last-child {
  padding-right: 0;
}

#lemmxxurcn .gt_column_spanner {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 5px;
  overflow-x: hidden;
  display: inline-block;
  width: 100%;
}

#lemmxxurcn .gt_spanner_row {
  border-bottom-style: hidden;
}

#lemmxxurcn .gt_group_heading {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  text-align: left;
}

#lemmxxurcn .gt_empty_group_heading {
  padding: 0.5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: middle;
}

#lemmxxurcn .gt_from_md > :first-child {
  margin-top: 0;
}

#lemmxxurcn .gt_from_md > :last-child {
  margin-bottom: 0;
}

#lemmxxurcn .gt_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  margin: 10px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  overflow-x: hidden;
}

#lemmxxurcn .gt_stub {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
}

#lemmxxurcn .gt_stub_row_group {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
  vertical-align: top;
}

#lemmxxurcn .gt_row_group_first td {
  border-top-width: 2px;
}

#lemmxxurcn .gt_row_group_first th {
  border-top-width: 2px;
}

#lemmxxurcn .gt_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#lemmxxurcn .gt_first_summary_row {
  border-top-style: solid;
  border-top-color: #D3D3D3;
}

#lemmxxurcn .gt_first_summary_row.thick {
  border-top-width: 2px;
}

#lemmxxurcn .gt_last_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#lemmxxurcn .gt_grand_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#lemmxxurcn .gt_first_grand_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-style: double;
  border-top-width: 6px;
  border-top-color: #D3D3D3;
}

#lemmxxurcn .gt_last_grand_summary_row_top {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: double;
  border-bottom-width: 6px;
  border-bottom-color: #D3D3D3;
}

#lemmxxurcn .gt_striped {
  background-color: rgba(128, 128, 128, 0.05);
}

#lemmxxurcn .gt_table_body {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#lemmxxurcn .gt_footnotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#lemmxxurcn .gt_footnote {
  margin: 0px;
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#lemmxxurcn .gt_sourcenotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#lemmxxurcn .gt_sourcenote {
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#lemmxxurcn .gt_left {
  text-align: left;
}

#lemmxxurcn .gt_center {
  text-align: center;
}

#lemmxxurcn .gt_right {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#lemmxxurcn .gt_font_normal {
  font-weight: normal;
}

#lemmxxurcn .gt_font_bold {
  font-weight: bold;
}

#lemmxxurcn .gt_font_italic {
  font-style: italic;
}

#lemmxxurcn .gt_super {
  font-size: 65%;
}

#lemmxxurcn .gt_footnote_marks {
  font-size: 75%;
  vertical-align: 0.4em;
  position: initial;
}

#lemmxxurcn .gt_asterisk {
  font-size: 100%;
  vertical-align: 0;
}

#lemmxxurcn .gt_indent_1 {
  text-indent: 5px;
}

#lemmxxurcn .gt_indent_2 {
  text-indent: 10px;
}

#lemmxxurcn .gt_indent_3 {
  text-indent: 15px;
}

#lemmxxurcn .gt_indent_4 {
  text-indent: 20px;
}

#lemmxxurcn .gt_indent_5 {
  text-indent: 25px;
}

#lemmxxurcn .katex-display {
  display: inline-flex !important;
  margin-bottom: 0.75em !important;
}

#lemmxxurcn div.Reactable > div.rt-table > div.rt-thead > div.rt-tr.rt-tr-group-header > div.rt-th-group:after {
  height: 0px !important;
}
</style>
  <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
  <caption><span data-qmd-base64="KipNdXNjbGU6IFNUKio="><span class='gt_from_md'><strong>Muscle: ST</strong></span></span></caption>
  <thead>
    <tr class="gt_col_headings gt_spanner_row">
      <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="2" colspan="1" scope="col" id="label"><span data-qmd-base64="KipDaGFyYWN0ZXJpc3RpYyoq"><span class='gt_from_md'><strong>Characteristic</strong></span></span></th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_1">
        <div class="gt_column_spanner"><span data-qmd-base64="KipVbmFkanVzdGVkKio="><span class='gt_from_md'><strong>Unadjusted</strong></span></span></div>
      </th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_2">
        <div class="gt_column_spanner"><span data-qmd-base64="KipBZGp1c3RlZCoq"><span class='gt_from_md'><strong>Adjusted</strong></span></span></div>
      </th>
    </tr>
    <tr class="gt_col_headings">
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_1"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_1"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_1"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_2"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_2"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_2"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
    </tr>
  </thead>
  <tbody class="gt_table_body">
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    CG-M</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C</td>
<td headers="estimate_1" class="gt_row gt_center">0.87</td>
<td headers="ci_1" class="gt_row gt_center">0.40,  1.91</td>
<td headers="p.value_1" class="gt_row gt_center">0.7</td>
<td headers="estimate_2" class="gt_row gt_center">0.74</td>
<td headers="ci_2" class="gt_row gt_center">0.35,  1.58</td>
<td headers="p.value_2" class="gt_row gt_center">0.4</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I</td>
<td headers="estimate_1" class="gt_row gt_center">0.88</td>
<td headers="ci_1" class="gt_row gt_center">0.40,  1.91</td>
<td headers="p.value_1" class="gt_row gt_center">0.7</td>
<td headers="estimate_2" class="gt_row gt_center">0.75</td>
<td headers="ci_2" class="gt_row gt_center">0.35,  1.59</td>
<td headers="p.value_2" class="gt_row gt_center">0.4</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    tm50_0</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.38</td>
<td headers="ci_1" class="gt_row gt_center">0.26,  0.56</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;"><0.001</td>
<td headers="estimate_2" class="gt_row gt_center">0.38</td>
<td headers="ci_2" class="gt_row gt_center">0.26,  0.56</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;"><0.001</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.54</td>
<td headers="ci_1" class="gt_row gt_center">0.37,  0.80</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;">0.002</td>
<td headers="estimate_2" class="gt_row gt_center">0.54</td>
<td headers="ci_2" class="gt_row gt_center">0.37,  0.79</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;">0.002</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">0.51</td>
<td headers="ci_1" class="gt_row gt_center">0.34,  0.74</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;"><0.001</td>
<td headers="estimate_2" class="gt_row gt_center">0.51</td>
<td headers="ci_2" class="gt_row gt_center">0.34,  0.74</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;"><0.001</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group * Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.73</td>
<td headers="ci_1" class="gt_row gt_center">0.42,  1.26</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">0.73</td>
<td headers="ci_2" class="gt_row gt_center">0.42,  1.26</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.69</td>
<td headers="ci_1" class="gt_row gt_center">0.40,  1.20</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">0.69</td>
<td headers="ci_2" class="gt_row gt_center">0.40,  1.20</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.62</td>
<td headers="ci_1" class="gt_row gt_center">0.36,  1.07</td>
<td headers="p.value_1" class="gt_row gt_center">0.087</td>
<td headers="estimate_2" class="gt_row gt_center">0.62</td>
<td headers="ci_2" class="gt_row gt_center">0.36,  1.07</td>
<td headers="p.value_2" class="gt_row gt_center">0.087</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.68</td>
<td headers="ci_1" class="gt_row gt_center">0.40,  1.18</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">0.68</td>
<td headers="ci_2" class="gt_row gt_center">0.40,  1.18</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">0.76</td>
<td headers="ci_1" class="gt_row gt_center">0.44,  1.31</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">0.76</td>
<td headers="ci_2" class="gt_row gt_center">0.44,  1.31</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">0.91</td>
<td headers="ci_1" class="gt_row gt_center">0.53,  1.57</td>
<td headers="p.value_1" class="gt_row gt_center">0.7</td>
<td headers="estimate_2" class="gt_row gt_center">0.91</td>
<td headers="ci_2" class="gt_row gt_center">0.53,  1.57</td>
<td headers="p.value_2" class="gt_row gt_center">0.7</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Age (years, centered at 18)</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">0.91</td>
<td headers="ci_2" class="gt_row gt_center">0.83,  1.00</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;">0.041</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Sex</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Male</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Female</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">1.06</td>
<td headers="ci_2" class="gt_row gt_center">0.52,  2.13</td>
<td headers="p.value_2" class="gt_row gt_center">0.9</td></tr>
  </tbody>
  
</table>
</div>

$VL
<div id="msrcibrpsq" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
  <style>#msrcibrpsq table {
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#msrcibrpsq thead, #msrcibrpsq tbody, #msrcibrpsq tfoot, #msrcibrpsq tr, #msrcibrpsq td, #msrcibrpsq th {
  border-style: none;
}

#msrcibrpsq p {
  margin: 0;
  padding: 0;
}

#msrcibrpsq .gt_table {
  display: table;
  border-collapse: collapse;
  line-height: normal;
  margin-left: auto;
  margin-right: auto;
  color: #333333;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  background-color: #FFFFFF;
  width: auto;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #A8A8A8;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #A8A8A8;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
}

#msrcibrpsq .gt_caption {
  padding-top: 4px;
  padding-bottom: 4px;
}

#msrcibrpsq .gt_title {
  color: #333333;
  font-size: 125%;
  font-weight: initial;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-color: #FFFFFF;
  border-bottom-width: 0;
}

#msrcibrpsq .gt_subtitle {
  color: #333333;
  font-size: 85%;
  font-weight: initial;
  padding-top: 3px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-color: #FFFFFF;
  border-top-width: 0;
}

#msrcibrpsq .gt_heading {
  background-color: #FFFFFF;
  text-align: center;
  border-bottom-color: #FFFFFF;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#msrcibrpsq .gt_bottom_border {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#msrcibrpsq .gt_col_headings {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#msrcibrpsq .gt_col_heading {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 6px;
  padding-left: 5px;
  padding-right: 5px;
  overflow-x: hidden;
}

#msrcibrpsq .gt_column_spanner_outer {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 4px;
  padding-right: 4px;
}

#msrcibrpsq .gt_column_spanner_outer:first-child {
  padding-left: 0;
}

#msrcibrpsq .gt_column_spanner_outer:last-child {
  padding-right: 0;
}

#msrcibrpsq .gt_column_spanner {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 5px;
  overflow-x: hidden;
  display: inline-block;
  width: 100%;
}

#msrcibrpsq .gt_spanner_row {
  border-bottom-style: hidden;
}

#msrcibrpsq .gt_group_heading {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  text-align: left;
}

#msrcibrpsq .gt_empty_group_heading {
  padding: 0.5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: middle;
}

#msrcibrpsq .gt_from_md > :first-child {
  margin-top: 0;
}

#msrcibrpsq .gt_from_md > :last-child {
  margin-bottom: 0;
}

#msrcibrpsq .gt_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  margin: 10px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  overflow-x: hidden;
}

#msrcibrpsq .gt_stub {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
}

#msrcibrpsq .gt_stub_row_group {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
  vertical-align: top;
}

#msrcibrpsq .gt_row_group_first td {
  border-top-width: 2px;
}

#msrcibrpsq .gt_row_group_first th {
  border-top-width: 2px;
}

#msrcibrpsq .gt_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#msrcibrpsq .gt_first_summary_row {
  border-top-style: solid;
  border-top-color: #D3D3D3;
}

#msrcibrpsq .gt_first_summary_row.thick {
  border-top-width: 2px;
}

#msrcibrpsq .gt_last_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#msrcibrpsq .gt_grand_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#msrcibrpsq .gt_first_grand_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-style: double;
  border-top-width: 6px;
  border-top-color: #D3D3D3;
}

#msrcibrpsq .gt_last_grand_summary_row_top {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: double;
  border-bottom-width: 6px;
  border-bottom-color: #D3D3D3;
}

#msrcibrpsq .gt_striped {
  background-color: rgba(128, 128, 128, 0.05);
}

#msrcibrpsq .gt_table_body {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#msrcibrpsq .gt_footnotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#msrcibrpsq .gt_footnote {
  margin: 0px;
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#msrcibrpsq .gt_sourcenotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#msrcibrpsq .gt_sourcenote {
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#msrcibrpsq .gt_left {
  text-align: left;
}

#msrcibrpsq .gt_center {
  text-align: center;
}

#msrcibrpsq .gt_right {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#msrcibrpsq .gt_font_normal {
  font-weight: normal;
}

#msrcibrpsq .gt_font_bold {
  font-weight: bold;
}

#msrcibrpsq .gt_font_italic {
  font-style: italic;
}

#msrcibrpsq .gt_super {
  font-size: 65%;
}

#msrcibrpsq .gt_footnote_marks {
  font-size: 75%;
  vertical-align: 0.4em;
  position: initial;
}

#msrcibrpsq .gt_asterisk {
  font-size: 100%;
  vertical-align: 0;
}

#msrcibrpsq .gt_indent_1 {
  text-indent: 5px;
}

#msrcibrpsq .gt_indent_2 {
  text-indent: 10px;
}

#msrcibrpsq .gt_indent_3 {
  text-indent: 15px;
}

#msrcibrpsq .gt_indent_4 {
  text-indent: 20px;
}

#msrcibrpsq .gt_indent_5 {
  text-indent: 25px;
}

#msrcibrpsq .katex-display {
  display: inline-flex !important;
  margin-bottom: 0.75em !important;
}

#msrcibrpsq div.Reactable > div.rt-table > div.rt-thead > div.rt-tr.rt-tr-group-header > div.rt-th-group:after {
  height: 0px !important;
}
</style>
  <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
  <caption><span data-qmd-base64="KipNdXNjbGU6IFZMKio="><span class='gt_from_md'><strong>Muscle: VL</strong></span></span></caption>
  <thead>
    <tr class="gt_col_headings gt_spanner_row">
      <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="2" colspan="1" scope="col" id="label"><span data-qmd-base64="KipDaGFyYWN0ZXJpc3RpYyoq"><span class='gt_from_md'><strong>Characteristic</strong></span></span></th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_1">
        <div class="gt_column_spanner"><span data-qmd-base64="KipVbmFkanVzdGVkKio="><span class='gt_from_md'><strong>Unadjusted</strong></span></span></div>
      </th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_2">
        <div class="gt_column_spanner"><span data-qmd-base64="KipBZGp1c3RlZCoq"><span class='gt_from_md'><strong>Adjusted</strong></span></span></div>
      </th>
    </tr>
    <tr class="gt_col_headings">
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_1"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_1"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_1"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_2"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_2"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_2"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
    </tr>
  </thead>
  <tbody class="gt_table_body">
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    CG-M</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C</td>
<td headers="estimate_1" class="gt_row gt_center">0.85</td>
<td headers="ci_1" class="gt_row gt_center">0.53,  1.36</td>
<td headers="p.value_1" class="gt_row gt_center">0.5</td>
<td headers="estimate_2" class="gt_row gt_center">0.88</td>
<td headers="ci_2" class="gt_row gt_center">0.54,  1.44</td>
<td headers="p.value_2" class="gt_row gt_center">0.6</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I</td>
<td headers="estimate_1" class="gt_row gt_center">0.90</td>
<td headers="ci_1" class="gt_row gt_center">0.56,  1.45</td>
<td headers="p.value_1" class="gt_row gt_center">0.7</td>
<td headers="estimate_2" class="gt_row gt_center">0.94</td>
<td headers="ci_2" class="gt_row gt_center">0.57,  1.53</td>
<td headers="p.value_2" class="gt_row gt_center">0.8</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    tm50_0</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">1.16</td>
<td headers="ci_1" class="gt_row gt_center">0.86,  1.56</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">1.16</td>
<td headers="ci_2" class="gt_row gt_center">0.86,  1.56</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">0.87</td>
<td headers="ci_1" class="gt_row gt_center">0.64,  1.16</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">0.87</td>
<td headers="ci_2" class="gt_row gt_center">0.64,  1.16</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">1.29</td>
<td headers="ci_1" class="gt_row gt_center">0.96,  1.73</td>
<td headers="p.value_1" class="gt_row gt_center">0.094</td>
<td headers="estimate_2" class="gt_row gt_center">1.29</td>
<td headers="ci_2" class="gt_row gt_center">0.96,  1.73</td>
<td headers="p.value_2" class="gt_row gt_center">0.094</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group * Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">1.26</td>
<td headers="ci_1" class="gt_row gt_center">0.83,  1.92</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">1.26</td>
<td headers="ci_2" class="gt_row gt_center">0.83,  1.92</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">1.08</td>
<td headers="ci_1" class="gt_row gt_center">0.71,  1.64</td>
<td headers="p.value_1" class="gt_row gt_center">0.7</td>
<td headers="estimate_2" class="gt_row gt_center">1.08</td>
<td headers="ci_2" class="gt_row gt_center">0.71,  1.64</td>
<td headers="p.value_2" class="gt_row gt_center">0.7</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">1.58</td>
<td headers="ci_1" class="gt_row gt_center">1.04,  2.41</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;">0.032</td>
<td headers="estimate_2" class="gt_row gt_center">1.58</td>
<td headers="ci_2" class="gt_row gt_center">1.04,  2.41</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;">0.032</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">1.48</td>
<td headers="ci_1" class="gt_row gt_center">0.97,  2.25</td>
<td headers="p.value_1" class="gt_row gt_center">0.068</td>
<td headers="estimate_2" class="gt_row gt_center">1.48</td>
<td headers="ci_2" class="gt_row gt_center">0.97,  2.25</td>
<td headers="p.value_2" class="gt_row gt_center">0.068</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">1.30</td>
<td headers="ci_1" class="gt_row gt_center">0.85,  1.98</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">1.30</td>
<td headers="ci_2" class="gt_row gt_center">0.85,  1.98</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">1.18</td>
<td headers="ci_1" class="gt_row gt_center">0.77,  1.79</td>
<td headers="p.value_1" class="gt_row gt_center">0.4</td>
<td headers="estimate_2" class="gt_row gt_center">1.18</td>
<td headers="ci_2" class="gt_row gt_center">0.77,  1.79</td>
<td headers="p.value_2" class="gt_row gt_center">0.4</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Age (years, centered at 18)</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">1.02</td>
<td headers="ci_2" class="gt_row gt_center">0.97,  1.08</td>
<td headers="p.value_2" class="gt_row gt_center">0.4</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Sex</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Male</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Female</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">0.96</td>
<td headers="ci_2" class="gt_row gt_center">0.62,  1.48</td>
<td headers="p.value_2" class="gt_row gt_center">0.8</td></tr>
  </tbody>
  
</table>
</div>

$VM
<div id="ngvsmgjavh" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
  <style>#ngvsmgjavh table {
  font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#ngvsmgjavh thead, #ngvsmgjavh tbody, #ngvsmgjavh tfoot, #ngvsmgjavh tr, #ngvsmgjavh td, #ngvsmgjavh th {
  border-style: none;
}

#ngvsmgjavh p {
  margin: 0;
  padding: 0;
}

#ngvsmgjavh .gt_table {
  display: table;
  border-collapse: collapse;
  line-height: normal;
  margin-left: auto;
  margin-right: auto;
  color: #333333;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  background-color: #FFFFFF;
  width: auto;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #A8A8A8;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #A8A8A8;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
}

#ngvsmgjavh .gt_caption {
  padding-top: 4px;
  padding-bottom: 4px;
}

#ngvsmgjavh .gt_title {
  color: #333333;
  font-size: 125%;
  font-weight: initial;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-color: #FFFFFF;
  border-bottom-width: 0;
}

#ngvsmgjavh .gt_subtitle {
  color: #333333;
  font-size: 85%;
  font-weight: initial;
  padding-top: 3px;
  padding-bottom: 5px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-color: #FFFFFF;
  border-top-width: 0;
}

#ngvsmgjavh .gt_heading {
  background-color: #FFFFFF;
  text-align: center;
  border-bottom-color: #FFFFFF;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#ngvsmgjavh .gt_bottom_border {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#ngvsmgjavh .gt_col_headings {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
}

#ngvsmgjavh .gt_col_heading {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 6px;
  padding-left: 5px;
  padding-right: 5px;
  overflow-x: hidden;
}

#ngvsmgjavh .gt_column_spanner_outer {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: normal;
  text-transform: inherit;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 4px;
  padding-right: 4px;
}

#ngvsmgjavh .gt_column_spanner_outer:first-child {
  padding-left: 0;
}

#ngvsmgjavh .gt_column_spanner_outer:last-child {
  padding-right: 0;
}

#ngvsmgjavh .gt_column_spanner {
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: bottom;
  padding-top: 5px;
  padding-bottom: 5px;
  overflow-x: hidden;
  display: inline-block;
  width: 100%;
}

#ngvsmgjavh .gt_spanner_row {
  border-bottom-style: hidden;
}

#ngvsmgjavh .gt_group_heading {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  text-align: left;
}

#ngvsmgjavh .gt_empty_group_heading {
  padding: 0.5px;
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  vertical-align: middle;
}

#ngvsmgjavh .gt_from_md > :first-child {
  margin-top: 0;
}

#ngvsmgjavh .gt_from_md > :last-child {
  margin-bottom: 0;
}

#ngvsmgjavh .gt_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  margin: 10px;
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 1px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 1px;
  border-right-color: #D3D3D3;
  vertical-align: middle;
  overflow-x: hidden;
}

#ngvsmgjavh .gt_stub {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
}

#ngvsmgjavh .gt_stub_row_group {
  color: #333333;
  background-color: #FFFFFF;
  font-size: 100%;
  font-weight: initial;
  text-transform: inherit;
  border-right-style: solid;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
  padding-left: 5px;
  padding-right: 5px;
  vertical-align: top;
}

#ngvsmgjavh .gt_row_group_first td {
  border-top-width: 2px;
}

#ngvsmgjavh .gt_row_group_first th {
  border-top-width: 2px;
}

#ngvsmgjavh .gt_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#ngvsmgjavh .gt_first_summary_row {
  border-top-style: solid;
  border-top-color: #D3D3D3;
}

#ngvsmgjavh .gt_first_summary_row.thick {
  border-top-width: 2px;
}

#ngvsmgjavh .gt_last_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#ngvsmgjavh .gt_grand_summary_row {
  color: #333333;
  background-color: #FFFFFF;
  text-transform: inherit;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}

#ngvsmgjavh .gt_first_grand_summary_row {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-top-style: double;
  border-top-width: 6px;
  border-top-color: #D3D3D3;
}

#ngvsmgjavh .gt_last_grand_summary_row_top {
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
  border-bottom-style: double;
  border-bottom-width: 6px;
  border-bottom-color: #D3D3D3;
}

#ngvsmgjavh .gt_striped {
  background-color: rgba(128, 128, 128, 0.05);
}

#ngvsmgjavh .gt_table_body {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #D3D3D3;
  border-bottom-style: solid;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
}

#ngvsmgjavh .gt_footnotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#ngvsmgjavh .gt_footnote {
  margin: 0px;
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#ngvsmgjavh .gt_sourcenotes {
  color: #333333;
  background-color: #FFFFFF;
  border-bottom-style: none;
  border-bottom-width: 2px;
  border-bottom-color: #D3D3D3;
  border-left-style: none;
  border-left-width: 2px;
  border-left-color: #D3D3D3;
  border-right-style: none;
  border-right-width: 2px;
  border-right-color: #D3D3D3;
}

#ngvsmgjavh .gt_sourcenote {
  font-size: 90%;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 5px;
  padding-right: 5px;
}

#ngvsmgjavh .gt_left {
  text-align: left;
}

#ngvsmgjavh .gt_center {
  text-align: center;
}

#ngvsmgjavh .gt_right {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

#ngvsmgjavh .gt_font_normal {
  font-weight: normal;
}

#ngvsmgjavh .gt_font_bold {
  font-weight: bold;
}

#ngvsmgjavh .gt_font_italic {
  font-style: italic;
}

#ngvsmgjavh .gt_super {
  font-size: 65%;
}

#ngvsmgjavh .gt_footnote_marks {
  font-size: 75%;
  vertical-align: 0.4em;
  position: initial;
}

#ngvsmgjavh .gt_asterisk {
  font-size: 100%;
  vertical-align: 0;
}

#ngvsmgjavh .gt_indent_1 {
  text-indent: 5px;
}

#ngvsmgjavh .gt_indent_2 {
  text-indent: 10px;
}

#ngvsmgjavh .gt_indent_3 {
  text-indent: 15px;
}

#ngvsmgjavh .gt_indent_4 {
  text-indent: 20px;
}

#ngvsmgjavh .gt_indent_5 {
  text-indent: 25px;
}

#ngvsmgjavh .katex-display {
  display: inline-flex !important;
  margin-bottom: 0.75em !important;
}

#ngvsmgjavh div.Reactable > div.rt-table > div.rt-thead > div.rt-tr.rt-tr-group-header > div.rt-th-group:after {
  height: 0px !important;
}
</style>
  <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
  <caption><span data-qmd-base64="KipNdXNjbGU6IFZNKio="><span class='gt_from_md'><strong>Muscle: VM</strong></span></span></caption>
  <thead>
    <tr class="gt_col_headings gt_spanner_row">
      <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="2" colspan="1" scope="col" id="label"><span data-qmd-base64="KipDaGFyYWN0ZXJpc3RpYyoq"><span class='gt_from_md'><strong>Characteristic</strong></span></span></th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_1">
        <div class="gt_column_spanner"><span data-qmd-base64="KipVbmFkanVzdGVkKio="><span class='gt_from_md'><strong>Unadjusted</strong></span></span></div>
      </th>
      <th class="gt_center gt_columns_top_border gt_column_spanner_outer" rowspan="1" colspan="3" scope="colgroup" id="level 1; estimate_2">
        <div class="gt_column_spanner"><span data-qmd-base64="KipBZGp1c3RlZCoq"><span class='gt_from_md'><strong>Adjusted</strong></span></span></div>
      </th>
    </tr>
    <tr class="gt_col_headings">
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_1"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_1"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_1"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="estimate_2"><span data-qmd-base64="KipSYXRpbyoq"><span class='gt_from_md'><strong>Ratio</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="ci_2"><span data-qmd-base64="Kio5NSUgQ0kqKg=="><span class='gt_from_md'><strong>95% CI</strong></span></span></th>
      <th class="gt_col_heading gt_columns_bottom_border gt_center" rowspan="1" colspan="1" scope="col" id="p.value_2"><span data-qmd-base64="KipwLXZhbHVlKio="><span class='gt_from_md'><strong>p-value</strong></span></span></th>
    </tr>
  </thead>
  <tbody class="gt_table_body">
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    CG-M</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C</td>
<td headers="estimate_1" class="gt_row gt_center">0.80</td>
<td headers="ci_1" class="gt_row gt_center">0.45,  1.43</td>
<td headers="p.value_1" class="gt_row gt_center">0.4</td>
<td headers="estimate_2" class="gt_row gt_center">0.84</td>
<td headers="ci_2" class="gt_row gt_center">0.46,  1.53</td>
<td headers="p.value_2" class="gt_row gt_center">0.6</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I</td>
<td headers="estimate_1" class="gt_row gt_center">0.95</td>
<td headers="ci_1" class="gt_row gt_center">0.53,  1.69</td>
<td headers="p.value_1" class="gt_row gt_center">0.9</td>
<td headers="estimate_2" class="gt_row gt_center">1.00</td>
<td headers="ci_2" class="gt_row gt_center">0.55,  1.81</td>
<td headers="p.value_2" class="gt_row gt_center">>0.9</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    tm50_0</td>
<td headers="estimate_1" class="gt_row gt_center">—</td>
<td headers="ci_1" class="gt_row gt_center">—</td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">1.73</td>
<td headers="ci_1" class="gt_row gt_center">1.19,  2.52</td>
<td headers="p.value_1" class="gt_row gt_center" style="font-weight: bold;">0.005</td>
<td headers="estimate_2" class="gt_row gt_center">1.73</td>
<td headers="ci_2" class="gt_row gt_center">1.19,  2.52</td>
<td headers="p.value_2" class="gt_row gt_center" style="font-weight: bold;">0.005</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">1.09</td>
<td headers="ci_1" class="gt_row gt_center">0.75,  1.59</td>
<td headers="p.value_1" class="gt_row gt_center">0.6</td>
<td headers="estimate_2" class="gt_row gt_center">1.09</td>
<td headers="ci_2" class="gt_row gt_center">0.75,  1.59</td>
<td headers="p.value_2" class="gt_row gt_center">0.6</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">1.31</td>
<td headers="ci_1" class="gt_row gt_center">0.90,  1.91</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">1.31</td>
<td headers="ci_2" class="gt_row gt_center">0.90,  1.91</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Group * Window</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">1.11</td>
<td headers="ci_1" class="gt_row gt_center">0.65,  1.89</td>
<td headers="p.value_1" class="gt_row gt_center">0.7</td>
<td headers="estimate_2" class="gt_row gt_center">1.11</td>
<td headers="ci_2" class="gt_row gt_center">0.65,  1.89</td>
<td headers="p.value_2" class="gt_row gt_center">0.7</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t20_40</td>
<td headers="estimate_1" class="gt_row gt_center">0.77</td>
<td headers="ci_1" class="gt_row gt_center">0.45,  1.32</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">0.77</td>
<td headers="ci_2" class="gt_row gt_center">0.45,  1.32</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">1.43</td>
<td headers="ci_1" class="gt_row gt_center">0.84,  2.44</td>
<td headers="p.value_1" class="gt_row gt_center">0.2</td>
<td headers="estimate_2" class="gt_row gt_center">1.43</td>
<td headers="ci_2" class="gt_row gt_center">0.84,  2.44</td>
<td headers="p.value_2" class="gt_row gt_center">0.2</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t40_60</td>
<td headers="estimate_1" class="gt_row gt_center">1.31</td>
<td headers="ci_1" class="gt_row gt_center">0.77,  2.24</td>
<td headers="p.value_1" class="gt_row gt_center">0.3</td>
<td headers="estimate_2" class="gt_row gt_center">1.31</td>
<td headers="ci_2" class="gt_row gt_center">0.77,  2.24</td>
<td headers="p.value_2" class="gt_row gt_center">0.3</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-C * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">1.51</td>
<td headers="ci_1" class="gt_row gt_center">0.89,  2.58</td>
<td headers="p.value_1" class="gt_row gt_center">0.13</td>
<td headers="estimate_2" class="gt_row gt_center">1.51</td>
<td headers="ci_2" class="gt_row gt_center">0.89,  2.58</td>
<td headers="p.value_2" class="gt_row gt_center">0.13</td></tr>
    <tr><td headers="label" class="gt_row gt_left">    ACL-I * t60_95</td>
<td headers="estimate_1" class="gt_row gt_center">1.18</td>
<td headers="ci_1" class="gt_row gt_center">0.69,  2.01</td>
<td headers="p.value_1" class="gt_row gt_center">0.5</td>
<td headers="estimate_2" class="gt_row gt_center">1.18</td>
<td headers="ci_2" class="gt_row gt_center">0.69,  2.01</td>
<td headers="p.value_2" class="gt_row gt_center">0.5</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Age (years, centered at 18)</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">1.03</td>
<td headers="ci_2" class="gt_row gt_center">0.96,  1.10</td>
<td headers="p.value_2" class="gt_row gt_center">0.4</td></tr>
    <tr><td headers="label" class="gt_row gt_left" style="font-weight: bold;">Sex</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center"><br /></td>
<td headers="ci_2" class="gt_row gt_center"><br /></td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Male</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">—</td>
<td headers="ci_2" class="gt_row gt_center">—</td>
<td headers="p.value_2" class="gt_row gt_center"><br /></td></tr>
    <tr><td headers="label" class="gt_row gt_left">    Female</td>
<td headers="estimate_1" class="gt_row gt_center"><br /></td>
<td headers="ci_1" class="gt_row gt_center"><br /></td>
<td headers="p.value_1" class="gt_row gt_center"><br /></td>
<td headers="estimate_2" class="gt_row gt_center">0.88</td>
<td headers="ci_2" class="gt_row gt_center">0.53,  1.48</td>
<td headers="p.value_2" class="gt_row gt_center">0.6</td></tr>
  </tbody>
  
</table>
</div>
Code
iwalk(tbls.emg.by.muscle, function(tbl, mus) {

  tbl %>%
    as_flex_table() %>%
    set_caption(paste0("LMM Model EMG - ", mus,
                       " (adjusted and unadjusted)")) %>%
    flextable::set_table_properties(width = 1, layout = "autofit") %>%
    flextable::fontsize(size = 8, part = "all") %>%
    flextable::font(fontname = "Times New Roman", part = "all") %>%
    flextable::save_as_docx(
      path = paste0("../tables/tbl.model.emg.lmm.", mus, ".docx"))})
Code
# emmeans.emg.lmm <- emmeans(model.emg, ~ group_ad | Muscle | Window, type = "response")
# df.emg.emmeans.lmm <- as.data.frame(confint(emmeans.emg.lmm, level = 0.95))
# 
# # EMG contrasts plots
# contr.emg.lmm <- pairs(emmeans.emg.lmm, adjust = "holm")
# df.emg.contr.lmm <- as.data.frame(confint(contr.emg.lmm))
# 
# # Relevel Window variable
# df.emg.contr.lmm$Window <- factor(
#   df.emg.contr.lmm$Window,
#   levels = c("tm50_0", "t20_40", "t40_60", "t60_95"))
# 
# xcol <- if ("ratio" %in% 
#             names(df.emg.contr.lmm)) "ratio" else "estimate"
# 
# plot.emg.lmm.contrasts <- ggplot(df.emg.contr.lmm,
#        aes(x = .data[[xcol]], y = contrast)) +
#   geom_vline(xintercept = 1, linetype = "dashed") +
#   geom_point(size = 2.5) +
#   geom_errorbarh(aes(xmin = asymp.LCL,
#                      xmax = asymp.UCL),
#                  height = 0.2) +
#   facet_grid(Muscle ~ Window) +
#   labs(
#     x = "Ratio of estimated marginal means",
#     y = "Group contrast") +
#   theme_classic(base_size = 12) +
#     scale_x_continuous(expand = expansion(mult = c(0.02, 0.05))) +
#   ggpubr::theme_pubr(base_size = 14) +
#   theme(
#     axis.title = element_text(face = "bold"),
#     axis.text  = element_text(color = "black"),
#     panel.border = element_rect(fill = NA, linewidth = 0.8),
#     plot.margin = margin(10, 12, 10, 10))
# 
# plot.emg.lmm.contrasts
Code
# emmeans per muscle (adjusted model)
# contrasts per muscle
contr_by_muscle <- imap(models.emg.adj, function(mod, mus) {
  emm <- emmeans(mod, ~ group_ad | Window, type = "response")
  pairs(emm, adjust = "holm") %>%
    confint(level = 0.95) %>%
    as.data.frame() %>%
    mutate(Muscle = mus)})

df.emg.contr.lmm <- bind_rows(contr_by_muscle)
df.emg.contr.lmm
            contrast Window     ratio        SE        df  lower.CL upper.CL
1   (CG-M) / (ACL-C) tm50_0 1.0159568 0.3868352  32.84291 0.3887686 2.654968
2   (CG-M) / (ACL-I) tm50_0 1.0401239 0.3960370  32.84291 0.3980165 2.718123
3  (ACL-C) / (ACL-I) tm50_0 1.0237875 0.2238764 100.01432 0.6011295 1.743619
4   (CG-M) / (ACL-C) t20_40 1.5635882 0.5953510  32.84291 0.5983267 4.086076
5   (CG-M) / (ACL-I) t20_40 1.9035953 0.7248120  32.84291 0.7284347 4.974606
6  (ACL-C) / (ACL-I) t20_40 1.2174531 0.2662262 100.01432 0.7148427 2.073452
7   (CG-M) / (ACL-C) t40_60 1.9548249 0.7443181  32.84291 0.7480383 5.108482
8   (CG-M) / (ACL-I) t40_60 1.7031850 0.6485038  32.84291 0.6517451 4.450880
9  (ACL-C) / (ACL-I) t40_60 0.8712724 0.1905252 100.01432 0.5115784 1.483869
10  (CG-M) / (ACL-C) t60_95 1.4193089 0.5404153  32.84291 0.5431164 3.709035
11  (CG-M) / (ACL-I) t60_95 1.2707263 0.4838411  32.84291 0.4862594 3.320749
12 (ACL-C) / (ACL-I) t60_95 0.8953135 0.1957824 100.01432 0.5256944 1.524814
13  (CG-M) / (ACL-C) tm50_0 1.3435848 0.4962568  29.52194 0.5261667 3.430890
14  (CG-M) / (ACL-I) tm50_0 1.3383864 0.4943368  29.52194 0.5241309 3.417616
15 (ACL-C) / (ACL-I) tm50_0 0.9961310 0.1934943 100.00898 0.6207365 1.598548
16  (CG-M) / (ACL-C) t20_40 1.8416922 0.6802342  29.52194 0.7212326 4.702825
17  (CG-M) / (ACL-I) t20_40 1.9283374 0.7122368  29.52194 0.7551640 4.924076
18 (ACL-C) / (ACL-I) t20_40 1.0470465 0.2033844 100.00898 0.6524644 1.680255
19  (CG-M) / (ACL-C) t40_60 2.1612889 0.7982781  29.52194 0.8463911 5.518926
20  (CG-M) / (ACL-I) t40_60 1.9551739 0.7221489  29.52194 0.7656736 4.992604
21 (ACL-C) / (ACL-I) t40_60 0.9046333 0.1757212 100.00898 0.5637199 1.451716
22  (CG-M) / (ACL-C) t60_95 1.7715658 0.6543328  29.52194 0.6937701 4.523754
23  (CG-M) / (ACL-I) t60_95 1.4668989 0.5418032  29.52194 0.5744582 3.745777
24 (ACL-C) / (ACL-I) t60_95 0.8280239 0.1608402 100.00898 0.5159810 1.328777
25  (CG-M) / (ACL-C) tm50_0 1.1363723 0.2774502  36.13225 0.6156166 2.097640
26  (CG-M) / (ACL-I) tm50_0 1.0684148 0.2608580  36.13225 0.5788014 1.972197
27 (ACL-C) / (ACL-I) tm50_0 0.9401978 0.1407563 100.02067 0.6529899 1.353730
28  (CG-M) / (ACL-C) t20_40 0.9027957 0.2204214  36.13225 0.4890792 1.666479
29  (CG-M) / (ACL-I) t20_40 0.9887959 0.2414188  36.13225 0.5356688 1.825227
30 (ACL-C) / (ACL-I) t20_40 1.0952599 0.1639706 100.02067 0.7606842 1.576994
31  (CG-M) / (ACL-C) t40_60 0.7177004 0.1752296  36.13225 0.3888059 1.324810
32  (CG-M) / (ACL-I) t40_60 0.7228880 0.1764962  36.13225 0.3916163 1.334386
33 (ACL-C) / (ACL-I) t40_60 1.0072281 0.1507914 100.02067 0.6995440 1.450243
34  (CG-M) / (ACL-C) t60_95 0.8749142 0.2136141  36.13225 0.4739747 1.615012
35  (CG-M) / (ACL-I) t60_95 0.9077590 0.2216332  36.13225 0.4917680 1.675641
36 (ACL-C) / (ACL-I) t60_95 1.0375405 0.1553294 100.02067 0.7205967 1.493887
37  (CG-M) / (ACL-C) tm50_0 1.1888692 0.3517768  39.09746 0.5671480 2.492136
38  (CG-M) / (ACL-I) tm50_0 1.0047378 0.2972938  39.09746 0.4793085 2.106155
39 (ACL-C) / (ACL-I) tm50_0 0.8451206 0.1607310 100.02727 0.5318660 1.342874
40  (CG-M) / (ACL-C) t20_40 1.0752590 0.3181604  39.09746 0.5129505 2.253984
41  (CG-M) / (ACL-I) t20_40 1.3006540 0.3848530  39.09746 0.6204748 2.726462
42 (ACL-C) / (ACL-I) t20_40 1.2096192 0.2300539 100.02727 0.7612586 1.922052
43  (CG-M) / (ACL-C) t40_60 0.8295605 0.2454602  39.09746 0.3957404 1.738945
44  (CG-M) / (ACL-I) t40_60 0.7652605 0.2264344  39.09746 0.3650662 1.604157
45 (ACL-C) / (ACL-I) t40_60 0.9224891 0.1754454 100.02727 0.5805569 1.465810
46  (CG-M) / (ACL-C) t60_95 0.7852004 0.2323344  39.09746 0.3745785 1.645956
47  (CG-M) / (ACL-I) t60_95 0.8519971 0.2520990  39.09746 0.4064438 1.785977
48 (ACL-C) / (ACL-I) t60_95 1.0850697 0.2063662 100.02727 0.6828749 1.724146
   Muscle
1      BF
2      BF
3      BF
4      BF
5      BF
6      BF
7      BF
8      BF
9      BF
10     BF
11     BF
12     BF
13     ST
14     ST
15     ST
16     ST
17     ST
18     ST
19     ST
20     ST
21     ST
22     ST
23     ST
24     ST
25     VL
26     VL
27     VL
28     VL
29     VL
30     VL
31     VL
32     VL
33     VL
34     VL
35     VL
36     VL
37     VM
38     VM
39     VM
40     VM
41     VM
42     VM
43     VM
44     VM
45     VM
46     VM
47     VM
48     VM
Code
# order window variable
df.emg.contr.lmm$Window <- factor(
  df.emg.contr.lmm$Window,
  levels = c("tm50_0", "t20_40", "t40_60", "t60_95"))

# 4) Spalte für x-Achse: bei type="response" ist es i.d.R. "ratio"
xcol <- if ("ratio" %in% names(df.emg.contr.lmm)) "ratio" else "estimate"

# 5) Plot
plot.emg.lmm.contrasts <- ggplot(df.emg.contr.lmm,
                                  aes(x = .data[[xcol]], y = contrast)) +
  geom_vline(xintercept = 1, linetype = "dashed") +
  geom_point(size = 2.5) +
  geom_errorbarh(aes(xmin = lower.CL, xmax = upper.CL), height = 0.2)+
  facet_grid(Muscle ~ Window) +
  scale_x_log10() +
  labs(
    x = "EMG ratio (Group A / Group B)",
    y = "Group contrast") +
  theme_classic(base_size = 12) +
  scale_x_continuous(expand = expansion(mult = c(0.02, 0.05))) +
  ggpubr::theme_pubr(base_size = 14) +
  theme(
    axis.title = element_text(face = "bold"),
    axis.text  = element_text(color = "black"),
    panel.border = element_rect(fill = NA, linewidth = 0.8),
    plot.margin = margin(10, 12, 10, 10))

plot.emg.lmm.contrasts

Code
ggsave(
  filename = "../figures/plot.emg.lmm.contrasts.png",
  plot = plot.emg.lmm.contrasts,
  width = 20,
  height = 20,
  units = "cm",
  dpi = 600)

9 Session info

Code
sessionInfo()
R version 4.5.2 (2025-10-31)
Platform: aarch64-apple-darwin20
Running under: macOS Tahoe 26.2

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.5-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.1

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: Europe/Zurich
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] parameters_0.28.3  emmeans_2.0.1      lmerTest_3.2-0     lme4_1.1-38       
 [5] Hmisc_5.2-5        mosaic_1.9.2       mosaicData_0.20.4  ggformula_1.0.1   
 [9] Matrix_1.7-4       lattice_0.22-7     DataExplorer_0.8.4 qqplotr_0.0.7     
[13] janitor_2.2.1      ggpubr_0.6.2       optmatch_0.10.8    gtsummary_2.5.0   
[17] flextable_0.9.10   lubridate_1.9.4    forcats_1.0.1      stringr_1.6.0     
[21] dplyr_1.1.4        purrr_1.2.1        readr_2.1.6        tidyr_1.3.2       
[25] tibble_3.3.1       ggplot2_4.0.1      tidyverse_2.0.0    readxl_1.4.5      
[29] rio_1.2.4          pacman_0.5.1      

loaded via a namespace (and not attached):
  [1] splines_4.5.2           bitops_1.0-9            R.oo_1.27.1            
  [4] cellranger_1.1.0        datawizard_1.3.0        rpart_4.1.24           
  [7] lifecycle_1.0.5         Rdpack_2.6.6            rstatix_0.7.3          
 [10] pbmcapply_1.5.1         doParallel_1.0.17       globals_0.19.0         
 [13] MASS_7.3-65             insight_1.4.6           backports_1.5.0        
 [16] magrittr_2.0.4          sass_0.4.10             rmarkdown_2.30         
 [19] yaml_2.3.12             qqconf_1.3.2            otel_0.2.0             
 [22] zip_2.3.3               askpass_1.2.1           minqa_1.2.8            
 [25] RColorBrewer_1.1-3      abind_1.4-8             R.utils_2.13.0         
 [28] nnet_7.3-20             pracma_2.4.6            gdtools_0.4.4          
 [31] labelled_2.16.0         data.tree_1.2.0         pbkrtest_0.5.5         
 [34] listenv_0.10.0          cards_0.7.1             parallelly_1.46.1      
 [37] commonmark_2.0.0        codetools_0.2-20        xml2_1.5.2             
 [40] tidyselect_1.2.1        farver_2.1.2            broom.mixed_0.2.9.6    
 [43] base64enc_0.1-3         broom.helpers_1.22.0    jsonlite_2.0.0         
 [46] opdisDownsampling_1.0.1 Formula_1.2-5           ggridges_0.5.7         
 [49] iterators_1.0.14        systemfonts_1.3.1       foreach_1.5.2          
 [52] tools_4.5.2             twosamples_2.0.1        ragg_1.5.0             
 [55] Rcpp_1.1.1              glue_1.8.0              gridExtra_2.3          
 [58] xfun_0.56               withr_3.0.2             numDeriv_2016.8-1.1    
 [61] fastmap_1.2.0           boot_1.3-32             openssl_2.3.4          
 [64] litedown_0.9            caTools_1.18.3          digest_0.6.39          
 [67] timechange_0.3.0        R6_2.6.1                estimability_1.5.1     
 [70] textshaping_1.0.4       colorspace_2.1-2        networkD3_0.4.1        
 [73] markdown_2.0            R.methodsS3_1.8.2       generics_0.1.4         
 [76] fontLiberation_0.1.0    data.table_1.18.0       robustbase_0.99-7      
 [79] htmlwidgets_1.6.4       pkgconfig_2.0.3         gtable_0.3.6           
 [82] S7_0.2.1                furrr_0.3.1             htmltools_0.5.9        
 [85] fontBitstreamVera_0.1.1 carData_3.0-6           scales_1.4.0           
 [88] reformulas_0.4.4        snakecase_0.11.1        knitr_1.51             
 [91] rstudioapi_0.18.0       tzdb_0.5.0              uuid_1.2-2             
 [94] coda_0.19-4.1           checkmate_2.3.4         nlme_3.1-168           
 [97] nloptr_2.2.1            parallel_4.5.2          foreign_0.8-90         
[100] pillar_1.11.1           grid_4.5.2              vctrs_0.7.1            
[103] car_3.1-5               cluster_2.1.8.1         htmlTable_2.4.3        
[106] evaluate_1.0.5          mvtnorm_1.3-3           cli_3.6.5              
[109] compiler_4.5.2          rlang_1.1.7             ggsignif_0.6.4         
[112] labeling_0.4.3          fs_1.6.6                ggiraph_0.9.4          
[115] stringi_1.8.7           bayestestR_0.17.0       mosaicCore_0.9.5       
[118] fontquiver_0.2.1        hms_1.1.4               future_1.69.0          
[121] haven_2.5.5             rbibutils_2.4.1         igraph_2.2.2           
[124] gt_1.3.0                broom_1.0.11            DEoptimR_1.1-4         
[127] officer_0.7.3