R/util_table_bs.R

Defines functions util_table_bs

Documented in util_table_bs

#' Read NetLogo behavior space experiments from files
#'
#' @description Read NetLogo behavior space experiments from files
#'
#' @param modelfiles vector of filepaths to model files
#'
#' @return list containing NetLogo behavior space experiments
#'
#' @details
#'
#' The procedure reads text from the provided model files and reports a list of behavior space experiments.
#'
#' @aliases util_table_bs
#' @rdname util_table_bs
#' @keywords internal
util_table_bs <- function(modelfiles)
{
  ## Extract information of behavior space experiments
  ## Filter file names for main model file:
  modelpath <- modelfiles[grepl(pattern=".nlogo", modelfiles)]

  ## Open the model as string
  modelcode <- readLines(modelpath)


  ## Find start and end position:
  start <- grep(pattern="<experiments>", modelcode, fixed=TRUE)
  end <- grep(pattern="</experiments>", modelcode, fixed=TRUE)
  modelcode <- modelcode[start:end]

  ## Convert to xml
  experiments <- XML::xmlParse(modelcode)

  ## Convert to data frame:
  experiments.list <- XML::xmlToList(experiments)

  return(experiments.list)
}
nldoc/nldoc documentation built on May 13, 2019, 9:52 p.m.