Simulation for development Machine Learning algorithm

# Gestational age simulation with uniform distribution betwwen entre 24 et 25 weeks 
set.seed(2345)
gen_terme_24 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 24, max = 25)) }
terme_24 <- 1:1 %>% map_df(gen_terme_24)

# Birth weigh simulation with truncated normal distribution (gestational age between 24 and 25 weeks) 
set.seed(2345)
gen_poids_24 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=450, b=845, mean = 661, sd = 95)) }
poids_24 <- 1:1 %>% map_df(gen_poids_24)

#  creatinine simulation with truncated normal distribution (gestational age between 24 and 25 weeks) 
set.seed(2345)
gen_creat_24 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_24 <- 1:1 %>% map_df(gen_creat_24)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 24 and 25 weeks) 
set.seed(2345)
gen_infection_24 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_24 <- 1:1 %>% map_df(gen_infection_24)


# weight gain simulation with truncated normal distribution (gestational age between 24 and 25 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf24 <- poids_24 %>% bind_cols(creat_24) %>% bind_cols(infection_24)%>%bind_cols(terme_24)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 24)
summary(data_demog_inf24)
##        PN             CREA          infection            GA       
##  Min.   :496.1   Min.   : 40.03   Min.   : 3.031   Min.   :24.01  
##  1st Qu.:608.6   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:24.23  
##  Median :655.8   Median : 70.70   Median :27.495   Median :24.50  
##  Mean   :659.3   Mean   : 77.25   Mean   :33.466   Mean   :24.47  
##  3rd Qu.:709.2   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:24.68  
##  Max.   :840.2   Max.   :144.55   Max.   :89.937   Max.   :24.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :24  
##  1st Qu.: 25.75   1st Qu.:24  
##  Median : 50.50   Median :24  
##  Mean   : 50.50   Mean   :24  
##  3rd Qu.: 75.25   3rd Qu.:24  
##  Max.   :100.00   Max.   :24
data_demog_inf24<- data_demog_inf24%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf24_inf15 <- data_demog_inf24%>% filter(periode == "inf15")

data_demog_inf24_sup15 <- data_demog_inf24%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_24_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 3.8, sd = 6.6)) }
gain_24_inf15 <- 1:1 %>% map_df(gen_gain_24_inf15) %>% mutate(ID6 =(1:20))%>% dplyr:: select(-ID5)
gain_24_inf15 <- as_tibble(gain_24_inf15)
gain_24_inf15_bis <- gain_24_inf15 %>% bind_cols(data_demog_inf24_inf15)%>% dplyr::select(-ID6)

set.seed(2345)
gen_gain_24_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 13.3, sd = 1.7)) }
gain_24_sup15 <- 1:1 %>% map_df(gen_gain_24_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_24_sup15 <- as_tibble(gain_24_sup15)
gain_24_sup15_bis <- gain_24_sup15 %>% bind_cols(data_demog_inf24_sup15)%>% dplyr::select(-ID6)

data_demog_inf24_final <-gain_24_inf15_bis%>% bind_rows(gain_24_sup15_bis)%>% mutate (ID=1:100)


### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 

data_demog_inf24_final <- data_demog_inf24_final %>% mutate (PMA = GA+infection/7)%>% mutate(CW= PN+gain*infection)
summary(data_demog_inf24_final)
##       gain              PN             CREA          infection     
##  Min.   : 0.215   Min.   :496.1   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.343   1st Qu.:608.6   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :12.865   Median :655.8   Median : 70.70   Median :27.495  
##  Mean   :11.908   Mean   :659.3   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:13.792   3rd Qu.:709.2   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :17.365   Max.   :840.2   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :24.01   Min.   :  1.00   Min.   :24   inf15:20   Min.   :24.45  
##  1st Qu.:24.23   1st Qu.: 25.75   1st Qu.:24   sup15:80   1st Qu.:26.79  
##  Median :24.50   Median : 50.50   Median :24              Median :28.43  
##  Mean   :24.47   Mean   : 50.50   Mean   :24              Mean   :29.25  
##  3rd Qu.:24.68   3rd Qu.: 75.25   3rd Qu.:24              3rd Qu.:31.35  
##  Max.   :24.98   Max.   :100.00   Max.   :24              Max.   :37.64  
##        CW        
##  Min.   : 583.9  
##  1st Qu.: 867.6  
##  Median :1060.4  
##  Mean   :1088.8  
##  3rd Qu.:1288.8  
##  Max.   :1929.4

Gestational age between 25 and 26 weeks

#Gestational age simulation with uniform distribution betwwen entre 25 et 26 weeks

set.seed(2345)
gen_terme_25 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 25, max = 26)) }
terme_25 <- 1:1 %>% map_df(gen_terme_25)

# Birth weigh simulation with truncated normal distribution (gestational age between 25 and 26 weeks)
set.seed(2345)
gen_poids_25 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=576, b=845, mean = 718, sd = 111)) }
poids_25 <- 1:1 %>% map_df(gen_poids_25)

#  creatinine simulation with truncated normal distribution (gestational age between 25 and 26 weeks) 
set.seed(2345)
gen_creat_25 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_25 <- 1:1 %>% map_df(gen_creat_25)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 25 and 26 weeks) 
set.seed(2345)
gen_infection_25 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_25 <- 1:1 %>% map_df(gen_infection_25)

# weight gain simulation with truncated normal distribution (gestational age between 25 and 26 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf25 <- poids_25 %>% bind_cols(creat_25) %>% bind_cols(infection_25)%>%bind_cols(terme_25)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 25)
summary(data_demog_inf25)
##        PN             CREA          infection            GA       
##  Min.   :587.1   Min.   : 40.03   Min.   : 3.031   Min.   :25.01  
##  1st Qu.:657.3   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:25.23  
##  Median :708.8   Median : 70.70   Median :27.495   Median :25.50  
##  Mean   :708.2   Mean   : 77.25   Mean   :33.466   Mean   :25.47  
##  3rd Qu.:753.0   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:25.68  
##  Max.   :840.4   Max.   :144.55   Max.   :89.937   Max.   :25.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :25  
##  1st Qu.: 25.75   1st Qu.:25  
##  Median : 50.50   Median :25  
##  Mean   : 50.50   Mean   :25  
##  3rd Qu.: 75.25   3rd Qu.:25  
##  Max.   :100.00   Max.   :25
data_demog_inf25<- data_demog_inf25%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf25_inf15 <- data_demog_inf25%>% filter(periode == "inf15")

data_demog_inf25_sup15 <- data_demog_inf25%>% filter(periode == "sup15")

set.seed(2345)
gen_gain_25_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 3.8, sd = 6.6)) }
gain_25_inf15 <- 1:1 %>% map_df(gen_gain_25_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_25_inf15 <- as_tibble(gain_25_inf15)
gain_25_inf15_bis <- gain_25_inf15 %>% bind_cols(data_demog_inf25_inf15)%>% dplyr::select(-ID6)

set.seed(2345)
gen_gain_25_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 13.3, sd = 1.7)) }
gain_25_sup15 <- 1:1 %>% map_df(gen_gain_25_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_25_sup15 <- as_tibble(gain_25_sup15)
gain_25_sup15_bis <- gain_25_sup15 %>% bind_cols(data_demog_inf25_sup15)%>% dplyr::select(-ID6)

data_demog_inf25_final <-gain_25_inf15_bis%>% bind_rows(gain_25_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf25_final <- data_demog_inf25_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf25_final)
##       gain              PN             CREA          infection     
##  Min.   : 0.215   Min.   :587.1   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.343   1st Qu.:657.3   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :12.865   Median :708.8   Median : 70.70   Median :27.495  
##  Mean   :11.908   Mean   :708.2   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:13.792   3rd Qu.:753.0   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :17.365   Max.   :840.4   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :25.01   Min.   :  1.00   Min.   :25   inf15:20   Min.   :25.45  
##  1st Qu.:25.23   1st Qu.: 25.75   1st Qu.:25   sup15:80   1st Qu.:27.79  
##  Median :25.50   Median : 50.50   Median :25              Median :29.43  
##  Mean   :25.47   Mean   : 50.50   Mean   :25              Mean   :30.25  
##  3rd Qu.:25.68   3rd Qu.: 75.25   3rd Qu.:25              3rd Qu.:32.35  
##  Max.   :25.98   Max.   :100.00   Max.   :25              Max.   :38.64  
##        CW        
##  Min.   : 614.2  
##  1st Qu.: 924.7  
##  Median :1087.4  
##  Mean   :1137.7  
##  3rd Qu.:1342.4  
##  Max.   :1924.4

Gestational age between 26 and 27 weeks

#Gestational age simulation with uniform distribution betwwen entre 26 et 27 weeks
set.seed(2345)
gen_terme_26 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 26, max = 27)) }
terme_26 <- 1:1 %>% map_df(gen_terme_26)

# Birth weigh simulation with truncated normal distribution (gestational age between 26 and 27 weeks)
set.seed(2345)
gen_poids_26 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=660, b=995, mean = 820, sd = 138)) }
poids_26 <- 1:1 %>% map_df(gen_poids_26)

# creatinine simulation with truncated normal distribution (gestational age between 26 and 27 weeks) 
set.seed(2345)
gen_creat_26 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_26 <- 1:1 %>% map_df(gen_creat_26)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 26 and 27 weeks) 
set.seed(2345)
gen_infection_26<- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_26 <- 1:1 %>% map_df(gen_infection_26)

# weight gain simulation with truncated normal distribution (gestational age between 26 and 27 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf26 <- poids_26 %>% bind_cols(creat_26) %>% bind_cols(infection_26)%>%bind_cols(terme_26)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 26)
summary(data_demog_inf26)
##        PN             CREA          infection            GA       
##  Min.   :673.8   Min.   : 40.03   Min.   : 3.031   Min.   :26.01  
##  1st Qu.:757.4   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:26.23  
##  Median :820.2   Median : 70.70   Median :27.495   Median :26.50  
##  Mean   :819.8   Mean   : 77.25   Mean   :33.466   Mean   :26.47  
##  3rd Qu.:865.6   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:26.68  
##  Max.   :989.2   Max.   :144.55   Max.   :89.937   Max.   :26.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :26  
##  1st Qu.: 25.75   1st Qu.:26  
##  Median : 50.50   Median :26  
##  Mean   : 50.50   Mean   :26  
##  3rd Qu.: 75.25   3rd Qu.:26  
##  Max.   :100.00   Max.   :26
data_demog_inf26<- data_demog_inf26%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf26_inf15 <- data_demog_inf26%>% filter(periode == "inf15")

data_demog_inf26_sup15 <- data_demog_inf26%>% filter(periode == "sup15")

set.seed(2345)
gen_gain_26_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 2.5, sd = 5)) }
gain_26_inf15 <- 1:1 %>% map_df(gen_gain_26_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_26_inf15 <- as_tibble(gain_26_inf15)
gain_26_inf15_bis <- gain_26_inf15 %>% bind_cols(data_demog_inf26_inf15)%>% dplyr::select(-ID6)

set.seed(2345)
gen_gain_26_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.3, sd = 2.2)) }
gain_26_sup15 <- 1:1 %>% map_df(gen_gain_26_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_26_sup15 <- as_tibble(gain_26_sup15)
gain_26_sup15_bis <- gain_26_sup15 %>% bind_cols(data_demog_inf26_sup15)%>% dplyr::select(-ID6)

data_demog_inf26_final <-gain_26_inf15_bis%>% bind_rows(gain_26_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 

data_demog_inf26_final <- data_demog_inf26_final %>% mutate (PMA = GA+infection/7)
data_demog_inf26_final <- data_demog_inf26_final %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf26_final)
##       gain                 PN             CREA          infection     
##  Min.   : 0.004318   Min.   :673.8   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.649118   1st Qu.:757.4   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :13.612963   Median :820.2   Median : 70.70   Median :27.495  
##  Mean   :12.368598   Mean   :819.8   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:14.906179   3rd Qu.:865.6   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :18.821767   Max.   :989.2   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :26.01   Min.   :  1.00   Min.   :26   inf15:20   Min.   :26.45  
##  1st Qu.:26.23   1st Qu.: 25.75   1st Qu.:26   sup15:80   1st Qu.:28.79  
##  Median :26.50   Median : 50.50   Median :26              Median :30.43  
##  Mean   :26.47   Mean   : 50.50   Mean   :26              Mean   :31.25  
##  3rd Qu.:26.68   3rd Qu.: 75.25   3rd Qu.:26              3rd Qu.:33.35  
##  Max.   :26.98   Max.   :100.00   Max.   :26              Max.   :39.64  
##        CW        
##  Min.   : 731.4  
##  1st Qu.:1024.1  
##  Median :1221.4  
##  Mean   :1277.1  
##  3rd Qu.:1489.4  
##  Max.   :2104.5

Gestational age between 27 and 28 weeks

#Gestational age simulation with uniform distribution betwwen entre 27 et 28 weeks
set.seed(2345)
gen_terme_27 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 27, max = 28)) }
terme_27 <- 1:1 %>% map_df(gen_terme_27)

# Birth weigh simulation with truncated normal distribution (gestational age between 27 and 28 weeks)

set.seed(2345)
gen_poids_27<-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=685, b=1199, mean = 943, sd = 201)) }
poids_27 <- 1:1 %>% map_df(gen_poids_27)

#  creatinine simulation with truncated normal distribution (gestational age between 27 and 28 weeks) 

set.seed(2345)
gen_creat_27 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_27 <- 1:1 %>% map_df(gen_creat_27)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 27 and 28 weeks) 

set.seed(2345)
gen_infection_27<- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_27 <- 1:1 %>% map_df(gen_infection_27)

# weight gain simulation with truncated normal distribution (gestational age between 27 and 28 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf27 <- poids_27 %>% bind_cols(creat_27) %>% bind_cols(infection_27)%>%bind_cols(terme_27)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 27)
summary(data_demog_inf27)
##        PN              CREA          infection            GA       
##  Min.   : 706.2   Min.   : 40.03   Min.   : 3.031   Min.   :27.01  
##  1st Qu.: 834.4   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:27.23  
##  Median : 930.8   Median : 70.70   Median :27.495   Median :27.50  
##  Mean   : 930.7   Mean   : 77.25   Mean   :33.466   Mean   :27.47  
##  3rd Qu.:1000.5   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:27.68  
##  Max.   :1190.1   Max.   :144.55   Max.   :89.937   Max.   :27.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :27  
##  1st Qu.: 25.75   1st Qu.:27  
##  Median : 50.50   Median :27  
##  Mean   : 50.50   Mean   :27  
##  3rd Qu.: 75.25   3rd Qu.:27  
##  Max.   :100.00   Max.   :27
data_demog_inf27<- data_demog_inf27%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf27_inf15 <- data_demog_inf27%>% filter(periode == "inf15")

data_demog_inf27_sup15 <- data_demog_inf27%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_27_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 2.5, sd = 5)) }
gain_27_inf15 <- 1:1 %>% map_df(gen_gain_27_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_27_inf15 <- as_tibble(gain_27_inf15)
gain_27_inf15_bis <- gain_27_inf15 %>% bind_cols(data_demog_inf27_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_27_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.3, sd = 2.2)) }
gain_27_sup15 <- 1:1 %>% map_df(gen_gain_27_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_27_sup15 <- as_tibble(gain_27_sup15)
gain_27_sup15_bis <- gain_27_sup15 %>% bind_cols(data_demog_inf27_sup15)%>% dplyr::select(-ID6)

data_demog_inf27_final <-gain_27_inf15_bis%>% bind_rows(gain_27_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 
data_demog_inf27_final <- data_demog_inf27_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf27_final)
##       gain                 PN              CREA          infection     
##  Min.   : 0.004318   Min.   : 706.2   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.649118   1st Qu.: 834.4   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :13.612963   Median : 930.8   Median : 70.70   Median :27.495  
##  Mean   :12.368598   Mean   : 930.7   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:14.906179   3rd Qu.:1000.5   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :18.821767   Max.   :1190.1   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :27.01   Min.   :  1.00   Min.   :27   inf15:20   Min.   :27.45  
##  1st Qu.:27.23   1st Qu.: 25.75   1st Qu.:27   sup15:80   1st Qu.:29.79  
##  Median :27.50   Median : 50.50   Median :27              Median :31.43  
##  Mean   :27.47   Mean   : 50.50   Mean   :27              Mean   :32.25  
##  3rd Qu.:27.68   3rd Qu.: 75.25   3rd Qu.:27              3rd Qu.:34.35  
##  Max.   :27.98   Max.   :100.00   Max.   :27              Max.   :40.64  
##        CW        
##  Min.   : 789.6  
##  1st Qu.:1143.6  
##  Median :1340.4  
##  Mean   :1388.0  
##  3rd Qu.:1568.4  
##  Max.   :2273.5

Gestational age between 28 and 29 weeks

#Gestational age simulation with uniform distribution betwwen entre 28 et 29 weeks

set.seed(2345)
gen_terme_28 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 28, max = 29)) }
terme_28 <- 1:1 %>% map_df(gen_terme_28)

# Birth weigh simulation with truncated normal distribution (gestational age between 28 and 29 weeks)

set.seed(2345)
gen_poids_28<-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=750, b=1270, mean = 1028, sd = 196)) }
poids_28 <- 1:1 %>% map_df(gen_poids_28)

#  creatinine simulation with truncated normal distribution (gestational age between 28 and 29 weeks) 

set.seed(2345)
gen_creat_28 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_28 <- 1:1 %>% map_df(gen_creat_28)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 28 and 29 weeks) 

set.seed(2345)
gen_infection_28<- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_28 <- 1:1 %>% map_df(gen_infection_28)

# weight gain simulation with truncated normal distribution (gestational age between 28 and 29 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf28 <- poids_28 %>% bind_cols(creat_28) %>% bind_cols(infection_28)%>%bind_cols(terme_28)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 28)
summary(data_demog_inf28)
##        PN              CREA          infection            GA       
##  Min.   : 754.0   Min.   : 40.03   Min.   : 3.031   Min.   :28.01  
##  1st Qu.: 883.9   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:28.23  
##  Median :1008.2   Median : 70.70   Median :27.495   Median :28.50  
##  Mean   : 998.5   Mean   : 77.25   Mean   :33.466   Mean   :28.47  
##  3rd Qu.:1081.5   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:28.68  
##  Max.   :1266.5   Max.   :144.55   Max.   :89.937   Max.   :28.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :28  
##  1st Qu.: 25.75   1st Qu.:28  
##  Median : 50.50   Median :28  
##  Mean   : 50.50   Mean   :28  
##  3rd Qu.: 75.25   3rd Qu.:28  
##  Max.   :100.00   Max.   :28
data_demog_inf28<- data_demog_inf28%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf28_inf15 <- data_demog_inf28%>% filter(periode == "inf15")

data_demog_inf28_sup15 <- data_demog_inf28%>% filter(periode == "sup15")

set.seed(2345)
gen_gain_28_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 2.5, sd = 5)) }
gain_28_inf15 <- 1:1 %>% map_df(gen_gain_28_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_28_inf15 <- as_tibble(gain_28_inf15)
gain_28_inf15_bis <- gain_28_inf15 %>% bind_cols(data_demog_inf28_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_28_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.3, sd = 2.2)) }
gain_28_sup15 <- 1:1 %>% map_df(gen_gain_28_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_28_sup15 <- as_tibble(gain_28_sup15)
gain_28_sup15_bis <- gain_28_sup15 %>% bind_cols(data_demog_inf28_sup15)%>% dplyr::select(-ID6)

data_demog_inf28_final <-gain_28_inf15_bis%>% bind_rows(gain_28_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf28_final <- data_demog_inf28_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf28_final)
##       gain                 PN              CREA          infection     
##  Min.   : 0.004318   Min.   : 754.0   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.649118   1st Qu.: 883.9   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :13.612963   Median :1008.2   Median : 70.70   Median :27.495  
##  Mean   :12.368598   Mean   : 998.5   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:14.906179   3rd Qu.:1081.5   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :18.821767   Max.   :1266.5   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :28.01   Min.   :  1.00   Min.   :28   inf15:20   Min.   :28.45  
##  1st Qu.:28.23   1st Qu.: 25.75   1st Qu.:28   sup15:80   1st Qu.:30.79  
##  Median :28.50   Median : 50.50   Median :28              Median :32.43  
##  Mean   :28.47   Mean   : 50.50   Mean   :28              Mean   :33.25  
##  3rd Qu.:28.68   3rd Qu.: 75.25   3rd Qu.:28              3rd Qu.:35.35  
##  Max.   :28.98   Max.   :100.00   Max.   :28              Max.   :41.64  
##        CW      
##  Min.   : 837  
##  1st Qu.:1227  
##  Median :1400  
##  Mean   :1456  
##  3rd Qu.:1726  
##  Max.   :2318

Gestational age between 29 and 30 weeks

#Gestational age simulation with uniform distribution betwwen entre 29 et 30 weeks

set.seed(2345)
gen_terme_29 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 29, max = 30)) }
terme_29 <- 1:1 %>% map_df(gen_terme_29)

# Birth weigh simulation with truncated normal distribution (gestational age between 29 and 30 weeks)

set.seed(2345)
gen_poids_29<-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=908, b=1472, mean = 1205, sd = 256)) }
poids_29 <- 1:1 %>% map_df(gen_poids_29)

#  creatinine simulation with truncated normal distribution (gestational age between 29 and 30 weeks) 

set.seed(2345)
gen_creat_29 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_29 <- 1:1 %>% map_df(gen_creat_29)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 29 and 30 weeks) 

set.seed(2345)
gen_infection_29<- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_29 <- 1:1 %>% map_df(gen_infection_29)

# weight gain simulation with truncated normal distribution (gestational age between 29 and 30 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf29 <- poids_29 %>% bind_cols(creat_29) %>% bind_cols(infection_29)%>%bind_cols(terme_29)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 29)
summary(data_demog_inf29)
##        PN              CREA          infection            GA       
##  Min.   : 931.3   Min.   : 40.03   Min.   : 3.031   Min.   :29.01  
##  1st Qu.:1088.9   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:29.23  
##  Median :1186.8   Median : 70.70   Median :27.495   Median :29.50  
##  Mean   :1191.2   Mean   : 77.25   Mean   :33.466   Mean   :29.47  
##  3rd Qu.:1298.6   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:29.68  
##  Max.   :1462.3   Max.   :144.55   Max.   :89.937   Max.   :29.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :29  
##  1st Qu.: 25.75   1st Qu.:29  
##  Median : 50.50   Median :29  
##  Mean   : 50.50   Mean   :29  
##  3rd Qu.: 75.25   3rd Qu.:29  
##  Max.   :100.00   Max.   :29
data_demog_inf29<- data_demog_inf29%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf29_inf15 <- data_demog_inf29%>% filter(periode == "inf15")

data_demog_inf29_sup15 <- data_demog_inf29%>% filter(periode == "sup15")

set.seed(2345)
gen_gain_29_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_29_inf15 <- 1:1 %>% map_df(gen_gain_29_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_29_inf15 <- as_tibble(gain_29_inf15)
gain_29_inf15_bis <- gain_29_inf15 %>% bind_cols(data_demog_inf29_inf15)%>% dplyr::select(-ID6)

set.seed(2345)
gen_gain_29_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_29_sup15 <- 1:1 %>% map_df(gen_gain_29_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_29_sup15 <- as_tibble(gain_29_sup15)
gain_29_sup15_bis <- gain_29_sup15 %>% bind_cols(data_demog_inf29_sup15)%>% dplyr::select(-ID6)

data_demog_inf29_final <-gain_29_inf15_bis%>% bind_rows(gain_29_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

 
data_demog_inf29_final <- data_demog_inf29_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf29_final)
##       gain                PN              CREA          infection     
##  Min.   : 0.08977   Min.   : 931.3   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:1088.9   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :1186.8   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :1191.2   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:1298.6   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :1462.3   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :29.01   Min.   :  1.00   Min.   :29   inf15:20   Min.   :29.45  
##  1st Qu.:29.23   1st Qu.: 25.75   1st Qu.:29   sup15:80   1st Qu.:31.79  
##  Median :29.50   Median : 50.50   Median :29              Median :33.43  
##  Mean   :29.47   Mean   : 50.50   Mean   :29              Mean   :34.25  
##  3rd Qu.:29.68   3rd Qu.: 75.25   3rd Qu.:29              3rd Qu.:36.35  
##  Max.   :29.98   Max.   :100.00   Max.   :29              Max.   :42.64  
##        CW      
##  Min.   :1006  
##  1st Qu.:1424  
##  Median :1611  
##  Mean   :1670  
##  3rd Qu.:1901  
##  Max.   :2686

Gestational age between 30 and 31 weeks

#Gestational age simulation with uniform distribution betwwen entre 30 et 31 weeks

set.seed(2345)
gen_terme_30 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 30, max = 31)) }
terme_30 <- 1:1 %>% map_df(gen_terme_30)

# Birth weigh simulation with truncated normal distribution (gestational age between 30 and 31 weeks)

set.seed(2345)
gen_poids_30<-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=1041, b=1672, mean = 1377, sd = 311)) }
poids_30 <- 1:1 %>% map_df(gen_poids_30)

#  creatinine simulation with truncated normal distribution (gestational age between 30 and 31 weeks) 

set.seed(2345)
gen_creat_30 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_30 <- 1:1 %>% map_df(gen_creat_30)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 30 and 31 weeks) 

set.seed(2345)
gen_infection_30 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_30 <- 1:1 %>% map_df(gen_infection_30)

# weight gain simulation with truncated normal distribution (gestational age between 30 and 31 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf30 <- poids_30 %>% bind_cols(creat_30) %>% bind_cols(infection_30)%>%bind_cols(terme_30)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 30)
summary(data_demog_inf30)
##        PN            CREA          infection            GA       
##  Min.   :1067   Min.   : 40.03   Min.   : 3.031   Min.   :30.01  
##  1st Qu.:1232   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:30.23  
##  Median :1353   Median : 70.70   Median :27.495   Median :30.50  
##  Mean   :1357   Mean   : 77.25   Mean   :33.466   Mean   :30.47  
##  3rd Qu.:1492   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:30.68  
##  Max.   :1661   Max.   :144.55   Max.   :89.937   Max.   :30.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :30  
##  1st Qu.: 25.75   1st Qu.:30  
##  Median : 50.50   Median :30  
##  Mean   : 50.50   Mean   :30  
##  3rd Qu.: 75.25   3rd Qu.:30  
##  Max.   :100.00   Max.   :30
data_demog_inf30<- data_demog_inf30%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf30_inf15 <- data_demog_inf30%>% filter(periode == "inf15")

data_demog_inf30_sup15 <- data_demog_inf30%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_30_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_30_inf15 <- 1:1 %>% map_df(gen_gain_30_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_30_inf15 <- as_tibble(gain_30_inf15)
gain_30_inf15_bis <- gain_30_inf15 %>% bind_cols(data_demog_inf30_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_30_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_30_sup15 <- 1:1 %>% map_df(gen_gain_30_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_30_sup15 <- as_tibble(gain_30_sup15)
gain_30_sup15_bis <- gain_30_sup15 %>% bind_cols(data_demog_inf30_sup15)%>% dplyr::select(-ID6)

data_demog_inf30_final <-gain_30_inf15_bis%>% bind_rows(gain_30_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 

data_demog_inf30_final <- data_demog_inf30_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf30_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :1067   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:1232   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :1353   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :1357   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:1492   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :1661   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :30.01   Min.   :  1.00   Min.   :30   inf15:20   Min.   :30.45  
##  1st Qu.:30.23   1st Qu.: 25.75   1st Qu.:30   sup15:80   1st Qu.:32.79  
##  Median :30.50   Median : 50.50   Median :30              Median :34.43  
##  Mean   :30.47   Mean   : 50.50   Mean   :30              Mean   :35.25  
##  3rd Qu.:30.68   3rd Qu.: 75.25   3rd Qu.:30              3rd Qu.:37.35  
##  Max.   :30.98   Max.   :100.00   Max.   :30              Max.   :43.64  
##        CW      
##  Min.   :1202  
##  1st Qu.:1544  
##  Median :1782  
##  Mean   :1836  
##  3rd Qu.:2048  
##  Max.   :2623

Gestational age between 31 and 32 weeks

#Gestational age simulation with uniform distribution betwwen entre 31 et 32 weeks


set.seed(2345)
gen_terme_31 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 31, max = 32)) }
terme_31 <- 1:1 %>% map_df(gen_terme_31)

# Birth weigh simulation with truncated normal distribution (gestational age between 31 and 32 weeks)

set.seed(2345)
gen_poids_31<-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=1140, b=1933, mean = 1550, sd = 333)) }
poids_31 <- 1:1 %>% map_df(gen_poids_31)

#  creatinine simulation with truncated normal distribution (gestational age between 31 and 32 weeks) 

set.seed(2345)
gen_creat_31 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_31 <- 1:1 %>% map_df(gen_creat_31)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 31 and 32 weeks) 

set.seed(2345)
gen_infection_31 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_31 <- 1:1 %>% map_df(gen_infection_31)

# weight gain simulation with truncated normal distribution (gestational age between 31 and 32 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days 

data_demog_inf31 <- poids_31 %>% bind_cols(creat_31) %>% bind_cols(infection_31)%>%bind_cols(terme_31)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 31)
summary(data_demog_inf31)
##        PN            CREA          infection            GA       
##  Min.   :1173   Min.   : 40.03   Min.   : 3.031   Min.   :31.01  
##  1st Qu.:1380   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:31.23  
##  Median :1532   Median : 70.70   Median :27.495   Median :31.50  
##  Mean   :1530   Mean   : 77.25   Mean   :33.466   Mean   :31.47  
##  3rd Qu.:1662   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:31.68  
##  Max.   :1919   Max.   :144.55   Max.   :89.937   Max.   :31.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :31  
##  1st Qu.: 25.75   1st Qu.:31  
##  Median : 50.50   Median :31  
##  Mean   : 50.50   Mean   :31  
##  3rd Qu.: 75.25   3rd Qu.:31  
##  Max.   :100.00   Max.   :31
data_demog_inf31<- data_demog_inf31%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf31_inf15 <- data_demog_inf31%>% filter(periode == "inf15")

data_demog_inf31_sup15 <- data_demog_inf31%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_31_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_31_inf15 <- 1:1 %>% map_df(gen_gain_31_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_31_inf15 <- as_tibble(gain_31_inf15)
gain_31_inf15_bis <- gain_31_inf15 %>% bind_cols(data_demog_inf31_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_31_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_31_sup15 <- 1:1 %>% map_df(gen_gain_31_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_31_sup15 <- as_tibble(gain_31_sup15)
gain_31_sup15_bis <- gain_31_sup15 %>% bind_cols(data_demog_inf31_sup15)%>% dplyr::select(-ID6)

data_demog_inf31_final <-gain_31_inf15_bis%>% bind_rows(gain_31_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
data_demog_inf31_final <- data_demog_inf31_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf31_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :1173   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:1380   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :1532   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :1530   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:1662   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :1919   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :31.01   Min.   :  1.00   Min.   :31   inf15:20   Min.   :31.45  
##  1st Qu.:31.23   1st Qu.: 25.75   1st Qu.:31   sup15:80   1st Qu.:33.79  
##  Median :31.50   Median : 50.50   Median :31              Median :35.43  
##  Mean   :31.47   Mean   : 50.50   Mean   :31              Mean   :36.25  
##  3rd Qu.:31.68   3rd Qu.: 75.25   3rd Qu.:31              3rd Qu.:38.35  
##  Max.   :31.98   Max.   :100.00   Max.   :31              Max.   :44.64  
##        CW      
##  Min.   :1251  
##  1st Qu.:1706  
##  Median :1964  
##  Mean   :2009  
##  3rd Qu.:2230  
##  Max.   :3434

Gestational age between 32 and 33 weeks

#Gestational age simulation with uniform distribution betwwen entre 32 et 33 weeks

set.seed(2345)
gen_terme_32 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 32, max = 32)) }
terme_32 <- 1:1 %>% map_df(gen_terme_32)

# Birth weigh simulation with truncated normal distribution (gestational age between 32 and 33 weeks)

set.seed(2345)
gen_poids_32<-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=1328, b=2097, mean = 1713, sd = 331)) }
poids_32 <- 1:1 %>% map_df(gen_poids_32)

#  creatinine simulation with truncated normal distribution (gestational age between 32 and 33 weeks) 

set.seed(2345)
gen_creat_32 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_32 <- 1:1 %>% map_df(gen_creat_32)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 32 and 33 weeks)  

set.seed(2345)
gen_infection_32 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_32 <- 1:1 %>% map_df(gen_infection_32)

# weight gain simulation with truncated normal distribution (gestational age between 32 and 33 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 day

data_demog_inf32 <- poids_32 %>% bind_cols(creat_32) %>% bind_cols(infection_32)%>%bind_cols(terme_32)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 32)
summary(data_demog_inf32)
##        PN            CREA          infection            GA           ID        
##  Min.   :1360   Min.   : 40.03   Min.   : 3.031   Min.   :32   Min.   :  1.00  
##  1st Qu.:1551   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:32   1st Qu.: 25.75  
##  Median :1703   Median : 70.70   Median :27.495   Median :32   Median : 50.50  
##  Mean   :1701   Mean   : 77.25   Mean   :33.466   Mean   :32   Mean   : 50.50  
##  3rd Qu.:1812   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:32   3rd Qu.: 75.25  
##  Max.   :2084   Max.   :144.55   Max.   :89.937   Max.   :32   Max.   :100.00  
##      weeks   
##  Min.   :32  
##  1st Qu.:32  
##  Median :32  
##  Mean   :32  
##  3rd Qu.:32  
##  Max.   :32
data_demog_inf32<- data_demog_inf32%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf32_inf15 <- data_demog_inf32%>% filter(periode == "inf15")

data_demog_inf32_sup15 <- data_demog_inf32%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_32_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_32_inf15 <- 1:1 %>% map_df(gen_gain_32_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_32_inf15 <- as_tibble(gain_32_inf15)
gain_32_inf15_bis <- gain_32_inf15 %>% bind_cols(data_demog_inf32_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_32_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_32_sup15 <- 1:1 %>% map_df(gen_gain_32_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_32_sup15 <- as_tibble(gain_32_sup15)
gain_32_sup15_bis <- gain_32_sup15 %>% bind_cols(data_demog_inf32_sup15)%>% dplyr::select(-ID6)

data_demog_inf32_final <-gain_32_inf15_bis%>% bind_rows(gain_32_sup15_bis)%>% mutate (ID=1:100)


### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 

data_demog_inf32_final <- data_demog_inf32_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf32_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :1360   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:1551   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :1703   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :1701   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:1812   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :2084   Max.   :144.55   Max.   :89.937  
##        GA           ID             weeks     periode        PMA       
##  Min.   :32   Min.   :  1.00   Min.   :32   inf15:20   Min.   :32.43  
##  1st Qu.:32   1st Qu.: 25.75   1st Qu.:32   sup15:80   1st Qu.:34.49  
##  Median :32   Median : 50.50   Median :32              Median :35.93  
##  Mean   :32   Mean   : 50.50   Mean   :32              Mean   :36.78  
##  3rd Qu.:32   3rd Qu.: 75.25   3rd Qu.:32              3rd Qu.:38.99  
##  Max.   :32   Max.   :100.00   Max.   :32              Max.   :44.85  
##        CW      
##  Min.   :1485  
##  1st Qu.:1873  
##  Median :2133  
##  Mean   :2180  
##  3rd Qu.:2390  
##  Max.   :3553

Gestational age between 33 and 34 weeks

#Gestational age simulation with uniform distribution betwwen entre 33 et 34 weeks

set.seed(2345)
gen_terme_33 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 33, max = 34)) }
terme_33 <- 1:1 %>% map_df(gen_terme_33)

# Birth weigh simulation with truncated normal distribution (gestational age between 33 and 34 weeks)
set.seed(2345)
gen_poids_33 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=1479, b=2370, mean = 1918, sd = 377)) }
poids_33 <- 1:1 %>% map_df(gen_poids_33)

#  creatinine simulation with truncated normal distribution (gestational age between 33 and 34 weeks) 

set.seed(2345)
gen_creat_33 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_33 <- 1:1 %>% map_df(gen_creat_33)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 33 and 34 weeks)  

set.seed(2345)
gen_infection_33 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_33 <- 1:1 %>% map_df(gen_infection_33)

# weight gain simulation with truncated normal distribution (gestational age between 33 and 34 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf33 <- poids_33 %>% bind_cols(creat_33) %>% bind_cols(infection_33)%>%bind_cols(terme_33)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 33)
summary(data_demog_inf33)
##        PN            CREA          infection            GA       
##  Min.   :1516   Min.   : 40.03   Min.   : 3.031   Min.   :33.01  
##  1st Qu.:1738   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:33.23  
##  Median :1913   Median : 70.70   Median :27.495   Median :33.50  
##  Mean   :1910   Mean   : 77.25   Mean   :33.466   Mean   :33.47  
##  3rd Qu.:2035   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:33.68  
##  Max.   :2355   Max.   :144.55   Max.   :89.937   Max.   :33.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :33  
##  1st Qu.: 25.75   1st Qu.:33  
##  Median : 50.50   Median :33  
##  Mean   : 50.50   Mean   :33  
##  3rd Qu.: 75.25   3rd Qu.:33  
##  Max.   :100.00   Max.   :33
data_demog_inf33<- data_demog_inf33%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf33_inf15 <- data_demog_inf33%>% filter(periode == "inf15")

data_demog_inf33_sup15 <- data_demog_inf33%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_33_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_33_inf15 <- 1:1 %>% map_df(gen_gain_33_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_33_inf15 <- as_tibble(gain_33_inf15)
gain_33_inf15_bis <- gain_33_inf15 %>% bind_cols(data_demog_inf33_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_33_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_33_sup15 <- 1:1 %>% map_df(gen_gain_33_sup15)%>% mutate(ID6 =(21:100))%>%dplyr:: select(-ID5)
gain_33_sup15 <- as_tibble(gain_33_sup15)
gain_33_sup15_bis <- gain_33_sup15 %>% bind_cols(data_demog_inf33_sup15)%>% dplyr::select(-ID6)

data_demog_inf33_final <-gain_33_inf15_bis%>% bind_rows(gain_33_sup15_bis)%>% mutate (ID=1:100)


### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf33_final <- data_demog_inf33_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf33_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :1516   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:1738   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :1913   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :1910   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:2035   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :2355   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :33.01   Min.   :  1.00   Min.   :33   inf15:20   Min.   :33.45  
##  1st Qu.:33.23   1st Qu.: 25.75   1st Qu.:33   sup15:80   1st Qu.:35.79  
##  Median :33.50   Median : 50.50   Median :33              Median :37.43  
##  Mean   :33.47   Mean   : 50.50   Mean   :33              Mean   :38.25  
##  3rd Qu.:33.68   3rd Qu.: 75.25   3rd Qu.:33              3rd Qu.:40.35  
##  Max.   :33.98   Max.   :100.00   Max.   :33              Max.   :46.64  
##        CW      
##  Min.   :1558  
##  1st Qu.:2058  
##  Median :2347  
##  Mean   :2389  
##  3rd Qu.:2650  
##  Max.   :3870

Gestational age between 34 and 35 weeks

#Gestational age simulation with uniform distribution betwwen entre 34 et 35 weeks

set.seed(2345)
gen_terme_34 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 34, max = 35)) }
terme_34 <- 1:1 %>% map_df(gen_terme_34)

# Birth weigh simulation with truncated normal distribution (gestational age between 34 and 35 weeks)

set.seed(2345)
gen_poids_34 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=1625, b=2640, mean = 2138, sd = 436)) }
poids_34 <- 1:1 %>% map_df(gen_poids_34)

#  creatinine simulation with truncated normal distribution (gestational age between 34 and 35 weeks)

set.seed(2345)
gen_creat_34 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_34 <- 1:1 %>% map_df(gen_creat_34)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 34 and 35 weeks) 

set.seed(2345)
gen_infection_34 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_34 <- 1:1 %>% map_df(gen_infection_34)

# weight gain simulation with truncated normal distribution (gestational age between 34 and 35 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf34 <- poids_34 %>% bind_cols(creat_34) %>% bind_cols(infection_34)%>%bind_cols(terme_34)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 34)
summary(data_demog_inf34)
##        PN            CREA          infection            GA       
##  Min.   :1667   Min.   : 40.03   Min.   : 3.031   Min.   :34.01  
##  1st Qu.:1932   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:34.23  
##  Median :2126   Median : 70.70   Median :27.495   Median :34.50  
##  Mean   :2124   Mean   : 77.25   Mean   :33.466   Mean   :34.47  
##  3rd Qu.:2293   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:34.68  
##  Max.   :2622   Max.   :144.55   Max.   :89.937   Max.   :34.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :34  
##  1st Qu.: 25.75   1st Qu.:34  
##  Median : 50.50   Median :34  
##  Mean   : 50.50   Mean   :34  
##  3rd Qu.: 75.25   3rd Qu.:34  
##  Max.   :100.00   Max.   :34
data_demog_inf34<- data_demog_inf34%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf34_inf15 <- data_demog_inf34%>% filter(periode == "inf15")

data_demog_inf34_sup15 <- data_demog_inf34%>% filter(periode == "sup15")

set.seed(2345)
gen_gain_34_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_34_inf15 <- 1:1 %>% map_df(gen_gain_34_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_34_inf15 <- as_tibble(gain_34_inf15)
gain_34_inf15_bis <- gain_34_inf15 %>% bind_cols(data_demog_inf34_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_34_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_34_sup15 <- 1:1 %>% map_df(gen_gain_33_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_34_sup15 <- as_tibble(gain_34_sup15)
gain_34_sup15_bis <- gain_34_sup15 %>% bind_cols(data_demog_inf34_sup15)%>% dplyr::select(-ID6)

data_demog_inf34_final <-gain_34_inf15_bis%>% bind_rows(gain_34_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 


data_demog_inf34_final <- data_demog_inf34_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf34_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :1667   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:1932   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :2126   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :2124   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:2293   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :2622   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :34.01   Min.   :  1.00   Min.   :34   inf15:20   Min.   :34.45  
##  1st Qu.:34.23   1st Qu.: 25.75   1st Qu.:34   sup15:80   1st Qu.:36.79  
##  Median :34.50   Median : 50.50   Median :34              Median :38.43  
##  Mean   :34.47   Mean   : 50.50   Mean   :34              Mean   :39.25  
##  3rd Qu.:34.68   3rd Qu.: 75.25   3rd Qu.:34              3rd Qu.:41.35  
##  Max.   :34.98   Max.   :100.00   Max.   :34              Max.   :47.64  
##        CW      
##  Min.   :1766  
##  1st Qu.:2306  
##  Median :2571  
##  Mean   :2603  
##  3rd Qu.:2855  
##  Max.   :4138

Gestational age between 35 and 36 weeks

#Gestational age simulation with uniform distribution betwwen entre 35 et 36 weeks

set.seed(2345)
gen_terme_35 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 35, max = 36)) }
terme_35 <- 1:1 %>% map_df(gen_terme_35)

# Birth weigh simulation with truncated normal distribution (gestational age between 35 and 36 weeks)

set.seed(2345)
gen_poids_35 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=1780, b=3010, mean = 2389, sd = 491)) }
poids_35 <- 1:1 %>% map_df(gen_poids_35)

#  creatinine simulation with truncated normal distribution (gestational age between 35 and 36 weeks) 

set.seed(2345)
gen_creat_35 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_35 <- 1:1 %>% map_df(gen_creat_35)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 35 and 36 weeks) 

set.seed(2345)
gen_infection_35 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_35 <- 1:1 %>% map_df(gen_infection_35)

# weight gain simulation with truncated normal distribution (gestational age between 35 and 36 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days


data_demog_inf35 <- poids_35 %>% bind_cols(creat_35) %>% bind_cols(infection_35)%>%bind_cols(terme_35)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 35)
summary(data_demog_inf35)
##        PN            CREA          infection            GA       
##  Min.   :1831   Min.   : 40.03   Min.   : 3.031   Min.   :35.01  
##  1st Qu.:2137   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:35.23  
##  Median :2368   Median : 70.70   Median :27.495   Median :35.50  
##  Mean   :2368   Mean   : 77.25   Mean   :33.466   Mean   :35.47  
##  3rd Qu.:2535   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:35.68  
##  Max.   :2989   Max.   :144.55   Max.   :89.937   Max.   :35.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :35  
##  1st Qu.: 25.75   1st Qu.:35  
##  Median : 50.50   Median :35  
##  Mean   : 50.50   Mean   :35  
##  3rd Qu.: 75.25   3rd Qu.:35  
##  Max.   :100.00   Max.   :35
data_demog_inf35<- data_demog_inf35%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf35_inf15 <- data_demog_inf35%>% filter(periode == "inf15")

data_demog_inf35_sup15 <- data_demog_inf35%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_35_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_35_inf15 <- 1:1 %>% map_df(gen_gain_35_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_35_inf15 <- as_tibble(gain_35_inf15)
gain_35_inf15_bis <- gain_35_inf15 %>% bind_cols(data_demog_inf35_inf15)%>%dplyr:: select(-ID6)


set.seed(2345)
gen_gain_35_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_35_sup15 <- 1:1 %>% map_df(gen_gain_35_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_35_sup15 <- as_tibble(gain_35_sup15)
gain_35_sup15_bis <- gain_35_sup15 %>% bind_cols(data_demog_inf35_sup15)%>% dplyr::select(-ID6)

data_demog_inf35_final <-gain_35_inf15_bis%>% bind_rows(gain_35_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf35_final <- data_demog_inf35_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf35_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :1831   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:2137   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :2368   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :2368   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:2535   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :2989   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :35.01   Min.   :  1.00   Min.   :35   inf15:20   Min.   :35.45  
##  1st Qu.:35.23   1st Qu.: 25.75   1st Qu.:35   sup15:80   1st Qu.:37.79  
##  Median :35.50   Median : 50.50   Median :35              Median :39.43  
##  Mean   :35.47   Mean   : 50.50   Mean   :35              Mean   :40.25  
##  3rd Qu.:35.68   3rd Qu.: 75.25   3rd Qu.:35              3rd Qu.:42.35  
##  Max.   :35.98   Max.   :100.00   Max.   :35              Max.   :48.64  
##        CW      
##  Min.   :1972  
##  1st Qu.:2550  
##  Median :2828  
##  Mean   :2847  
##  3rd Qu.:3122  
##  Max.   :3954

Gestational age between 36 and 37 weeks

#Gestational age simulation with uniform distribution betwwen entre 36 et 37 weeks

set.seed(2345)
gen_terme_36 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 36, max = 37)) }
terme_36 <- 1:1 %>% map_df(gen_terme_36)

# Birth weigh simulation with truncated normal distribution (gestational age between 36 and 37 weeks)

set.seed(2345)
gen_poids_36 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2042, b=3289, mean = 2650, sd = 509)) }
poids_36 <- 1:1 %>% map_df(gen_poids_36)

#  creatinine simulation with truncated normal distribution (gestational age between 36 and 37 weeks) 

set.seed(2345)
gen_creat_36 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_36 <- 1:1 %>% map_df(gen_creat_36)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 36 and 37 weeks)  

set.seed(2345)
gen_infection_36 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_36 <- 1:1 %>% map_df(gen_infection_36)

# weight gain simulation with truncated normal distribution (gestational age between 36 and 37 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf36 <- poids_36 %>% bind_cols(creat_36) %>% bind_cols(infection_36)%>%bind_cols(terme_36)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 36)
summary(data_demog_inf36)
##        PN            CREA          infection            GA       
##  Min.   :2094   Min.   : 40.03   Min.   : 3.031   Min.   :36.01  
##  1st Qu.:2417   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:36.23  
##  Median :2650   Median : 70.70   Median :27.495   Median :36.50  
##  Mean   :2647   Mean   : 77.25   Mean   :33.466   Mean   :36.47  
##  3rd Qu.:2820   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:36.68  
##  Max.   :3267   Max.   :144.55   Max.   :89.937   Max.   :36.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :36  
##  1st Qu.: 25.75   1st Qu.:36  
##  Median : 50.50   Median :36  
##  Mean   : 50.50   Mean   :36  
##  3rd Qu.: 75.25   3rd Qu.:36  
##  Max.   :100.00   Max.   :36
data_demog_inf36<- data_demog_inf36%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf36_inf15 <- data_demog_inf36%>% filter(periode == "inf15")

data_demog_inf36_sup15 <- data_demog_inf36%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_36_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_36_inf15 <- 1:1 %>% map_df(gen_gain_36_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_36_inf15 <- as_tibble(gain_36_inf15)
gain_36_inf15_bis <- gain_36_inf15 %>% bind_cols(data_demog_inf36_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_36_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_36_sup15 <- 1:1 %>% map_df(gen_gain_36_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_36_sup15 <- as_tibble(gain_36_sup15)
gain_36_sup15_bis <- gain_36_sup15 %>% bind_cols(data_demog_inf36_sup15)%>%dplyr:: select(-ID6)

data_demog_inf36_final <-gain_36_inf15_bis%>% bind_rows(gain_36_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf36_final <- data_demog_inf36_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf36_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2094   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:2417   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :2650   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :2647   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:2820   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :3267   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :36.01   Min.   :  1.00   Min.   :36   inf15:20   Min.   :36.45  
##  1st Qu.:36.23   1st Qu.: 25.75   1st Qu.:36   sup15:80   1st Qu.:38.79  
##  Median :36.50   Median : 50.50   Median :36              Median :40.43  
##  Mean   :36.47   Mean   : 50.50   Mean   :36              Mean   :41.25  
##  3rd Qu.:36.68   3rd Qu.: 75.25   3rd Qu.:36              3rd Qu.:43.35  
##  Max.   :36.98   Max.   :100.00   Max.   :36              Max.   :49.64  
##        CW      
##  Min.   :2286  
##  1st Qu.:2787  
##  Median :3055  
##  Mean   :3126  
##  3rd Qu.:3457  
##  Max.   :4566

Gestational age between 37 and 38 weeks

#Gestational age simulation with uniform distribution betwwen entre 37 et 38 weeks

set.seed(2345)
gen_terme_37 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 37, max = 38)) }
terme_37 <- 1:1 %>% map_df(gen_terme_37)

# Birth weigh simulation with truncated normal distribution (gestational age between 37 and 38 weeks)

set.seed(2345)
gen_poids_37 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2211, b=3716, mean = 2940, sd = 720)) }
poids_37 <- 1:1 %>% map_df(gen_poids_37)

#  creatinine simulation with truncated normal distribution (gestational age between 37 and 38 weeks) 

set.seed(2345)
gen_creat_37 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_37 <- 1:1 %>% map_df(gen_creat_37)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 37 and 38 weeks) 

set.seed(2345)
gen_infection_37 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_37 <- 1:1 %>% map_df(gen_infection_36)

# weight gain simulation with truncated normal distribution (gestational age between 37 and 38 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days
data_demog_inf37 <- poids_37 %>% bind_cols(creat_37) %>% bind_cols(infection_37)%>%bind_cols(terme_37)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 37)
summary(data_demog_inf37)
##        PN            CREA          infection            GA       
##  Min.   :2273   Min.   : 40.03   Min.   : 3.031   Min.   :37.01  
##  1st Qu.:2666   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:37.23  
##  Median :2954   Median : 70.70   Median :27.495   Median :37.50  
##  Mean   :2959   Mean   : 77.25   Mean   :33.466   Mean   :37.47  
##  3rd Qu.:3253   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:37.68  
##  Max.   :3690   Max.   :144.55   Max.   :89.937   Max.   :37.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :37  
##  1st Qu.: 25.75   1st Qu.:37  
##  Median : 50.50   Median :37  
##  Mean   : 50.50   Mean   :37  
##  3rd Qu.: 75.25   3rd Qu.:37  
##  Max.   :100.00   Max.   :37
data_demog_inf37<- data_demog_inf37%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf37_inf15 <- data_demog_inf37%>% filter(periode == "inf15")

data_demog_inf37_sup15 <- data_demog_inf37%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_37_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_37_inf15 <- 1:1 %>% map_df(gen_gain_37_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_37_inf15 <- as_tibble(gain_37_inf15)
gain_37_inf15_bis <- gain_37_inf15 %>% bind_cols(data_demog_inf37_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_37_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_37_sup15 <- 1:1 %>% map_df(gen_gain_37_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_37_sup15 <- as_tibble(gain_37_sup15)
gain_37_sup15_bis <- gain_37_sup15 %>% bind_cols(data_demog_inf37_sup15)%>% dplyr::select(-ID6)

data_demog_inf37_final <-gain_37_inf15_bis%>% bind_rows(gain_37_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 
data_demog_inf37_final <- data_demog_inf37_final %>% mutate (PMA = GA+infection/7)%>% mutate(CW= PN+gain*infection)
summary(data_demog_inf37_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2273   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:2666   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :2954   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :2959   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:3253   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :3690   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :37.01   Min.   :  1.00   Min.   :37   inf15:20   Min.   :37.45  
##  1st Qu.:37.23   1st Qu.: 25.75   1st Qu.:37   sup15:80   1st Qu.:39.79  
##  Median :37.50   Median : 50.50   Median :37              Median :41.43  
##  Mean   :37.47   Mean   : 50.50   Mean   :37              Mean   :42.25  
##  3rd Qu.:37.68   3rd Qu.: 75.25   3rd Qu.:37              3rd Qu.:44.35  
##  Max.   :37.98   Max.   :100.00   Max.   :37              Max.   :50.64  
##        CW      
##  Min.   :2313  
##  1st Qu.:3050  
##  Median :3433  
##  Mean   :3438  
##  3rd Qu.:3749  
##  Max.   :4816

Gestational age between 38 and 39 weeks

#Gestational age simulation with uniform distribution betwwen entre 38 et 39 weeks

set.seed(2345)
gen_terme_38 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 38, max = 39)) }
terme_38 <- 1:1 %>% map_df(gen_terme_38)

# Birth weigh simulation with truncated normal distribution (gestational age between 38 et 39 weeks)

set.seed(2345)
gen_poids_38 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2389, b=3876, mean =3100, sd = 590)) }
poids_38 <- 1:1 %>% map_df(gen_poids_38)

#  creatinine simulation with truncated normal distribution (gestational age between 38 and 39 weeks) 

set.seed(2345)
gen_creat_38 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_38 <- 1:1 %>% map_df(gen_creat_38)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 38 and 39 weeks)

set.seed(2345)
gen_infection_38 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_38 <- 1:1 %>% map_df(gen_infection_38)

# weight gain simulation with truncated normal distribution (gestational age between 38 and 39 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf38 <- poids_38 %>% bind_cols(creat_38) %>% bind_cols(infection_38)%>%bind_cols(terme_38)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 38)
summary(data_demog_inf38)
##        PN            CREA          infection            GA       
##  Min.   :2450   Min.   : 40.03   Min.   : 3.031   Min.   :38.01  
##  1st Qu.:2821   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:38.23  
##  Median :3100   Median : 70.70   Median :27.495   Median :38.50  
##  Mean   :3100   Mean   : 77.25   Mean   :33.466   Mean   :38.47  
##  3rd Qu.:3302   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:38.68  
##  Max.   :3850   Max.   :144.55   Max.   :89.937   Max.   :38.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :38  
##  1st Qu.: 25.75   1st Qu.:38  
##  Median : 50.50   Median :38  
##  Mean   : 50.50   Mean   :38  
##  3rd Qu.: 75.25   3rd Qu.:38  
##  Max.   :100.00   Max.   :38
data_demog_inf38<- data_demog_inf38%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf38_inf15 <- data_demog_inf38%>% filter(periode == "inf15")

data_demog_inf38_sup15 <- data_demog_inf38%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_38_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_38_inf15 <- 1:1 %>% map_df(gen_gain_38_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_38_inf15 <- as_tibble(gain_38_inf15)
gain_38_inf15_bis <- gain_38_inf15 %>% bind_cols(data_demog_inf38_inf15)%>% dplyr::select(-ID6)

set.seed(2345)
gen_gain_38_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_38_sup15 <- 1:1 %>% map_df(gen_gain_38_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_38_sup15 <- as_tibble(gain_38_sup15)
gain_38_sup15_bis <- gain_38_sup15 %>% bind_cols(data_demog_inf38_sup15)%>% dplyr::select(-ID6)

data_demog_inf38_final <-gain_38_inf15_bis%>% bind_rows(gain_38_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf38_final <- data_demog_inf38_final %>% mutate (PMA = GA+infection/7)%>% mutate(CW= PN+gain*infection)
summary(data_demog_inf38_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2450   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:2821   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :3100   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :3100   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:3302   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :3850   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :38.01   Min.   :  1.00   Min.   :38   inf15:20   Min.   :38.45  
##  1st Qu.:38.23   1st Qu.: 25.75   1st Qu.:38   sup15:80   1st Qu.:40.79  
##  Median :38.50   Median : 50.50   Median :38              Median :42.43  
##  Mean   :38.47   Mean   : 50.50   Mean   :38              Mean   :43.25  
##  3rd Qu.:38.68   3rd Qu.: 75.25   3rd Qu.:38              3rd Qu.:45.35  
##  Max.   :38.98   Max.   :100.00   Max.   :38              Max.   :51.64  
##        CW      
##  Min.   :2620  
##  1st Qu.:3267  
##  Median :3594  
##  Mean   :3579  
##  3rd Qu.:3848  
##  Max.   :4809

Gestational age between 39 and 40 weeks

#Gestational age simulation with uniform distribution betwwen entre 39 and 40 weeks 

set.seed(2345)
gen_terme_39 <-  function (x) {tibble(ID1 = x, GA = runif(100, min = 39, max = 40)) }
terme_39 <- 1:1 %>% map_df(gen_terme_39)

# Birth weigh simulation with truncated normal distribution (gestational age between 39 and 40 weeks )

set.seed(2345)
gen_poids_39 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2565, b=4034, mean =3400, sd = 610)) }
poids_39 <- 1:1 %>% map_df(gen_poids_39)

#  creatinine simulation with truncated normal distribution (gestational age between 39 and 40 weeks ) 

set.seed(2345)
gen_creat_39 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_39 <- 1:1 %>% map_df(gen_creat_39)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 39 and 40 weeks ) 

set.seed(2345)
gen_infection_39 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_39 <- 1:1 %>% map_df(gen_infection_39)

# weight gain simulation with truncated normal distribution (gestational age between 39 and 40 weeks ) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf39 <- poids_39 %>% bind_cols(creat_39) %>% bind_cols(infection_39)%>%bind_cols(terme_39)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 39)
summary(data_demog_inf39)
##        PN            CREA          infection            GA       
##  Min.   :2684   Min.   : 40.03   Min.   : 3.031   Min.   :39.01  
##  1st Qu.:3036   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:39.23  
##  Median :3305   Median : 70.70   Median :27.495   Median :39.50  
##  Mean   :3318   Mean   : 77.25   Mean   :33.466   Mean   :39.47  
##  3rd Qu.:3615   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:39.68  
##  Max.   :4009   Max.   :144.55   Max.   :89.937   Max.   :39.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :39  
##  1st Qu.: 25.75   1st Qu.:39  
##  Median : 50.50   Median :39  
##  Mean   : 50.50   Mean   :39  
##  3rd Qu.: 75.25   3rd Qu.:39  
##  Max.   :100.00   Max.   :39
data_demog_inf39<- data_demog_inf38%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf39_inf15 <- data_demog_inf39%>% filter(periode == "inf15")

data_demog_inf39_sup15 <- data_demog_inf39%>% filter(periode == "sup15")



set.seed(2345)
gen_gain_39_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_39_inf15 <- 1:1 %>% map_df(gen_gain_39_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_39_inf15 <- as_tibble(gain_39_inf15)
gain_39_inf15_bis <- gain_39_inf15 %>% bind_cols(data_demog_inf39_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_39_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_39_sup15 <- 1:1 %>% map_df(gen_gain_39_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_39_sup15 <- as_tibble(gain_39_sup15)
gain_39_sup15_bis <- gain_39_sup15 %>% bind_cols(data_demog_inf39_sup15)%>% dplyr::select(-ID6)

data_demog_inf39_final <-gain_39_inf15_bis%>% bind_rows(gain_39_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 

data_demog_inf39_final <- data_demog_inf39_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf39_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2450   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:2821   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :3100   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :3100   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:3302   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :3850   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :38.01   Min.   :  1.00   Min.   :38   inf15:20   Min.   :38.45  
##  1st Qu.:38.23   1st Qu.: 25.75   1st Qu.:38   sup15:80   1st Qu.:40.79  
##  Median :38.50   Median : 50.50   Median :38              Median :42.43  
##  Mean   :38.47   Mean   : 50.50   Mean   :38              Mean   :43.25  
##  3rd Qu.:38.68   3rd Qu.: 75.25   3rd Qu.:38              3rd Qu.:45.35  
##  Max.   :38.98   Max.   :100.00   Max.   :38              Max.   :51.64  
##        CW      
##  Min.   :2620  
##  1st Qu.:3267  
##  Median :3594  
##  Mean   :3579  
##  3rd Qu.:3848  
##  Max.   :4809

Gestational age between 40 and 41 weeks

#Gestational age simulation with uniform distribution betwwen entre 40 et 41 weeks

set.seed(2345)
gen_terme_40<-  function (x) {tibble(ID1 = x, GA = runif(100, min = 40, max = 41)) }
terme_40 <- 1:1 %>% map_df(gen_terme_40)

# Birth weigh simulation with truncated normal distribution (gestational age between 40 and 41 weeks)

set.seed(2345)
gen_poids_40 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2702, b=4181, mean =3450, sd = 580)) }
poids_40 <- 1:1 %>% map_df(gen_poids_40)

#  creatinine simulation with truncated normal distribution (gestational age between 40 and 41 weeks) 

set.seed(2345)
gen_creat_40 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_40 <- 1:1 %>% map_df(gen_creat_40)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 40 and 41 weeks)  

set.seed(2345)
gen_infection_40 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_40 <- 1:1 %>% map_df(gen_infection_40)

# weight gain simulation with truncated normal distribution (gestational age between 40 and 41 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf40<- poids_40 %>% bind_cols(creat_40) %>% bind_cols(infection_40)%>%bind_cols(terme_40)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 40)
summary(data_demog_inf40)
##        PN            CREA          infection            GA       
##  Min.   :2763   Min.   : 40.03   Min.   : 3.031   Min.   :40.01  
##  1st Qu.:3147   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:40.23  
##  Median :3423   Median : 70.70   Median :27.495   Median :40.50  
##  Mean   :3420   Mean   : 77.25   Mean   :33.466   Mean   :40.47  
##  3rd Qu.:3624   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:40.68  
##  Max.   :4155   Max.   :144.55   Max.   :89.937   Max.   :40.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :40  
##  1st Qu.: 25.75   1st Qu.:40  
##  Median : 50.50   Median :40  
##  Mean   : 50.50   Mean   :40  
##  3rd Qu.: 75.25   3rd Qu.:40  
##  Max.   :100.00   Max.   :40
data_demog_inf40<- data_demog_inf40%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf40_inf15 <- data_demog_inf40%>% filter(periode == "inf15")

data_demog_inf40_sup15 <- data_demog_inf40%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_40_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_40_inf15 <- 1:1 %>% map_df(gen_gain_40_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_40_inf15 <- as_tibble(gain_40_inf15)
gain_40_inf15_bis <- gain_40_inf15 %>% bind_cols(data_demog_inf40_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_40_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_40_sup15 <- 1:1 %>% map_df(gen_gain_40_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_40_sup15 <- as_tibble(gain_40_sup15)
gain_40_sup15_bis <- gain_40_sup15 %>% bind_cols(data_demog_inf40_sup15)%>% dplyr::select(-ID6)

data_demog_inf40_final <-gain_40_inf15_bis%>% bind_rows(gain_40_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf40_final <- data_demog_inf40_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf40_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2763   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:3147   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :3423   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :3420   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:3624   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :4155   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :40.01   Min.   :  1.00   Min.   :40   inf15:20   Min.   :40.45  
##  1st Qu.:40.23   1st Qu.: 25.75   1st Qu.:40   sup15:80   1st Qu.:42.79  
##  Median :40.50   Median : 50.50   Median :40              Median :44.43  
##  Mean   :40.47   Mean   : 50.50   Mean   :40              Mean   :45.25  
##  3rd Qu.:40.68   3rd Qu.: 75.25   3rd Qu.:40              3rd Qu.:47.35  
##  Max.   :40.98   Max.   :100.00   Max.   :40              Max.   :53.64  
##        CW      
##  Min.   :2981  
##  1st Qu.:3553  
##  Median :3837  
##  Mean   :3899  
##  3rd Qu.:4271  
##  Max.   :5414

Gestational age between 41 and 42 weeks

#Gestational age simulation with uniform distribution betwwen entre 41 et 42 weeks

set.seed(2345)
gen_terme_41<-  function (x) {tibble(ID1 = x, GA = runif(100, min = 41, max = 42)) }
terme_41 <- 1:1 %>% map_df(gen_terme_41)

# Birth weigh simulation with truncated normal distribution (gestational age between 41 and 42 weeks) 

set.seed(2345)
gen_poids_41 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2779, b=4311, mean =3650, sd = 400)) }
poids_41 <- 1:1 %>% map_df(gen_poids_41)

#  creatinine simulation with truncated normal distribution (gestational age between 41 and 42 weeks) 

set.seed(2345)
gen_creat_41 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_41 <- 1:1 %>% map_df(gen_creat_41)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 41 and 42 weeks) 

set.seed(2345)
gen_infection_41 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_41 <- 1:1 %>% map_df(gen_infection_41)

# weight gain simulation with truncated normal distribution (gestational age between 41 and 42 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days

data_demog_inf41 <- poids_41 %>% bind_cols(creat_41) %>% bind_cols(infection_41)%>%bind_cols(terme_41)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 41)
summary(data_demog_inf41)
##        PN            CREA          infection            GA       
##  Min.   :2956   Min.   : 40.03   Min.   : 3.031   Min.   :41.01  
##  1st Qu.:3343   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:41.23  
##  Median :3610   Median : 70.70   Median :27.495   Median :41.50  
##  Mean   :3599   Mean   : 77.25   Mean   :33.466   Mean   :41.47  
##  3rd Qu.:3764   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:41.68  
##  Max.   :4222   Max.   :144.55   Max.   :89.937   Max.   :41.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :41  
##  1st Qu.: 25.75   1st Qu.:41  
##  Median : 50.50   Median :41  
##  Mean   : 50.50   Mean   :41  
##  3rd Qu.: 75.25   3rd Qu.:41  
##  Max.   :100.00   Max.   :41
data_demog_inf41<- data_demog_inf41%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf41_inf15 <- data_demog_inf41%>% filter(periode == "inf15")

data_demog_inf41_sup15 <- data_demog_inf41%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_41_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_41_inf15 <- 1:1 %>% map_df(gen_gain_41_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_41_inf15 <- as_tibble(gain_41_inf15)
gain_41_inf15_bis <- gain_41_inf15 %>% bind_cols(data_demog_inf41_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_41_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_41_sup15 <- 1:1 %>% map_df(gen_gain_41_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_41_sup15 <- as_tibble(gain_41_sup15)
gain_41_sup15_bis <- gain_41_sup15 %>% bind_cols(data_demog_inf41_sup15)%>% dplyr::select(-ID6)

data_demog_inf41_final <-gain_41_inf15_bis%>% bind_rows(gain_41_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 
 

data_demog_inf41_final <- data_demog_inf41_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf41_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2956   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:3343   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :3610   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :3599   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:3764   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :4222   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :41.01   Min.   :  1.00   Min.   :41   inf15:20   Min.   :41.45  
##  1st Qu.:41.23   1st Qu.: 25.75   1st Qu.:41   sup15:80   1st Qu.:43.79  
##  Median :41.50   Median : 50.50   Median :41              Median :45.43  
##  Mean   :41.47   Mean   : 50.50   Mean   :41              Mean   :46.25  
##  3rd Qu.:41.68   3rd Qu.: 75.25   3rd Qu.:41              3rd Qu.:48.35  
##  Max.   :41.98   Max.   :100.00   Max.   :41              Max.   :54.64  
##        CW      
##  Min.   :3010  
##  1st Qu.:3767  
##  Median :4069  
##  Mean   :4078  
##  3rd Qu.:4364  
##  Max.   :5469

Gestational age between 42 and 43 weeks

#Gestational age simulation with uniform distribution betwwen entre 42 et 43 weeks

set.seed(2345)
gen_terme_42<-  function (x) {tibble(ID1 = x, GA = runif(100, min = 42, max = 43)) }
terme_42 <- 1:1 %>% map_df(gen_terme_42)

# Birth weigh simulation with truncated normal distribution (gestational age between 42 and 43 weeks)

set.seed(2345)
gen_poids_42 <-  function (x) {tibble(ID2 = x, PN = rtruncnorm(100, a=2862, b=4500, mean =3740, sd = 560)) }
poids_42 <- 1:1 %>% map_df(gen_poids_42)


#  creatinine simulation with truncated normal distribution (gestational age between 42 and 43 weeks) 

set.seed(2345)
gen_creat_42 <- function (x) {tibble(ID3 = x, CREA = rtruncnorm(100, a=40, b=170, mean = 60, sd = 40)) }
creat_42 <- 1:1 %>% map_df(gen_creat_42)

#   days of infection = post natal age (PNA) simulation with truncated normal distribution (gestational age between 42 and 43 weeks) 

set.seed(2345)
gen_infection_42 <- function (x) {tibble(ID4 = x, infection = rtruncnorm(100, a=3, b=90, mean = 18, sd = 35)) }
infection_42 <- 1:1 %>% map_df(gen_infection_42)

# weight gain simulation with truncated normal distribution (gestational age between 42 and 43 weeks) 
# 2 periods for weight gain :if PNA is under 15 days or if PNA is after 15 days 

data_demog_inf42 <- poids_42 %>% bind_cols(creat_42) %>% bind_cols(infection_42)%>%bind_cols(terme_42)%>% dplyr::select(-ID1,-ID2,-ID3,-ID4) %>%mutate(ID = 1:100) %>% mutate(weeks = 42)
summary(data_demog_inf42)
##        PN            CREA          infection            GA       
##  Min.   :2887   Min.   : 40.03   Min.   : 3.031   Min.   :42.01  
##  1st Qu.:3374   1st Qu.: 57.46   1st Qu.:17.458   1st Qu.:42.23  
##  Median :3698   Median : 70.70   Median :27.495   Median :42.50  
##  Mean   :3687   Mean   : 77.25   Mean   :33.466   Mean   :42.47  
##  3rd Qu.:3902   3rd Qu.: 95.34   3rd Qu.:48.921   3rd Qu.:42.68  
##  Max.   :4495   Max.   :144.55   Max.   :89.937   Max.   :42.98  
##        ID             weeks   
##  Min.   :  1.00   Min.   :42  
##  1st Qu.: 25.75   1st Qu.:42  
##  Median : 50.50   Median :42  
##  Mean   : 50.50   Mean   :42  
##  3rd Qu.: 75.25   3rd Qu.:42  
##  Max.   :100.00   Max.   :42
data_demog_inf42<- data_demog_inf41%>% mutate (periode = factor(case_when(infection <= 15 ~ "inf15",
         between(infection,15.01,90)~"sup15")))

data_demog_inf42_inf15 <- data_demog_inf42%>% filter(periode == "inf15")

data_demog_inf42_sup15 <- data_demog_inf42%>% filter(periode == "sup15")


set.seed(2345)
gen_gain_42_inf15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(20, a=0, b=30, mean = 6.8, sd = 4.8)) }
gain_42_inf15 <- 1:1 %>% map_df(gen_gain_42_inf15) %>% mutate(ID6 =(1:20))%>% dplyr::select(-ID5)
gain_42_inf15 <- as_tibble(gain_42_inf15)
gain_42_inf15_bis <- gain_42_inf15 %>% bind_cols(data_demog_inf42_inf15)%>% dplyr::select(-ID6)


set.seed(2345)
gen_gain_42_sup15 <- function (x) {tibble(ID5 = x, gain = rtruncnorm(80, a=5, b=20, mean = 14.9, sd = 2.8)) }
gain_42_sup15 <- 1:1 %>% map_df(gen_gain_42_sup15)%>% mutate(ID6 =(21:100))%>% dplyr::select(-ID5)
gain_42_sup15 <- as_tibble(gain_42_sup15)
gain_42_sup15_bis <- gain_42_sup15 %>% bind_cols(data_demog_inf42_sup15)%>% dplyr::select(-ID6)

data_demog_inf42_final <-gain_42_inf15_bis%>% bind_rows(gain_42_sup15_bis)%>% mutate (ID=1:100)

### calculation PMA = GA + PNA and CW = Birth Weight + gain weight*PNA 

data_demog_inf42_final <- data_demog_inf42_final %>% mutate (PMA = GA+infection/7) %>% mutate(CW= PN+gain*infection)
summary(data_demog_inf42_final)
##       gain                PN            CREA          infection     
##  Min.   : 0.08977   Min.   :2956   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.55891   1st Qu.:3343   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :14.02559   Median :3610   Median : 70.70   Median :27.495  
##  Mean   :13.15874   Mean   :3599   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.65722   3rd Qu.:3764   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.64722   Max.   :4222   Max.   :144.55   Max.   :89.937  
##        GA              ID             weeks     periode        PMA       
##  Min.   :41.01   Min.   :  1.00   Min.   :41   inf15:20   Min.   :41.45  
##  1st Qu.:41.23   1st Qu.: 25.75   1st Qu.:41   sup15:80   1st Qu.:43.79  
##  Median :41.50   Median : 50.50   Median :41              Median :45.43  
##  Mean   :41.47   Mean   : 50.50   Mean   :41              Mean   :46.25  
##  3rd Qu.:41.68   3rd Qu.: 75.25   3rd Qu.:41              3rd Qu.:48.35  
##  Max.   :41.98   Max.   :100.00   Max.   :41              Max.   :54.64  
##        CW      
##  Min.   :3010  
##  1st Qu.:3767  
##  Median :4069  
##  Mean   :4078  
##  3rd Qu.:4364  
##  Max.   :5469

creation final file

data_demogfinal <- data_demog_inf24_final %>% bind_rows(data_demog_inf25_final)%>% bind_rows(data_demog_inf26_final) %>% bind_rows(data_demog_inf27_final)%>% bind_rows(data_demog_inf28_final)%>% bind_rows(data_demog_inf29_final)%>% bind_rows(data_demog_inf30_final)%>% bind_rows(data_demog_inf31_final)%>% bind_rows(data_demog_inf32_final)%>% bind_rows(data_demog_inf33_final)%>% bind_rows(data_demog_inf34_final)%>% bind_rows(data_demog_inf35_final)%>% bind_rows(data_demog_inf36_final)%>% bind_rows(data_demog_inf37_final)%>% bind_rows(data_demog_inf38_final)%>% bind_rows(data_demog_inf39_final)%>% bind_rows(data_demog_inf40_final)%>% bind_rows(data_demog_inf41_final)%>% bind_rows(data_demog_inf42_final)%>% select(-ID)%>% mutate(ID=1:1900)

summary(data_demogfinal)
##       gain                 PN              CREA          infection     
##  Min.   : 0.004318   Min.   : 496.1   Min.   : 40.03   Min.   : 3.031  
##  1st Qu.:11.558906   1st Qu.:1068.3   1st Qu.: 57.46   1st Qu.:17.458  
##  Median :13.783885   Median :1896.4   Median : 70.70   Median :27.495  
##  Mean   :12.902280   Mean   :2038.0   Mean   : 77.25   Mean   :33.466  
##  3rd Qu.:15.543687   3rd Qu.:2958.2   3rd Qu.: 95.34   3rd Qu.:48.921  
##  Max.   :19.647220   Max.   :4221.7   Max.   :144.55   Max.   :89.937  
##        GA            weeks        periode          PMA              CW        
##  Min.   :24.01   Min.   :24.00   inf15: 380   Min.   :24.45   Min.   : 583.9  
##  1st Qu.:28.70   1st Qu.:28.00   sup15:1520   1st Qu.:33.31   1st Qu.:1561.6  
##  Median :33.50   Median :33.00                Median :38.26   Median :2392.5  
##  Mean   :33.34   Mean   :32.89                Mean   :38.12   Mean   :2508.4  
##  3rd Qu.:38.12   3rd Qu.:38.00                3rd Qu.:42.74   3rd Qu.:3429.1  
##  Max.   :41.98   Max.   :41.00                Max.   :54.64   Max.   :5468.6  
##        ID        
##  Min.   :   1.0  
##  1st Qu.: 475.8  
##  Median : 950.5  
##  Mean   : 950.5  
##  3rd Qu.:1425.2  
##  Max.   :1900.0