############################################################################## # Determine symptom onset to admission distribution from case data # - will be used to backsample unknown symptom onsets from admission date ############################################################################## determine_SO2admission <- function(data, date, start_date = NULL) { data <- data %>% filter(admission_date_reported <= date, admission_date <= date, symptom_onset <= date) %>% {if(length(start_date)!=0) filter(., admission_date >= start_date) else .} interval <- data %>% mutate(interval = as.integer(admission_date - symptom_onset)) %>% pull(interval) interval_cdf <- ecdf(interval[interval >= 0 & interval <= 30]) # don't trust symptom onset after day of admission and admission nor admission more than 30 days after symptom onset interval_cdf <- interval_cdf(0:30) interval_pdf <- diff(c(0, interval_cdf)) names(interval_pdf) <- 0:30 return(interval_pdf) }