The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

rescomp

R-CMD-check

rescomp is an R package that supports the definition, simulation and visualisation of ODE models of ecological consumer-resource interactions. In essence, it is a consumer-resource modelling focused interface to the excellent deSolve package.

Installation

You can install rescomp from GitHub with:

# install.packages("devtools")
devtools::install_github("pyrrhicpachyderm/rescomp")

Example

library(rescomp)

The primary user function in rescomp is spec_rescomp(), which facilitates: i) the definition and parameterisation of a desired consumer-resource model, and ii) the specification of simulation parameters. The default output from spec_rescomp() is a list defining a model for a single type I consumer (linear functional response) and a single continuously supplied resource (e.g., in a chemostat).

pars <- spec_rescomp()

plot_funcresp() plots the functional response for easy visualistion prior to running a simulation.

plot_funcresp(pars)

The model is then simulated via sim_rescomp() (effectively a wrapper for deSolve::ode() with convenient defaults).

m1 <- sim_rescomp(pars)

Output dynamics can be visualised with plot_rescomp().

plot_rescomp(m1)

Note, the core rescomp functions are compatible with pipes. For example spec_rescomp() |> sim_rescomp() |> plot_rescomp() will output the plot above.

The main utility of rescomp comes with specifying more elaborate models and simulation dynamics. Features/options include (but are not limited to):

See ?spec_rescomp for all argument options.

The following two examples demonstrate how to build and simulate a model for: i) two consumers with type II functional responses on a single logistically growing resources; and ii) two consumers with type III functional responses with pulsed resources and time dependent growth parameters. A wide range of other examples can be found in the package vignettes.

Example 1

pars <- spec_rescomp(
  spnum = 2,
  resnum = 1,
  funcresp = funcresp_monod(
    mumax = crmatrix(0.7, 0.05),
    ks = crmatrix(2, 0.015)
  ),
  rinit = 0.2,
  ressupply = ressupply_logistic(
    r = 3,
    k = 0.2
  ),
  totaltime = 2000
)
plot_funcresp(pars, maxx = 0.2)

m2 <- sim_rescomp(pars)
plot_rescomp(m2)

Example 2

pars <- spec_rescomp(
  spnum = 2,
  resnum = 2,
  funcresp = funcresp_hill(
    mumax = rescomp_coefs_lerp(
      crmatrix(
        0.2, 0.1,
        0.5, 0.3
      ),
      crmatrix(
        0.4, 0.1,
        0.05, 0.02
      ),
      "env_state"
    ),
    ks = crmatrix(1),
    n = crmatrix(2)
  ),
  params = list(
    env_state = rescomp_param_square(period = 80)
  ),
  ressupply = ressupply_constant(0),
  events = list(
    event_schedule_periodic(
      event_res_add(1),
      period = 40
    )
  ),
  totaltime = 1000
)
plot_funcresp(pars, maxx = 1)

m3 <- sim_rescomp(pars)
plot_rescomp(m3)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.