R/make_quantiles.R

Defines functions make_quantiles

Documented in make_quantiles

#' Make quantiles from a forecast 
#' 
#' @param forecast dataframe with two columns- mean_demand and sd_demand
#' @param num_q_vals number of quantiles plus 1 (defaults to 100)
#' @return matrix of quantiles
#' @export
make_quantiles <- function(forecast, num_q_vals = 100){
  
  quantiles <- purrr::map_dfc(seq(1/num_q_vals, 1-(1/num_q_vals), 1/num_q_vals), 
                              function(q) {

    purrr::map_dbl(1 : nrow(forecast), function(x){
      
      forecast %>% 
        tibble::as_tibble() %>% 
        dplyr::slice_head(n = x) %>% 
        dplyr::summarise(centile = quantile(sum(quantity), q)) %>% 
        dplyr::pull(centile) %>% 
        pmax(0, .)
    })
  })
  
  return(quantiles %>% as.matrix())
}
CDU-data-science-team/phaRmacyForecasting documentation built on Jan. 2, 2023, 5:56 p.m.