Learn R Programming

SpaDES.core (version 0.2.7)

params: Get and set simulation parameters

Description

params and P access the parameter slot in the simList. params has a replace method, so can be used to update a parameter value.

Usage

params(sim)

# S4 method for simList params(sim)

params(sim) <- value

# S4 method for simList params(sim) <- value

P(sim, module, param)

parameters(sim, asDF = FALSE)

# S4 method for simList parameters(sim, asDF = FALSE)

Arguments

sim

A simList object from which to extract element(s) or in which to replace element(s).

value

The object to be stored at the slot.

module

Optional character string indicating which module params should come from.

param

Optional character string indicating which parameter to choose.

asDF

Logical. For parameters, if TRUE, this will produce a single data.frame of all model parameters. If FALSE, then it will return a data.frame with 1 row for each parameter within nested lists, with the same structure as params.

Value

Returns or sets the value of the slot from the simList object.

Details

parameters will extract only the metadata with the metadata defaults, NOT the current values that may be overwritten by a user. See examples.

See Also

SpaDES.core-package, specifically the section 1.2.1 on Simulation parameters.

Other functions to access elements of a 'simList' object: .addDepends(), doEvent.checkpoint(), envir(), events(), globals(), inputs(), modules(), objs(), packages(), paths(), progressInterval(), times()

Examples

Run this code
# NOT RUN {
modules <- list("randomLandscapes")
paths <- list(modulePath = system.file("sampleModules", package = "SpaDES.core"))
mySim <- simInit(modules = modules, paths = paths,
                 params = list(.globals = list(stackName = "landscape")))

# update some parameters using assignment -- currently only params will work
params(mySim)$randomLandscapes$nx <- 200
params(mySim)$randomLandscapes$ny <- 200

parameters(mySim) # Does not contain these user overridden values

# These next 2 are same here because they are not within a module
P(mySim)          # Does contain the user overridden values
params(mySim)     # Does contain the user overridden values

# NOTE -- deleting a parameter will affect params and P, not parameters
params(mySim)$randomLandscapes$nx <- NULL
params(mySim)$randomLandscapes$ny <- NULL

parameters(mySim) # Shows nx and ny

# These next 2 are same here because they are not within a module
P(mySim)          # nx and ny are Gone
params(mySim)     # nx and ny are Gone
# }

Run the code above in your browser using DataLab