R/result_read.R

Defines functions result_read

Documented in result_read

#' Read simulated result
#' @description
#' This function is to read and merge the simulated text files
#' @name result_read
#' @param dir directory for input text files
#' @param pattern treatment name
#' @param threshold extinction threshold
#' @return ...

result_read <- function(
                        dir,
                        pattern,
                        threshold = 0.001) {
  f <- list.files(dir)
  f <- grep(pattern, f, value = T)
  treat <- pattern

  result_list <- lapply(f, function(x) {
    fread(paste0(dir, x)) %>%
      # Type: resource or consumer
      mutate(type = substr(variable, 1, 1)) %>%
      # Classify the functional group for each consumer
      mutate(function_group = cut(as.numeric(substr(variable, 2, 6)), breaks = seq(0, S_pool, S_pool / function_group), labels = 1:function_group)) %>%
      # Replicate of treatment
      mutate(
        treatment = treat,
        replicate = as.numeric(sub(".txt", "", sub(paste0(treat, "_"), "", x, perl = T)))
      )
  })


  # Merge the result list and set the extinction threshold
  result_merged <- do.call("rbind", result_list) %>%
    filter(!((type == "X") & (value <= threshold)))

  return(result_merged)
}
Chang-Yu-Chang/MigrationCommunity documentation built on Aug. 13, 2019, 9:41 p.m.