R/result_pair_read.R

Defines functions result_pair_read

Documented in result_pair_read

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

result_pair_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) {
    temp <- strsplit(x, "_")[[1]]
    fread(paste0("simulation_result/pairs/", 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(temp[2]),
        mixing_ratio = temp[3],
        pair = paste0(temp[4], "_", sub(".txt", "", temp[5]))
      )
  })

  # 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.