R/result_isolate_read.R

Defines functions result_isolate_read

Documented in result_isolate_read

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

result_isolate_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 = sub("-$", "", treat),
        isolate = sub(".txt", "", sub(paste0(treat, "_"), "", x, perl = T))
      )
  })

  # Merge the result list and set the extinction threshold
  result_merged <- do.call("rbind", result_list)
  result_merged$value[result_merged$value <= threshold] <- 0

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