R/calculate_indices.R

Defines functions calculate_indices

Documented in calculate_indices

#' Calculate humification and biological indices (HIX and BIX)
#'
#' @param x A FEEM tibble generated by `read_feem`.
#'
#' @return A tibble with columns `param` and `value`.
#' @importFrom dplyr mutate summarize %>%
#' @importFrom tidyr pivot_longer
#' @importFrom rlang .data
#' @export
#'
#' @examples
#' file <- list.files(
#' path = system.file("extdata", package = "cwrshelpr"),
#' full.names = TRUE,
#' pattern = ".+\\.csv"
#' )
#' data <- read_feem(file[1])
#' calculate_indices(data)
calculate_indices <- function(x) {
  bix <- NULL
  hix <- NULL
  x %>%
    mutate(
      # should be ex/em 310/380:
      bix_numerator = .data$excitation == 309 &
        .data$emission == 380.189,
      # should be ex/em 310/430:
      bix_denominator = .data$excitation == 309 &
        .data$emission == 429.490,
      hix_numerator = .data$excitation == 255 &
        .data$emission >= 434 &
        .data$emission <= 480,
      hix_denominator =.data$excitation == 255 &
        .data$emission >= 300 &
        .data$emission <= 344
    ) %>%
    summarize(
      bix = .data$intensity[.data$bix_numerator] /
        .data$intensity[.data$bix_denominator],
      hix = sum(.data$intensity[.data$hix_numerator]) /
        sum(.data$intensity[.data$hix_denominator])
    ) %>%
    pivot_longer(
      c(bix, hix),
      names_to = "param"
    )
}
bentrueman/cwrshelpr documentation built on July 1, 2023, 4:29 a.m.