July 20th 2023 email from Shivani: To confirm before we proceed with the analysis, we will analyze two new ratios: 1. SAS Ratio: BF/EA (“SASR”) 2. Bowing of the Corpus Callosum which should be SI/AP (“SBCC”) 3. COMBINE the values per doctor. Compare prenatal vs postnatal of each value. t-test to see if these ratios are sig different
**PRENATAL USE EARLY VERSUS 1-3, EXCLUDE FETAL prenatal vs postnatal stratified, exclude fetal.
** THIS IS FOR THE CG DATA **
** THIS IS FOR THE HUNG DATA **
To confirm before we proceed with the analysis, we will analyze two new ratios: 1. SAS Ratio: BF/EA (“SASR”) 2. Bowing of the Corpus Callosum which should be SI/AP (“SBCC”) 3. COMBINE the values per doctor. Compare prenatal vs postnatal of each value. t-test to see if these ratios are sig different
combine data frames
df_combo <- inner_join(dfc[,c(1,2,4,11,12,13:17,18:23)],dfh[,c(1,10,11,12:16,17:22)],by="Pt..No",suffix=c(".CG",".HUNG"))
df_combo$PRE.OR.POST[df_combo$PRE.OR.POST == "prenatal "] <- "prenatal"
df_combo_avg <- df_combo[,c(1:3)]
df_combo_avg$SAS_LV <- rowMeans(df_combo[,c('Ratio.of.Ventricular.to.Subarachnoid.Space.LV.CG', 'Ratio.of.Ventricular.to.Subarachnoid.Space.LV.HUNG')])
df_combo_avg$SAS_BF <- rowMeans(df_combo[,c(9,22)])
df_combo_avg$SAS_EA <- rowMeans(df_combo[,c(10,23)])
df_combo_avg$chiari <- rowMeans(df_combo[,c(7,20)])
df_combo_avg$CP_glomus<- rowMeans(df_combo[,c(12,25)])
df_combo_avg$CP_body <- rowMeans(df_combo[,c(13,26)])
df_combo_avg$ratio_AP <- rowMeans(df_combo[,c(4,17)])
df_combo_avg$ratio_SI <- rowMeans(df_combo[,c(5,18)])
df_combo_avg$SASR <- df_combo_avg$SAS_BF/df_combo_avg$SAS_EA
df_combo_avg$SBCC <- df_combo_avg$ratio_SI/df_combo_avg$ratio_AP
table(df_combo$timescale)
##
## 1-3mo early F
## 27 36 24
table(df_combo$PRE.OR.POST)
##
## postnatal prenatal
## 30 57
early life vs 1-3 months in fetal vs postnatal repair
Prenatal repair. vs. Postnatal repair Early life and 1-3 mo Early life and 1-3 mo
looking at SAS ratio for LV, BF, EA Chiari, CP glomus and body, and ratio of AP/SI
df_combo_avg[,c(2:13)] %>%
filter(timescale == "1-3mo") %>%
tbl_summary(label = `PRE.OR.POST` ~ "Neuroradiologic Findings",by='PRE.OR.POST')%>%
bold_labels() %>%add_p()
| Characteristic | postnatal, N = 131 | prenatal, N = 141 | p-value2 |
|---|---|---|---|
| timescale | |||
| 1-3mo | 13 (100%) | 14 (100%) | |
| SAS_LV | 15.9 (13.0, 17.4) | 19.8 (17.4, 23.1) | 0.008 |
| SAS_BF | 55 (42, 68) | 42 (36, 46) | 0.033 |
| SAS_EA | 4.40 (3.50, 5.55) | 3.92 (2.22, 4.64) | 0.3 |
| chiari | 9.4 (4.6, 13.4) | 0.0 (0.0, 1.7) | 0.002 |
| CP_glomus | 2.70 (2.10, 3.85) | 2.85 (2.51, 3.18) | >0.9 |
| CP_body | 1.55 (1.30, 1.65) | 1.58 (1.39, 1.78) | 0.6 |
| ratio_AP | 50 (46, 54) | 43 (38, 47) | 0.017 |
| Unknown | 1 | 0 | |
| ratio_SI | 15.2 (12.8, 16.8) | 8.6 (7.7, 12.6) | 0.006 |
| Unknown | 1 | 0 | |
| SASR | 14 (8, 19) | 10 (9, 21) | >0.9 |
| SBCC | 0.31 (0.28, 0.33) | 0.21 (0.18, 0.26) | 0.006 |
| Unknown | 1 | 0 | |
| 1 n (%); Median (IQR) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
df_combo_avg[,c(2:13)] %>%
filter(timescale == "1-3mo") %>%
tbl_summary(
label = `PRE.OR.POST` ~ "Neuroradiologic Findings", by = 'PRE.OR.POST',
statistic = all_continuous() ~ "{mean} ({sd})"
) %>%
bold_labels() %>%
add_p()
| Characteristic | postnatal, N = 131 | prenatal, N = 141 | p-value2 |
|---|---|---|---|
| timescale | |||
| 1-3mo | 13 (100%) | 14 (100%) | |
| SAS_LV | 15.7 (3.0) | 19.9 (3.6) | 0.008 |
| SAS_BF | 55 (14) | 42 (8) | 0.033 |
| SAS_EA | 4.78 (2.28) | 3.79 (2.02) | 0.3 |
| chiari | 9.4 (7.2) | 1.7 (3.3) | 0.002 |
| CP_glomus | 2.83 (0.90) | 2.78 (0.63) | >0.9 |
| CP_body | 1.47 (0.28) | 1.59 (0.40) | 0.6 |
| ratio_AP | 50 (8) | 43 (8) | 0.017 |
| Unknown | 1 | 0 | |
| ratio_SI | 16.4 (5.4) | 10.8 (5.4) | 0.006 |
| Unknown | 1 | 0 | |
| SASR | 14 (8) | 19 (23) | >0.9 |
| SBCC | 0.32 (0.05) | 0.25 (0.13) | 0.006 |
| Unknown | 1 | 0 | |
| 1 n (%); Mean (SD) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
df_combo_avg[,c(2:13)] %>%
filter(timescale == "early") %>%
tbl_summary(label = `PRE.OR.POST` ~ "Neuroradiologic Findings",by='PRE.OR.POST')%>%
bold_labels() %>%add_p()
| Characteristic | postnatal, N = 171 | prenatal, N = 191 | p-value2 |
|---|---|---|---|
| timescale | |||
| early | 17 (100%) | 19 (100%) | |
| SAS_LV | 16.10 (14.80, 17.00) | 16.65 (14.28, 17.45) | 0.6 |
| SAS_BF | 42 (39, 49) | 37 (33, 45) | 0.12 |
| SAS_EA | 1.90 (1.50, 2.00) | 1.80 (1.25, 3.15) | 0.7 |
| chiari | 14 (7, 17) | 1 (0, 3) | <0.001 |
| Unknown | 0 | 1 | |
| CP_glomus | 3.00 (2.55, 3.30) | 2.50 (2.05, 3.15) | 0.2 |
| Unknown | 0 | 2 | |
| CP_body | 1.50 (1.30, 1.85) | 1.25 (1.15, 1.40) | 0.078 |
| Unknown | 0 | 2 | |
| ratio_AP | 42 (38, 44) | 38 (34, 41) | 0.2 |
| Unknown | 0 | 1 | |
| ratio_SI | 11.3 (9.9, 13.6) | 8.2 (6.7, 9.7) | 0.004 |
| Unknown | 0 | 1 | |
| SASR | 24 (19, 32) | 20 (14, 34) | 0.12 |
| SBCC | 0.29 (0.26, 0.33) | 0.22 (0.21, 0.26) | <0.001 |
| Unknown | 0 | 1 | |
| 1 n (%); Median (IQR) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
df_combo_avg[,c(2:13)] %>%
filter(timescale == "early") %>%
tbl_summary(
label = `PRE.OR.POST` ~ "Neuroradiologic Findings", by = 'PRE.OR.POST',
statistic = all_continuous() ~ "{mean} ({sd})"
) %>%
bold_labels() %>%
add_p()
| Characteristic | postnatal, N = 171 | prenatal, N = 191 | p-value2 |
|---|---|---|---|
| timescale | |||
| early | 17 (100%) | 19 (100%) | |
| SAS_LV | 15.85 (1.53) | 16.04 (2.40) | 0.6 |
| SAS_BF | 45 (11) | 39 (9) | 0.12 |
| SAS_EA | 1.78 (0.46) | 2.26 (1.59) | 0.7 |
| chiari | 13 (8) | 2 (2) | <0.001 |
| Unknown | 0 | 1 | |
| CP_glomus | 2.83 (0.63) | 2.55 (0.60) | 0.2 |
| Unknown | 0 | 2 | |
| CP_body | 1.53 (0.33) | 1.33 (0.34) | 0.078 |
| Unknown | 0 | 2 | |
| ratio_AP | 42 (8) | 38 (8) | 0.2 |
| Unknown | 0 | 1 | |
| ratio_SI | 13.2 (5.3) | 9.2 (3.6) | 0.004 |
| Unknown | 0 | 1 | |
| SASR | 27 (9) | Inf (NA) | 0.12 |
| SBCC | 0.31 (0.06) | 0.24 (0.05) | <0.001 |
| Unknown | 0 | 1 | |
| 1 n (%); Mean (SD) | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
df_combo_avg[,c(2:13)] %>%
filter(timescale == "early") %>%
tbl_summary(
label = `PRE.OR.POST` ~ "Neuroradiologic Findings",
by = 'PRE.OR.POST',
statistic = all_continuous() ~ "{mean} ({sd}), Median: {median}"
) %>%
bold_labels() %>%
add_p()
| Characteristic | postnatal, N = 171 | prenatal, N = 191 | p-value2 |
|---|---|---|---|
| timescale | |||
| early | 17 (100%) | 19 (100%) | |
| SAS_LV | 15.85 (1.53), Median: 16.10 | 16.04 (2.40), Median: 16.65 | 0.6 |
| SAS_BF | 45 (11), Median: 42 | 39 (9), Median: 37 | 0.12 |
| SAS_EA | 1.78 (0.46), Median: 1.90 | 2.26 (1.59), Median: 1.80 | 0.7 |
| chiari | 13 (8), Median: 14 | 2 (2), Median: 1 | <0.001 |
| Unknown | 0 | 1 | |
| CP_glomus | 2.83 (0.63), Median: 3.00 | 2.55 (0.60), Median: 2.50 | 0.2 |
| Unknown | 0 | 2 | |
| CP_body | 1.53 (0.33), Median: 1.50 | 1.33 (0.34), Median: 1.25 | 0.078 |
| Unknown | 0 | 2 | |
| ratio_AP | 42 (8), Median: 42 | 38 (8), Median: 38 | 0.2 |
| Unknown | 0 | 1 | |
| ratio_SI | 13.2 (5.3), Median: 11.3 | 9.2 (3.6), Median: 8.2 | 0.004 |
| Unknown | 0 | 1 | |
| SASR | 27 (9), Median: 24 | Inf (NA), Median: 20 | 0.12 |
| SBCC | 0.31 (0.06), Median: 0.29 | 0.24 (0.05), Median: 0.22 | <0.001 |
| Unknown | 0 | 1 | |
| 1 n (%); Mean (SD), Median: Median | |||
| 2 Wilcoxon rank sum test; Wilcoxon rank sum exact test | |||
#SD of SBCC, chiari, ratio_AP, ratio_SI, SAS_LV, SAS_BF, SAS_EA, SASR
#do this for PRENATAL cohort from birth-1month "EARLY" n=19
#do this for POSTNATAL cohort, birth to 1 month "EARLY" n=17
#do this for PRENATAL cohort, 1-3 month, n=14
#do this for POSTNATAL cohort, 1-3 month, n=13
df_combo_avg %>%
filter(timescale == "early", PRE.OR.POST == "prenatal") %>%
select(4:13) %>%
summarise(across(everything(), sd, na.rm = TRUE))
## SAS_LV SAS_BF SAS_EA chiari CP_glomus CP_body ratio_AP ratio_SI
## 1 2.402886 8.544793 1.591631 1.883166 0.5950315 0.3353828 8.314202 3.607545
## SASR SBCC
## 1 NaN 0.05262873
df_combo_avg %>%
filter(timescale == "early", PRE.OR.POST == "postnatal") %>%
select(4:13) %>%
summarise(across(everything(), sd, na.rm = TRUE))
## SAS_LV SAS_BF SAS_EA chiari CP_glomus CP_body ratio_AP ratio_SI
## 1 1.527301 10.69845 0.4565294 8.409639 0.6264835 0.3303018 8.324495 5.314952
## SASR SBCC
## 1 8.845818 0.06498578
df_combo_avg %>%
filter(timescale == "1-3mo", PRE.OR.POST == "prenatal") %>%
select(4:13) %>%
summarise(across(everything(), sd, na.rm = TRUE))
## SAS_LV SAS_BF SAS_EA chiari CP_glomus CP_body ratio_AP ratio_SI
## 1 3.552325 8.103907 2.024958 3.289822 0.6305523 0.3960658 8.233502 5.412927
## SASR SBCC
## 1 23.49103 0.1332789
df_combo_avg %>%
filter(timescale == "1-3mo", PRE.OR.POST == "postnatal") %>%
select(4:13) %>%
summarise(across(everything(), sd, na.rm = TRUE))
## SAS_LV SAS_BF SAS_EA chiari CP_glomus CP_body ratio_AP ratio_SI
## 1 3.011825 14.02832 2.283778 7.22942 0.8968785 0.2816504 8.341676 5.368384
## SASR SBCC
## 1 8.003477 0.05362015
separate by postfetal repair and fetal repair dataframes
post <- df_combo %>%
filter(PRE.OR.POST == "postnatal" | PRE.OR.POST == "postnatal " | PRE.OR.POST == "post ")
pre <- df_combo %>%
filter(PRE.OR.POST == "prenatal" | PRE.OR.POST == "prenatal ")