R/confidences.R

Defines functions confidences

#' @importFrom dplyr filter
#' @importFrom rlang .data
confidences <- function(data, confidence_function = NULL,
                        aggregates = c(
                          "sample_id",
                          "location_id",
                          "location_description"
                        )) {
  confidences <- purrr::map_df(
    split(
      hera::catalogue,
      1:nrow(hera::catalogue)
    ),
    function(model) {
      if (is.null(data)) {
        return(NULL)
      }
      if (any(names(data) %in% "parameter")) {
        data <- data %>% filter(.data$parameter == model$analysis_name)
      }
      if (nrow(data) == 0) {
        return(NULL)
      }
      if (is.null(confidence_function)) {
        return(NULL)
      }
      confidence <- confidence_function(data, aggregates = aggregates)
      confidence$parameter <- model$analysis_name
      return(confidence)
    }
  )
  return(confidences)
}
ecodata1/hera documentation built on April 5, 2025, 1:48 a.m.