R/path-simulation.R

Defines functions calculateSimulations

# Simula un muestro biom?trico
#' @title Genera datos simulatos para un muestreo biom?trico
#' @description Funcion para leer bases de datos de calas y bitacoras desde un directorio
#' especificado y dado un numero de crucero.
#' @param C Numero de modas (cohortes) a simular.
#' @param sp character Especie para la cual se simularán los datos.
#' @param n N?mero de individuos en la muestra.
#' @param sd Desviaci?n estándar (como proporción del tamaño).
#' @param prob logical Retonar proporciones o abundancias.
#' @examples
#' sim = simulatedPopulation(C=1, sp="anchoveta")

calculateSimulations = function(C = numeric(), sp = "anchoveta", ages = NULL, n = 200, sd=0.1, 
                                 prob = TRUE) {

  if(length(C) == 0 & is.null(ages))
    stop("Al menos 'ages' o 'C' deben tener un valor definido.") else
      if(!length(C) == 0 & !is.null(ages))
        warning("Se usará el valor de 'C' para crear un vector aleatorio de 'ages'.")
  
  if(length(C) == 0)
    C = unlist(lapply(ages, length))
  
  sd = rep(sd, length.out = length(C))
  
  info = getSpeciesInfo(sp)
  marks = .createMarks(info)
  
  finalData = mat.or.vec(nr = length(C), nc = length(marks) + 1)
  for(i in seq_along(C)){
    finalData[i,] = .simulatedPopulation(C = C[i], sp = sp, ages = ages[[i]], n = n, 
                                          sd = sd[i], prob = prob)
  }
  
  rownames(finalData) = paste0("rep_", seq_along(C))
  colnames(finalData) = c(marks, "Inf")
  
  return(finalData)
}
imarpe/path documentation built on May 18, 2019, 4:45 a.m.