options(width=190)
compareGroups::descrTable(~. , data = SG_df_new, hide.no = '0')
##
## --------Summary descriptives table ---------
##
## __________________________________
## [ALL] N
## N=79
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## Pt_Group: 79
## HC 32 (40.5%)
## Patient 47 (59.5%)
## Exp_Group: 47
## ESC_PBO 21 (44.7%)
## ESC_CBX 26 (55.3%)
## Ethnicity 1.52 (0.86) 46
## BMI 31.6 (5.78) 45
## Age 42.0 (12.7) 46
## Sex: 46
## 1 16 (34.8%)
## 2 30 (65.2%)
## SII_BL 489 (230) 79
## SII_WK8 462 (219) 47
## SIRI_BL 1.03 (0.60) 79
## SIRI_WK8 1.07 (0.61) 47
## HAMD17_BL 22.5 (6.34) 46
## HAMD17_WK8 10.0 (6.32) 43
## Remission: 43
## Non-Remitter 25 (58.1%)
## Remitter 18 (41.9%)
## SII_BL_log 6.07 (0.53) 79
## SII_WK8_log 6.03 (0.47) 47
## SIRI_BL_log -0.14 (0.61) 79
## SIRI_WK8_log -0.10 (0.61) 47
## HAMD17_BL_log 3.07 (0.30) 46
## HAMD17_WK8_log . (.) 43
## SII_BL_inverse 0.00 (0.00) 79
## SII_WK8_inverse 0.00 (0.00) 47
## SIRI_BL_inverse 1.39 (0.96) 79
## SIRI_WK8_inverse 1.35 (0.97) 47
## HAMD17_BL_inverse 0.05 (0.02) 46
## HAMD17_WK8_inverse . (.) 43
## SII_BL_sqrt 21.5 (5.29) 79
## SII_WK8_sqrt 20.9 (4.91) 47
## SIRI_BL_sqrt 0.97 (0.29) 79
## SIRI_WK8_sqrt 0.99 (0.29) 47
## HAMD17_BL_sqrt 4.69 (0.68) 46
## HAMD17_WK8_sqrt 2.97 (1.12) 43
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
createTable(compareGroups(Pt_Group ~ ., data = SG_df_new, method = NA), hide.no = '0', show.p.mul= T)
##
## --------Summary descriptives table by 'Pt_Group'---------
##
## _____________________________________________________________
## HC Patient p.overall
## N=32 N=47
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## Exp_Group: .
## ESC_PBO 0 (.%) 21 (44.7%)
## ESC_CBX 0 (.%) 26 (55.3%)
## Ethnicity: .
## 1 0 (.%) 30 (65.2%)
## 2 0 (.%) 10 (21.7%)
## 3 0 (.%) 5 (10.9%)
## 5 0 (.%) 1 (2.17%)
## BMI . (.) 31.6 (5.78) .
## Age . (.) 42.0 (12.7) .
## Sex: .
## 1 0 (.%) 16 (34.8%)
## 2 0 (.%) 30 (65.2%)
## SII_BL 491 [305;611] 477 [320;640] 0.834
## SII_WK8 . [.;.] 408 [309;579] .
## SIRI_BL 0.76 [0.58;1.21] 0.98 [0.64;1.39] 0.201
## SIRI_WK8 . [.;.] 1.02 [0.62;1.38] .
## HAMD17_BL . (.) 22.5 (6.34) .
## HAMD17_WK8 . [.;.] 9.00 [6.00;14.0] .
## Remission: .
## Non-Remitter 0 (.%) 25 (58.1%)
## Remitter 0 (.%) 18 (41.9%)
## SII_BL_log 6.04 (0.54) 6.09 (0.52) 0.628
## SII_WK8_log . (.) 6.03 (0.47) .
## SIRI_BL_log -0.25 (0.60) -0.07 (0.60) 0.180
## SIRI_WK8_log . (.) -0.10 (0.61) .
## HAMD17_BL_log . (.) 3.07 (0.30) .
## SII_BL_inverse 0.00 [0.00;0.00] 0.00 [0.00;0.00] 0.834
## SII_WK8_inverse . [.;.] 0.00 [0.00;0.00] .
## SIRI_BL_inverse 1.32 [0.83;1.72] 1.02 [0.72;1.55] 0.201
## SIRI_WK8_inverse . [.;.] 0.98 [0.72;1.61] .
## HAMD17_BL_inverse . [.;.] 0.05 [0.04;0.05] .
## SII_BL_sqrt 21.1 (5.01) 21.7 (5.51) 0.591
## SII_WK8_sqrt . (.) 20.9 (4.91) .
## SIRI_BL_sqrt 0.92 (0.26) 1.01 (0.30) 0.153
## SIRI_WK8_sqrt . (.) 0.99 (0.29) .
## HAMD17_BL_sqrt . (.) 4.69 (0.68) .
## HAMD17_WK8_sqrt . (.) 2.97 (1.12) .
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Patient status (HC vs. subjects) were not distinguished by any variables
createTable(compareGroups(Remission ~ ., data = SG_df_new, method = NA), hide.no = '0', show.p.mul= T)
##
## --------Summary descriptives table by 'Remission'---------
##
## _____________________________________________________________
## Non-Remitter Remitter p.overall
## N=25 N=18
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## Pt_Group: Patient 25 (100%) 18 (100%) .
## Exp_Group: <0.001
## ESC_PBO 17 (68.0%) 1 (5.56%)
## ESC_CBX 8 (32.0%) 17 (94.4%)
## Ethnicity: 0.057
## 1 15 (62.5%) 12 (66.7%)
## 2 3 (12.5%) 6 (33.3%)
## 3 5 (20.8%) 0 (0.00%)
## 5 1 (4.17%) 0 (0.00%)
## BMI 32.0 (4.85) 30.7 (7.00) 0.503
## Age 44.0 [34.8;53.8] 37.5 [31.8;43.2] 0.186
## Sex: 1.000
## 1 9 (37.5%) 7 (38.9%)
## 2 15 (62.5%) 11 (61.1%)
## SII_BL 494 [336;646] 436 [296;612] 0.649
## SII_WK8 451 [307;639] 407 [302;539] 0.453
## SIRI_BL 1.01 [0.78;1.38] 0.90 [0.48;1.17] 0.445
## SIRI_WK8 1.12 [0.69;1.69] 0.94 [0.52;1.23] 0.143
## HAMD17_BL 21.8 (5.86) 22.8 (6.00) 0.613
## HAMD17_WK8 13.0 [10.0;16.0] 5.50 [2.25;7.00] <0.001
## SII_BL_log 6.12 (0.50) 6.02 (0.54) 0.548
## SII_WK8_log 6.09 (0.51) 5.98 (0.45) 0.456
## SIRI_BL_log -0.01 (0.49) -0.15 (0.74) 0.481
## SIRI_WK8_log 0.05 (0.60) -0.25 (0.61) 0.121
## HAMD17_BL_log 3.05 (0.29) 3.09 (0.27) 0.587
## SII_BL_inverse 0.00 [0.00;0.00] 0.00 [0.00;0.00] 0.649
## SII_WK8_inverse 0.00 [0.00;0.00] 0.00 [0.00;0.00] 0.453
## SIRI_BL_inverse 0.99 [0.72;1.28] 1.11 [0.86;2.11] 0.445
## SIRI_WK8_inverse 0.89 [0.59;1.45] 1.06 [0.81;1.97] 0.143
## HAMD17_BL_inverse 0.04 [0.04;0.05] 0.05 [0.04;0.05] 0.767
## SII_BL_sqrt 22.0 (5.39) 21.0 (5.45) 0.564
## SII_WK8_sqrt 21.7 (5.50) 20.3 (4.44) 0.387
## SIRI_BL_sqrt 1.02 (0.24) 0.99 (0.37) 0.724
## SIRI_WK8_sqrt 1.07 (0.31) 0.92 (0.25) 0.086
## HAMD17_BL_sqrt 4.63 (0.65) 4.73 (0.63) 0.602
## HAMD17_WK8_sqrt 3.68 (0.66) 1.99 (0.85) <0.001
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
There are no significant differences by remission, except treatment arm and HAMD17 (wk8) which is expected
##
## --------Summary descriptives table by 'Exp_Group'---------
##
## _____________________________________________________________
## ESC_PBO ESC_CBX p.overall
## N=21 N=26
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
## Pt_Group: Patient 21 (100%) 26 (100%) .
## Ethnicity: 0.658
## 1 12 (60.0%) 18 (69.2%)
## 2 4 (20.0%) 6 (23.1%)
## 3 3 (15.0%) 2 (7.69%)
## 5 1 (5.00%) 0 (0.00%)
## BMI 32.2 (4.89) 31.1 (6.40) 0.515
## Age 46.7 (13.0) 38.3 (11.3) 0.028
## Sex: 0.776
## 1 6 (30.0%) 10 (38.5%)
## 2 14 (70.0%) 16 (61.5%)
## SII_BL 523 [357;759] 379 [296;618] 0.168
## SII_WK8 399 [320;639] 415 [297;518] 0.386
## SIRI_BL 1.06 [0.78;1.53] 0.95 [0.59;1.25] 0.294
## SIRI_WK8 1.04 [0.73;1.69] 0.94 [0.57;1.22] 0.118
## HAMD17_BL 21.6 (7.31) 23.1 (5.56) 0.472
## HAMD17_WK8 11.5 [9.00;16.0] 7.00 [5.00;11.0] 0.001
## Remission: <0.001
## Non-Remitter 17 (94.4%) 8 (32.0%)
## Remitter 1 (5.56%) 17 (68.0%)
## SII_BL_log 6.22 (0.50) 5.99 (0.52) 0.129
## SII_WK8_log 6.11 (0.51) 5.97 (0.43) 0.312
## SIRI_BL_log 0.04 (0.60) -0.15 (0.61) 0.274
## SIRI_WK8_log 0.05 (0.62) -0.22 (0.59) 0.129
## HAMD17_BL_log 3.02 (0.37) 3.11 (0.24) 0.324
## SII_BL_inverse 0.00 [0.00;0.00] 0.00 [0.00;0.00] 0.168
## SII_WK8_inverse 0.00 [0.00;0.00] 0.00 [0.00;0.00] 0.386
## SIRI_BL_inverse 0.94 [0.65;1.28] 1.06 [0.80;1.69] 0.294
## SIRI_WK8_inverse 0.96 [0.59;1.37] 1.06 [0.82;1.77] 0.118
## HAMD17_BL_inverse 0.05 [0.04;0.06] 0.05 [0.04;0.05] 0.491
## SII_BL_sqrt 23.1 (5.56) 20.7 (5.32) 0.133
## SII_WK8_sqrt 21.9 (5.60) 20.2 (4.23) 0.261
## SIRI_BL_sqrt 1.06 (0.31) 0.97 (0.29) 0.274
## SIRI_WK8_sqrt 1.07 (0.32) 0.93 (0.25) 0.100
## HAMD17_BL_sqrt 4.59 (0.80) 4.77 (0.58) 0.394
## HAMD17_WK8_sqrt 3.60 (0.78) 2.52 (1.11) 0.001
## ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Compared to the placebo arm, the treatment arm patients were significantly (1) younger (2) lower HAMD17 (wk8) (3) more remitters.
p<-ggplot(SG_df_new, aes(x=HAMD17_BL)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(HAMD17_BL)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=HAMD17_WK8)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(HAMD17_WK8)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=HAMD17_WK8_log)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(HAMD17_WK8_log)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=HAMD17_WK8_sqrt)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(HAMD17_WK8_sqrt)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Raw HAMD17_BL has a normal distribution. It appears no transformation is needed.
# Histogram with density plotz
p<-ggplot(SG_df_new, aes(x=SII_BL)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(SII_BL)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=SII_WK8)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(SII_WK8)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=SIRI_BL)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(SIRI_BL)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=SIRI_BL_log)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(SIRI_BL_log)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=SIRI_BL_sqrt)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(SIRI_BL_sqrt)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
p<-ggplot(SG_df_new, aes(x=SIRI_WK8)) +
geom_histogram(aes(y=..density..), colour="black", fill="white")+
geom_density(alpha=.2, fill="#FF6666")
p+geom_vline(aes(xintercept=mean(SIRI_WK8)), color="blue", linetype="dashed", size=1)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
data_long <- tidyr::gather(SG_df_new, Timepoint, SII, SII_BL:SII_WK8, factor_key=TRUE)
data_long <- tidyr::gather(data_long, Timepoint, SIRI, SIRI_BL:SIRI_WK8, factor_key=TRUE)
data_long <- tidyr::gather(data_long, Timepoint, HAMD17, HAMD17_BL:HAMD17_WK8, factor_key=TRUE)
data_long$Timepoint<-ifelse(grepl("BL", data_long$Timepoint), "Baseline", "Week 8") %>% as.factor()
data_longer <- data_long %>% select(Subject_ID, Pt_Group, Exp_Group, Sex, Age, BMI, Ethnicity, Remission, Timepoint, SII, SIRI, HAMD17) %>% subset(Pt_Group=="Patient")
gg.base <- ggplot(data_longer, aes(x = Timepoint, y = HAMD17))
gg.idline <- gg.base + geom_line(aes(color = Remission , group = Subject_ID))
gg.idline + geom_point()+stat_summary(aes(group = Remission, color = Remission), geom = "line", fun.y = mean, size = 3)
gg.base <- ggplot(data_longer, aes(x = Timepoint, y = SII))
gg.idline <- gg.base + geom_line(aes(color = Remission , group = Subject_ID))
gg.idline + geom_point()
gg.idline + facet_wrap( ~ Remission, labeller = label_both) + geom_point()+stat_summary(aes(group = Remission, color = Remission), geom = "line", fun.y = mean, size = 3)
gg.base <- ggplot(data_longer, aes(x = Timepoint, y = SIRI))
gg.idline <- gg.base + geom_line(aes(color = Remission , group = Subject_ID))
gg.idline + geom_point()
gg.idline + facet_wrap( ~ Remission, labeller = label_both) + geom_point()+stat_summary(aes(group = Remission, color = Remission), geom = "line", fun.y = mean, size = 3)
The treatment response (HAMD17) is visually apparent by week 8. The effects of SII and SIRI are not so apparent.
Rcoef_list <- list()
beta_list<-list()
se_list<-list()
t_list<-list()
p_list<-list()
var_list<-list()
sg_bx_trans_vars<-SG_df_new %>% dplyr::select(contains("SII"), contains("SIRI")) %>% names() %>% sort()
for (x in sg_bx_trans_vars) {
LM1 <- lm(substitute(HAMD17_WK8 ~ Sex+Age+BMI+Ethnicity+Exp_Group+HAMD17_BL+i, list(i = as.name(x))), data = SG_df_new)
Rcoef_list[[x]]<- summary(LM1)$r.squared[1]
beta_list[[x]]<-summary(LM1)$coefficients[8,1]
se_list[[x]]<-summary(LM1)$coefficients[8,2]
t_list[[x]]<-summary(LM1)$coefficients[8,3]
p_list[[x]]<-summary(LM1)$coefficients[8,4]
var_list[[x]]<-x
plot(LM1, which=2, main=x)
}
SG_bx_vars_selected<-c("SII_BL", "SII_WK8", "SIRI_BL", "SIRI_WK8_inverse")
Note: Generally raw variables are preferable here, except for SIRI_WK8 possibly
do.call(rbind, Map(data.frame,
Beta=beta_list,
t_test=t_list,
SE=se_list,
p_value=p_list,
R_coeff=Rcoef_list)) %>%
knitr::kable(digits=2)
| Beta | t_test | SE | p_value | R_coeff | |
|---|---|---|---|---|---|
| SII_BL | 0.00 | 0.09 | 0.00 | 0.93 | 0.35 |
| SII_BL_inverse | -353.93 | -0.48 | 735.46 | 0.63 | 0.35 |
| SII_BL_log | 0.51 | 0.25 | 2.01 | 0.80 | 0.35 |
| SII_BL_sqrt | 0.03 | 0.16 | 0.19 | 0.87 | 0.35 |
| SII_WK8 | 0.01 | 1.54 | 0.00 | 0.13 | 0.39 |
| SII_WK8_inverse | -503.11 | -0.70 | 714.63 | 0.49 | 0.35 |
| SII_WK8_log | 2.06 | 1.07 | 1.92 | 0.29 | 0.37 |
| SII_WK8_sqrt | 0.24 | 1.30 | 0.18 | 0.20 | 0.38 |
| SIRI_BL | 0.00 | 0.00 | 1.56 | 1.00 | 0.35 |
| SIRI_BL_inverse | -1.78 | -1.53 | 1.16 | 0.13 | 0.39 |
| SIRI_BL_log | 1.48 | 0.87 | 1.69 | 0.39 | 0.36 |
| SIRI_BL_sqrt | 1.50 | 0.44 | 3.45 | 0.67 | 0.35 |
| SIRI_WK8 | 2.10 | 1.38 | 1.52 | 0.18 | 0.38 |
| SIRI_WK8_inverse | -1.43 | -1.44 | 0.99 | 0.16 | 0.38 |
| SIRI_WK8_log | 2.18 | 1.42 | 1.53 | 0.16 | 0.38 |
| SIRI_WK8_sqrt | 4.54 | 1.41 | 3.21 | 0.17 | 0.38 |
SII and SIRI (at both timepoints, regardless of transformation) are NOT significantly associated with HAMD17(WK8) adjusted for demographics and HAMD17(BL)
SG_model<-lm(HAMD17_WK8~Sex+Age+BMI+Ethnicity+Exp_Group+HAMD17_BL+SIRI_BL, data=SG_df_new)
car::Anova(SG_model, type = "II")
## Anova Table (Type II tests)
##
## Response: HAMD17_WK8
## Sum Sq Df F value Pr(>F)
## Sex 47.00 1 1.4531 0.2363
## Age 72.57 1 2.2436 0.1434
## BMI 5.02 1 0.1552 0.6961
## Ethnicity 40.13 1 1.2408 0.2731
## Exp_Group 205.39 1 6.3500 0.0166 *
## HAMD17_BL 5.43 1 0.1680 0.6845
## SIRI_BL 0.00 1 0.0000 0.9989
## Residuals 1099.71 34
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(SG_model)
##
## Call:
## lm(formula = HAMD17_WK8 ~ Sex + Age + BMI + Ethnicity + Exp_Group +
## HAMD17_BL + SIRI_BL, data = SG_df_new)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.0195 -3.9494 -0.8909 2.9092 11.5150
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.19247 8.15691 1.004 0.3223
## Sex2 -2.42556 2.01214 -1.205 0.2363
## Age 0.11565 0.07721 1.498 0.1434
## BMI -0.06772 0.17189 -0.394 0.6961
## Ethnicity 1.27559 1.14515 1.114 0.2731
## Exp_GroupESC_CBX -5.08426 2.01763 -2.520 0.0166 *
## HAMD17_BL 0.07209 0.17589 0.410 0.6845
## SIRI_BL 0.00223 1.56425 0.001 0.9989
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.687 on 34 degrees of freedom
## (37 observations deleted due to missingness)
## Multiple R-squared: 0.345, Adjusted R-squared: 0.2102
## F-statistic: 2.558 on 7 and 34 DF, p-value: 0.03136
plot(SG_model, which=c(2,6))
SG_model<-lm(HAMD17_WK8~Sex+Age+BMI+Ethnicity+Exp_Group+HAMD17_BL+log(SIRI_BL), data=SG_df_new)
car::Anova(SG_model, type = "II")
## Anova Table (Type II tests)
##
## Response: HAMD17_WK8
## Sum Sq Df F value Pr(>F)
## Sex 60.21 1 1.9033 0.17671
## Age 78.70 1 2.4875 0.12401
## BMI 0.15 1 0.0048 0.94509
## Ethnicity 54.34 1 1.7175 0.19880
## Exp_Group 159.30 1 5.0353 0.03146 *
## HAMD17_BL 10.94 1 0.3457 0.56042
## log(SIRI_BL) 24.06 1 0.7607 0.38924
## Residuals 1075.65 34
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(SG_model)
##
## Call:
## lm(formula = HAMD17_WK8 ~ Sex + Age + BMI + Ethnicity + Exp_Group +
## HAMD17_BL + log(SIRI_BL), data = SG_df_new)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.003 -4.066 -1.110 3.475 10.376
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.28816 7.12068 0.743 0.4628
## Sex2 -2.76366 2.00322 -1.380 0.1767
## Age 0.12067 0.07651 1.577 0.1240
## BMI -0.01213 0.17489 -0.069 0.9451
## Ethnicity 1.49445 1.14034 1.311 0.1988
## Exp_GroupESC_CBX -4.53280 2.02002 -2.244 0.0315 *
## HAMD17_BL 0.09891 0.16821 0.588 0.5604
## log(SIRI_BL) 1.47556 1.69186 0.872 0.3892
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.625 on 34 degrees of freedom
## (37 observations deleted due to missingness)
## Multiple R-squared: 0.3593, Adjusted R-squared: 0.2274
## F-statistic: 2.724 on 7 and 34 DF, p-value: 0.02345
plot(SG_model, which=c(2,6))
SG_df_noout<-SG_df_new[-c(38),]
SG_model<-lm(HAMD17_WK8~Sex+Age+BMI+Ethnicity+Exp_Group+HAMD17_BL+log(SIRI_BL), data=SG_df_noout)
car::Anova(SG_model, type = "II")
## Anova Table (Type II tests)
##
## Response: HAMD17_WK8
## Sum Sq Df F value Pr(>F)
## Sex 35.27 1 1.2386 0.27378
## Age 44.45 1 1.5611 0.22030
## BMI 2.02 1 0.0709 0.79169
## Ethnicity 1.01 1 0.0356 0.85143
## Exp_Group 169.36 1 5.9480 0.02028 *
## HAMD17_BL 3.19 1 0.1121 0.73991
## log(SIRI_BL) 4.11 1 0.1442 0.70654
## Residuals 939.62 33
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(SG_model)
##
## Call:
## lm(formula = HAMD17_WK8 ~ Sex + Age + BMI + Ethnicity + Exp_Group +
## HAMD17_BL + log(SIRI_BL), data = SG_df_noout)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.2960 -2.9496 -0.8753 4.0139 11.4830
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10.48348 7.16129 1.464 0.1527
## Sex2 -2.13886 1.92181 -1.113 0.2738
## Age 0.09214 0.07375 1.249 0.2203
## BMI -0.04435 0.16657 -0.266 0.7917
## Ethnicity -0.25398 1.34545 -0.189 0.8514
## Exp_GroupESC_CBX -4.67650 1.91749 -2.439 0.0203 *
## HAMD17_BL 0.05387 0.16090 0.335 0.7399
## log(SIRI_BL) 0.62715 1.65131 0.380 0.7065
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.336 on 33 degrees of freedom
## (37 observations deleted due to missingness)
## Multiple R-squared: 0.2828, Adjusted R-squared: 0.1307
## F-statistic: 1.859 on 7 and 33 DF, p-value: 0.1088
plot(SG_model, which=c(2,6))
Note: Here we are asking the question whether HAMD17_WK8 is predicted by baseline factors, independently of treatment arm. Notice that we are controlling for baseline HAMD17_BL, in addition to demographics. As expected, ESC+CBX arm significantly associates with lower HAMD17_WK8. There are no other significant factors, however. There are some high leverage points that need to be dealt with.
SG_model<-lm(HAMD17_WK8~
Sex
+Age
+BMI
+Ethnicity
+Exp_Group
+HAMD17_BL*SIRI_BL
, data=SG_df_noout)
car::Anova(SG_model, type = "II")
## Anova Table (Type II tests)
##
## Response: HAMD17_WK8
## Sum Sq Df F value Pr(>F)
## Sex 87.40 1 4.3415 0.0452640 *
## Age 7.98 1 0.3962 0.5335161
## BMI 3.67 1 0.1823 0.6722815
## Ethnicity 2.09 1 0.1041 0.7491076
## Exp_Group 144.32 1 7.1688 0.0116064 *
## HAMD17_BL 0.34 1 0.0167 0.8980428
## SIRI_BL 5.14 1 0.2552 0.6168903
## HAMD17_BL:SIRI_BL 294.38 1 14.6226 0.0005728 ***
## Residuals 644.21 32
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(SG_model)
##
## Call:
## lm(formula = HAMD17_WK8 ~ Sex + Age + BMI + Ethnicity + Exp_Group +
## HAMD17_BL * SIRI_BL, data = SG_df_noout)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10.1261 -2.4852 -0.3192 3.0754 7.8418
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 34.52173 8.62282 4.004 0.000347 ***
## Sex2 -3.45042 1.65596 -2.084 0.045264 *
## Age 0.03964 0.06298 0.629 0.533516
## BMI -0.05808 0.13603 -0.427 0.672281
## Ethnicity 0.36695 1.13752 0.323 0.749108
## Exp_GroupESC_CBX -4.30080 1.60630 -2.677 0.011606 *
## HAMD17_BL -1.05198 0.31293 -3.362 0.002019 **
## SIRI_BL -21.02450 5.47795 -3.838 0.000551 ***
## HAMD17_BL:SIRI_BL 1.12452 0.29407 3.824 0.000573 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.487 on 32 degrees of freedom
## (37 observations deleted due to missingness)
## Multiple R-squared: 0.5083, Adjusted R-squared: 0.3853
## F-statistic: 4.135 on 8 and 32 DF, p-value: 0.001769
reg_cohend(SG_model)
## (Intercept) Sex2 Age BMI Ethnicity Exp_GroupESC_CBX HAMD17_BL SIRI_BL HAMD17_BL:SIRI_BL
## 0.625 -0.325 0.098 -0.067 0.050 -0.418 -0.525 -0.599 0.597
interact_plot(SG_model, pred = SIRI_BL, modx = HAMD17_BL, jitter=0.1, plot.points = TRUE, main.title = "The effect of SIRI_BL on HAMD17_WK8 depends on HAMD17_BL")
Note: In this model, we are screening for “interaction effects” amongst the independent variables. When evaluating for interactions between SIRI_BL and HAMD17_BL, something interesting happens: (1) elevated baseline SIRI is significantly associated with lower HAMD17_WK8 (main effect) and (2) elevated SIRI_BL is associated with elevated HAMD17_WK8 in patients with elevated HAMD17_BL (interaction effect). As expected, treatment arm (CBX) is an independent predictor of lower HAMD17_WK8, but its effect does not depend on SIRI_BL. Sex1 is independently associated with higher HAMD17_WK8 as well.
SG_model_logit<-glm(Remission~
Sex
+Age
+BMI
+Ethnicity
+Exp_Group
+HAMD17_BL*SIRI_BL
+SIRI_BL
, family="binomial", na.action=na.exclude, data=SG_df_new)
car::Anova(SG_model_logit, type = "II")
## Analysis of Deviance Table (Type II tests)
##
## Response: Remission
## LR Chisq Df Pr(>Chisq)
## Sex 3.8000 1 0.0512526 .
## Age 0.0449 1 0.8321389
## BMI 0.0013 1 0.9715982
## Ethnicity 4.0392 1 0.0444545 *
## Exp_Group 20.0354 1 7.602e-06 ***
## HAMD17_BL 0.3465 1 0.5561241
## SIRI_BL 1.1485 1 0.2838712
## HAMD17_BL:SIRI_BL 12.0966 1 0.0005051 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(SG_model_logit)
##
## Call:
## glm(formula = Remission ~ Sex + Age + BMI + Ethnicity + Exp_Group +
## HAMD17_BL * SIRI_BL + SIRI_BL, family = "binomial", data = SG_df_new,
## na.action = na.exclude)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.40675 -0.23258 -0.01554 0.43021 1.40361
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -25.711800 10.383014 -2.476 0.0133 *
## Sex2 3.165269 1.888376 1.676 0.0937 .
## Age 0.012026 0.057343 0.210 0.8339
## BMI 0.003513 0.098741 0.036 0.9716
## Ethnicity -2.114256 1.193857 -1.771 0.0766 .
## Exp_GroupESC_CBX 6.706381 2.905740 2.308 0.0210 *
## HAMD17_BL 1.049533 0.414098 2.535 0.0113 *
## SIRI_BL 21.400254 8.391651 2.550 0.0108 *
## HAMD17_BL:SIRI_BL -1.131213 0.454905 -2.487 0.0129 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 57.364 on 41 degrees of freedom
## Residual deviance: 24.757 on 33 degrees of freedom
## (37 observations deleted due to missingness)
## AIC: 42.757
##
## Number of Fisher Scoring iterations: 7
reg_cohend(SG_model_logit)
## (Intercept) Sex2 Age BMI Ethnicity Exp_GroupESC_CBX HAMD17_BL SIRI_BL HAMD17_BL:SIRI_BL
## -0.382 0.259 0.032 0.005 -0.273 0.356 0.391 0.394 -0.384
Note: Here we are reproducing the results from the above interaction model, except this time we are using a dichotomous outcome (remission vs non-remission). The estimate signs are reversed because we’re talking about remission, not HAMD17 score.This confirms the prior model. Seeing that there is something special about SIRI_BL, We can now start to ask the question whether changes in SIRI are related to treatment response. That would involve another analysis (“mediation analysis”, more involved) looking at whether CBX “causes” changes in SIRI that are linked to treatment response. Out of scope here, but for that we would need to establish (1) treatment arm is associated with SIRI at point X, where X temporally precedes outcome, and that (2) SIRI at point X is associated with treatment response.