-
Notifications
You must be signed in to change notification settings - Fork 0
/
01_table1_demographics.Rmd
103 lines (73 loc) · 3.09 KB
/
01_table1_demographics.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
---
title: "Demographics for table 1"
author: "Andrew McDavid"
date: "`r Sys.Date()`"
output:
github_document: default
html_document: default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
library(tidyverse)
```
## Load data
```{r}
subject = read_csv('data/subject_covariates.csv') %>% mutate(ispreterm = preterm_weeks >= 0)
hospital_humilk = read_csv('data/milk_hospital.csv') %>% left_join(subject)
nabx_polish = read_csv('data/antibiotic_exposure.csv')
# calculate summary statistics by term
calc_stat = function(tab, var, value){
tab = tab %>% group_by(ispreterm)
varq = var
# continuous, mean SD
if(missing(value)) res = tab %>% dplyr::summarize(mean = mean(!!varq), sd = sd(!!varq), min = min(!!varq), max = max(!!varq), iqr = IQR(!!varq))
# binary number / proportion
else res = tab %>% dplyr::summarize(n = sum(!!varq == value), prop = mean(!!varq==value))
res
}
```
## Any Milk (in hospital)
```{r}
calc_stat(hospital_humilk, quo(`Any Human Milk Perinatal`), TRUE)
```
## Days to discharge
```{r}
days_discharge = read_csv('data/subject_timeline.csv') %>% group_by(Subject) %>% filter(`Sequence Num` %in% c(1, 7)) %>% arrange(cga) %>% summarize(days_to_discharge = DOL[2] - DOL[1])
days_discharge %>% left_join(subject) %>% calc_stat(quo(days_to_discharge))
```
## Milk after discharge
```{r}
milk = read_csv('data/milk_survey.csv')
milk = milk %>% rename(milk_months = `For how many months did baby receive breast milk for more than half of feedings`)
milk = milk %>% mutate(milk_months = case_when(is.na(milk_months)~ '0', milk_months == 'Less than 1' ~ '0.5', TRUE ~ milk_months), milk_months = as.numeric(milk_months))
milk_sum = milk %>% group_by(Subject) %>% dplyr::summarize(months_surveyed = n()*3, milk_months = mean(milk_months/3, na.rm = TRUE)*12, any_milk_quarter = mean(`Did baby receive breast milk since last visit`=='Yes', na.rm = TRUE)*4)
write_csv(milk_sum, path = 'intermediates/milk_subject.csv')
```
These values were reported to the study by the infants' caregiver in a quarterly survey
### Months of > 50% human milk
```{r}
milk_sub = left_join(milk_sum, subject)
calc_stat(milk_sub, quo(milk_months))
```
Months that the child recieved > 50% human milk (normalized to one year of follow up)
### Quarters of milk
```{r}
calc_stat(milk_sub, quo(any_milk_quarter))
```
Number of 90-day periods in which any milk was recieved.
```{r}
#latex(summary( ispreterm ~ milk_months + any_milk_quarter, data = milk_sum, method = 'reverse', test = TRUE, prmsd = TRUE, continuous = 3))
ggplot(milk_sub, aes(x = preterm_weeks, y = milk_months)) + geom_point() + geom_smooth()
ggplot(milk_sub, aes(x = preterm_weeks, y = any_milk_quarter)) + geom_point() + geom_smooth()
```
Dose-response between milk received and gestational age.
## Antibiotics
```{r}
nabx_polish = left_join(nabx_polish, subject)
calc_stat(filter(nabx_polish, !discharge), quo(`Number of systemic antibiotic`))
```
Days of antibiotics (IV, in patient)
```{r}
calc_stat(filter(nabx_polish, discharge), quo(`Number of systemic antibiotic`))
```
Courses of antibiotics reported by care giver (likely oral).