TABLE 1A
#TABLE 1A
cont_vars<-c(
"log_MONO_BL")
combined_df %>%
dplyr::select(Cohort,
Sex,
Age,
log_BMI,
log_NEUT_BL,
log_MONO_BL,
log_LYMPH_BL,
log_SIRI_BL) %>%
tbl_summary(by = Cohort,
type=list(cont_vars~"continuous"),
missing="no") %>%
add_p(pvalue_fun = ~ style_pvalue(.x, digits = 2)) %>%
add_overall() %>%
add_n() %>%
modify_header(label ~ "**Variable**") %>%
# modify_spanning_header(c("stat_1", "stat_2") ~ "**Treatment Arm**") %>%
modify_footnote(
all_stat_cols() ~ "Median (IQR) or Frequency (%)") %>%
modify_caption("**Table 1. Demographics and CBC markers by Group**") %>%
bold_labels() %>%
bold_p(t=0.1) %>%
add_q(method="bonferroni")
## 2 observations missing `Cohort` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `Cohort` column before passing to `tbl_summary()`.
## Note: Using an external vector in selections is ambiguous.
## ℹ Use `all_of(cont_vars)` instead of `cont_vars` to silence this message.
## ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
## This message is displayed once per session.
## add_q: Adjusting p-values with
## `stats::p.adjust(x$table_body$p.value, method = "bonferroni")`
Table 1. Demographics and CBC markers by Group
| Variable |
N |
Overall, N = 84 |
CBX_ESC, N = 29 |
HC, N = 32 |
PBO_ESC, N = 23 |
p-value |
q-value |
| Sex |
83 |
|
|
|
|
0.016 |
0.11 |
| Male |
|
44 (53%) |
17 (59%) |
11 (34%) |
16 (73%) |
|
|
| Female |
|
39 (47%) |
12 (41%) |
21 (66%) |
6 (27%) |
|
|
| Age |
74 |
40 (31, 52) |
38 (31, 44) |
37 (26, 53) |
47 (35, 58) |
0.083 |
0.58 |
| log_BMI |
71 |
3.37 (3.23, 3.49) |
3.39 (3.29, 3.57) |
3.20 (3.12, 3.34) |
3.44 (3.33, 3.60) |
<0.001 |
0.005 |
| log_NEUT_BL |
81 |
1.25 (1.03, 1.57) |
1.28 (1.08, 1.49) |
1.15 (1.02, 1.53) |
1.50 (1.06, 1.68) |
0.30 |
>0.99 |
| log_MONO_BL |
82 |
-0.92 (-0.92, -0.51) |
-0.69 (-0.92, -0.51) |
-0.92 (-0.92, -0.65) |
-0.69 (-1.13, -0.40) |
0.81 |
>0.99 |
| log_LYMPH_BL |
82 |
0.59 (0.47, 0.79) |
0.59 (0.52, 0.79) |
0.59 (0.52, 0.83) |
0.59 (0.47, 0.79) |
0.90 |
>0.99 |
| log_SIRI_BL |
81 |
-0.16 (-0.51, 0.24) |
-0.03 (-0.52, 0.20) |
-0.28 (-0.54, 0.19) |
0.04 (-0.32, 0.40) |
0.41 |
>0.99 |
# %>%
# gtsummary::as_tibble() %>%
# writexl::write_xlsx(., "Table 1. Patient Characteristics (Whole Cohort)")
#Table 1B
#TABLE 1B
cont_vars<-c(
"log_IL1A_BL",
"log_IL1B_BL",
"log_IFNG_BL")
combined_df %>%
dplyr::select(-Subject_ID,
-Group,
-Cohort,
-log_SII_BL,
-log_NEUT_BL,
-log_PLT_BL,
-log_MONO_BL,
-log_LYMPH_BL,
-contains("WK8"),
-contains("KP"),
log_KP_Trp_BL,
log_KP_Kyn_BL,
log_KP_Quin_BL,
log_KP_Pic_BL,
log_KP_KYN_TRP_BL,
log_KP_QUIN_PIC_BL,
HAMD17_WK8) %>%
tbl_summary(by = Arm,
type=list(cont_vars~"continuous"),
missing="no") %>%
add_p(pvalue_fun = ~ style_pvalue(.x, digits = 2)) %>%
add_overall() %>%
add_n() %>%
modify_header(label ~ "**Variable**") %>%
# modify_spanning_header(c("stat_1", "stat_2") ~ "**Treatment Arm**") %>%
modify_footnote(
all_stat_cols() ~ "Median (IQR) or Frequency (%)") %>%
modify_caption("**Table 1. Patient Characteristics (Whole Cohort)**") %>%
bold_labels() %>%
bold_p(t=0.1) %>%
add_q(method="bonferroni")
## 34 observations missing `Arm` have been removed. To include these observations, use `forcats::fct_explicit_na()` on `Arm` column before passing to `tbl_summary()`.
## Warning for variable 'Age':
## simpleWarning in wilcox.test.default(x = c(61, 32, 64, 64, 36, 50, 57, 59, 62, : cannot compute exact p-value with ties
## Warning for variable 'HAMD17_BL':
## simpleWarning in wilcox.test.default(x = c(21, 23, 33, 27, 26, 35, 23, 15, 26, : cannot compute exact p-value with ties
## Warning for variable 'log_BMI':
## simpleWarning in wilcox.test.default(x = c(3.68637632389582, 3.61899332664977, : cannot compute exact p-value with ties
## Warning for variable 'log_SIRI_BL':
## simpleWarning in wilcox.test.default(x = c(-0.341749293722057, -1.01291756756323, : cannot compute exact p-value with ties
## Warning for variable 'log_IL1A_BL':
## simpleWarning in wilcox.test.default(x = c(0.792992515529661, 0.693147180559945, : cannot compute exact p-value with ties
## Warning for variable 'log_IL1B_BL':
## simpleWarning in wilcox.test.default(x = c(0.989541193613748, 0.693147180559945, : cannot compute exact p-value with ties
## Warning for variable 'log_IL6_BL':
## simpleWarning in wilcox.test.default(x = c(1.68268837417369, 1.72988406550997, : cannot compute exact p-value with ties
## Warning for variable 'log_TNFA_BL':
## simpleWarning in wilcox.test.default(x = c(1.39871688111845, 1.43983512804792, : cannot compute exact p-value with ties
## Warning for variable 'log_IFNG_BL':
## simpleWarning in wilcox.test.default(x = c(1.19694818938897, 0.693147180559945, : cannot compute exact p-value with ties
## Warning for variable 'log_FGF_BL':
## simpleWarning in wilcox.test.default(x = c(1.3609765531356, 1.58923520511658, : cannot compute exact p-value with ties
## Warning for variable 'log_EGF_BL':
## simpleWarning in wilcox.test.default(x = c(1.32175583998232, 1.53901544813755, : cannot compute exact p-value with ties
## Warning for variable 'log_KP_Quin_BL':
## simpleWarning in wilcox.test.default(x = c(4.32809829264833, 3.8177123259569, : cannot compute exact p-value with ties
## Warning for variable 'log_KP_Pic_BL':
## simpleWarning in wilcox.test.default(x = c(3.45315712059287, 3.16968558067743, : cannot compute exact p-value with ties
## Warning for variable 'HAMD17_WK8':
## simpleWarning in wilcox.test.default(x = c(19, 11, 33, 33, 9, 8, 17, 9, 10, 21, : cannot compute exact p-value with ties
## add_q: Adjusting p-values with
## `stats::p.adjust(x$table_body$p.value, method = "bonferroni")`
Table 1. Patient Characteristics (Whole Cohort)
| Variable |
N |
Overall, N = 52 |
PBO_ESC, N = 23 |
CBX_ESC, N = 29 |
p-value |
q-value |
| Sex |
51 |
|
|
|
0.30 |
>0.99 |
| Male |
|
33 (65%) |
16 (73%) |
17 (59%) |
|
|
| Female |
|
18 (35%) |
6 (27%) |
12 (41%) |
|
|
| Age |
51 |
40 (34, 50) |
47 (35, 58) |
38 (31, 44) |
0.042 |
0.92 |
| HAMD17_BL |
45 |
24.0 (20.0, 29.0) |
23.5 (21.0, 26.0) |
24.0 (20.0, 30.0) |
0.67 |
>0.99 |
| log_BMI |
50 |
3.40 (3.32, 3.57) |
3.44 (3.33, 3.60) |
3.39 (3.29, 3.57) |
0.45 |
>0.99 |
| log_SIRI_BL |
49 |
-0.03 (-0.45, 0.32) |
0.04 (-0.32, 0.40) |
-0.03 (-0.52, 0.20) |
0.51 |
>0.99 |
| log_IL1A_BL |
21 |
0.69 (0.69, 0.79) |
0.74 (0.69, 0.80) |
0.69 (0.69, 0.69) |
0.24 |
>0.99 |
| log_IL1B_BL |
22 |
0.69 (0.69, 0.88) |
0.69 (0.69, 0.96) |
0.69 (0.69, 0.69) |
0.46 |
>0.99 |
| log_IL6_BL |
21 |
1.25 (1.00, 1.44) |
1.56 (1.01, 1.70) |
1.22 (1.00, 1.34) |
0.19 |
>0.99 |
| log_TNFA_BL |
21 |
1.18 (1.11, 1.40) |
1.21 (1.12, 1.41) |
1.18 (1.08, 1.30) |
0.69 |
>0.99 |
| log_IFNG_BL |
21 |
0.69 (0.69, 0.69) |
0.69 (0.69, 0.82) |
0.69 (0.69, 0.69) |
>0.99 |
>0.99 |
| log_CRPSet1_ug_ml_BL |
15 |
1.61 (1.16, 1.95) |
1.58 (1.22, 1.65) |
1.95 (1.19, 2.58) |
0.34 |
>0.99 |
| log_MCP1_BL |
21 |
4.59 (4.48, 4.85) |
4.76 (4.47, 4.90) |
4.56 (4.48, 4.71) |
0.50 |
>0.99 |
| log_FGF_BL |
15 |
1.18 (0.88, 1.58) |
1.36 (1.08, 1.57) |
1.11 (0.76, 1.58) |
0.77 |
>0.99 |
| log_VEGF-Elisa_BL |
31 |
3.49 (3.36, 3.81) |
3.41 (3.30, 3.49) |
3.63 (3.48, 3.92) |
0.059 |
>0.99 |
| log_EGF_BL |
21 |
1.28 (0.69, 1.71) |
1.43 (1.13, 1.61) |
1.20 (0.69, 1.71) |
0.48 |
>0.99 |
| log_KP_Trp_BL |
41 |
9.70 (9.51, 9.79) |
9.59 (9.45, 9.76) |
9.73 (9.58, 9.80) |
0.16 |
>0.99 |
| log_KP_Kyn_BL |
41 |
5.76 (5.56, 5.94) |
5.74 (5.64, 6.07) |
5.76 (5.55, 5.86) |
0.72 |
>0.99 |
| log_KP_Quin_BL |
41 |
4.02 (3.76, 4.29) |
4.04 (3.83, 4.37) |
3.98 (3.64, 4.25) |
0.39 |
>0.99 |
| log_KP_Pic_BL |
41 |
3.17 (2.84, 3.33) |
3.20 (2.69, 3.36) |
3.00 (2.84, 3.33) |
0.98 |
>0.99 |
| log_KP_KYN_TRP_BL |
41 |
0.703 (0.701, 0.706) |
0.705 (0.702, 0.707) |
0.702 (0.701, 0.706) |
0.26 |
>0.99 |
| log_KP_QUIN_PIC_BL |
41 |
1.56 (1.41, 1.76) |
1.55 (1.47, 1.71) |
1.56 (1.39, 1.76) |
0.64 |
>0.99 |
| HAMD17_WK8 |
45 |
10 (7, 17) |
12 (9, 18) |
8 (5, 13) |
0.008 |
0.17 |
combined_df$Cohort<-factor(combined_df$Cohort, levels=c("HC", "PBO_ESC", "CBX_ESC"))
MODEL 2: HAMD17_WK8 by SIRI_BL (interaction screen)
SIRI_model_interaction<-lm(HAMD17_WK8~
Sex+
Age+
log_BMI+
Arm+
HAMD17_BL*log_SIRI_BL, data=combined_df)
sjPlot::tab_model(SIRI_model_interaction)
|
Â
|
HAMD 17 WK 8
|
|
Predictors
|
Estimates
|
CI
|
p
|
|
(Intercept)
|
-10.29
|
-47.75 – 27.17
|
0.581
|
|
Sex [Female]
|
6.02
|
1.93 – 10.11
|
0.005
|
|
Age
|
0.05
|
-0.12 – 0.22
|
0.525
|
|
log BMI
|
3.31
|
-7.35 – 13.96
|
0.533
|
|
Arm [CBX ESC]
|
-5.13
|
-9.36 – -0.90
|
0.019
|
|
HAMD17 BL
|
0.42
|
0.09 – 0.75
|
0.014
|
|
log SIRI BL
|
-17.85
|
-33.26 – -2.44
|
0.024
|
|
HAMD17 BL * log SIRI BL
|
0.91
|
0.24 – 1.59
|
0.009
|
|
Observations
|
43
|
|
R2 / R2 adjusted
|
0.467 / 0.361
|
interactions::interact_plot(SIRI_model_interaction, pred = log_SIRI_BL, modx = HAMD17_BL, jitter=0.1, plot.points = TRUE, main.title = "HAMD17 (week 8) linked to baseline SIRI-to-HAMD17_BL interaction")

# base::plot(SII_model_interaction, which=c(2,6))
#Post-hoc power analysis (valid N=43, power=0.8)
pwr::pwr.r.test(n=43, r=NULL, power=0.8)
##
## approximate correlation power calculation (arctangh transformation)
##
## n = 43
## r = 0.4124439
## sig.level = 0.05
## power = 0.8
## alternative = two.sided
#Power calc from Model 2 (using adj R2)
pwr::pwr.r.test(n=43, r=0.361, power=NULL)
##
## approximate correlation power calculation (arctangh transformation)
##
## n = 43
## r = 0.361
## sig.level = 0.05
## power = 0.6754509
## alternative = two.sided
```