trajectory,SimInf_model-method {SimInf} | R Documentation |
Extract data from a simulated trajectory
Description
Extract the number of individuals in each compartment in every
node after generating a single stochastic trajectory with
run
.
Usage
## S4 method for signature 'SimInf_model'
trajectory(model, compartments, index, format = c("data.frame", "matrix"))
Arguments
model |
the |
compartments |
specify the names of the compartments to
extract data from. The compartments can be specified as a
character vector e.g. |
index |
indices specifying the subset of nodes to include
when extracting data. Default ( |
format |
the default ( |
Value
A data.frame
if format = "data.frame"
, else
a matrix.
Internal format of the discrete state variables
Description of the layout of the internal matrix (U
)
that is returned if format = "matrix"
. U[, j]
contains the number of individuals in each compartment at
tspan[j]
. U[1:Nc, j]
contains the number of
individuals in node 1 at tspan[j]
. U[(Nc + 1):(2
* Nc), j]
contains the number of individuals in node 2 at
tspan[j]
etc, where Nc
is the number of
compartments in the model. The dimension of the matrix is
N_n N_c \times
length(tspan)
where N_n
is
the number of nodes.
Internal format of the continuous state variables
Description of the layout of the matrix that is returned if
format = "matrix"
. The result matrix for the
real-valued continuous state. V[, j]
contains the
real-valued state of the system at tspan[j]
. The
dimension of the matrix is N_n
dim(ldata)[1]
\times
length(tspan)
.
Examples
## Create an 'SIR' model with 6 nodes and initialize
## it to run over 10 days.
u0 <- data.frame(S = 100:105, I = 1:6, R = rep(0, 6))
model <- SIR(u0 = u0, tspan = 1:10, beta = 0.16, gamma = 0.077)
## Run the model to generate a single stochastic trajectory.
result <- run(model)
## Extract the number of individuals in each compartment at the
## time-points in 'tspan'.
trajectory(result)
## Extract the number of recovered individuals in the first node
## at the time-points in 'tspan'.
trajectory(result, compartments = "R", index = 1)
## Extract the number of recovered individuals in the first and
## third node at the time-points in 'tspan'.
trajectory(result, compartments = "R", index = c(1, 3))
## Create an 'SISe' model with 6 nodes and initialize
## it to run over 10 days.
u0 <- data.frame(S = 100:105, I = 1:6)
model <- SISe(u0 = u0, tspan = 1:10, phi = rep(0, 6),
upsilon = 0.02, gamma = 0.1, alpha = 1, epsilon = 1.1e-5,
beta_t1 = 0.15, beta_t2 = 0.15, beta_t3 = 0.15, beta_t4 = 0.15,
end_t1 = 91, end_t2 = 182, end_t3 = 273, end_t4 = 365)
## Run the model
result <- run(model)
## Extract the continuous state variable 'phi' which represents
## the environmental infectious pressure.
trajectory(result, "phi")