Skip to contents

Auxiliaries are dynamic variables used for intermediate calculations in the system. auxiliary() adds or changes an auxiliary variable. This is a convenience wrapper around update() with type = "aux". See the Auxiliaries section of update() for more details.

Usage

auxiliary(object, name, eqn = 0, label = name, doc = "", non_negative = FALSE)

aux(object, name, eqn = 0, label = name, doc = "", non_negative = FALSE)

Arguments

object

Stock-and-flow model, object of class stockflow.

name

Variable name. Accepts a bare symbol (e.g., population), a string ("population"), or a vector via c() (e.g., c(a, b) or c("a", "b")). Use !! to inject from a variable.

eqn

Equation (or initial value in the case of stocks). Accepts a bare expression (e.g., a * b + 1), a string ("a * b + 1"), or a numeric value. Use !! to inject from a variable. Defaults to 0.

label

Name of variable used for plotting. Defaults to the same as name.

doc

Description of variable. Defaults to "" (no description).

non_negative

If TRUE, variable is enforced to be non-negative (i.e., strictly 0 or positive). Defaults to FALSE.

Value

A stock-and-flow model object of class stockflow

Examples


# Create an auxiliary for an intermediate calculation
sfm <- stockflow() |>
  stock(population, eqn = 100) |>
  constant(carrying_capacity, eqn = 1000) |>
  auxiliary(density, eqn = population / carrying_capacity, label = "Density")