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 ")