| mparseRcpp {SimBIID} | R Documentation |
Parse custom model using SimInf style markup
Description
Parse custom model using SimInf style markup.
Does not have full functionality of mparse. Currently only supports
simulations on a single node.
Usage
mparseRcpp(
transitions = NULL,
compartments = NULL,
pars = NULL,
obsProcess = NULL,
addVars = NULL,
stopCrit = NULL,
tspan = FALSE,
incidence = FALSE,
afterTstar = NULL,
PF = FALSE,
runFromR = TRUE
)
Arguments
transitions |
character vector containing transitions on the form |
compartments |
contains the names of the involved compartments, for
example, |
pars |
a |
obsProcess |
|
addVars |
a |
stopCrit |
A |
tspan |
A |
incidence |
A |
afterTstar |
A |
PF |
A |
runFromR |
|
Details
Uses a SimInf style markup to create compartmental state-space
written using Rcpp. A helper run function exists to compile
and run the model. Another helper function, compileRcpp,
can compile the model to produce a function that can be run directly from R,
or compiled into an external pointer (using the RcppXPtrUtils package).
Value
An object of class SimBIID_model, which is essentially a list
containing elements:
code: parsed code to compile;
transitions: copy of
transitionsargument;compartments: copy of
compartmentsargument;pars: copy of
parsargument;obsProcess: copy of
obsProcessargument;stopCrit: copy of
stopCritargument;addVars: copy of
addVarsargument;tspan: copy of
tspanargument;incidence: copy of
incidenceargument;afterTstar: copy of
afterTstarargument;PF: copy of
PFargument;runFromR: copy of
runFromRargument.
This can be compiled into an XPtr or function object
using compileRcpp().
See Also
run, compileRcpp, print.SimBIID_model
Examples
## set up SIR simulation model
transitions <- c(
"S -> beta * S * I -> I",
"I -> gamma * I -> R"
)
compartments <- c("S", "I", "R")
pars <- c("beta", "gamma")
model <- mparseRcpp(
transitions = transitions,
compartments = compartments,
pars = pars
)
## compile and run model
sims <- run(
model = model,
pars = c(beta = 0.001, gamma = 0.1),
tstart = 0,
tstop = 100,
u = c(S = 119, I = 1, R = 0)
)
sims