| get_network {EpiModel} | R Documentation |
Extract Network Objects from Network Simulations
Description
Extracts the network object from either a network epidemic model
object generated with netsim, a network diagnostic
simulation generated with netdx, or a netsim_dat
object used internally in netsim. For netdx or
netsim with tergmLite == FALSE, the extracted
network object is a networkDynamic, which can be
collapsed down to a static network object with the
collapse and at arguments. For netsim with
tergmLite == TRUE, the extracted network object is the
final networkLite, the collapse argument should be
FALSE, and the at argument should be missing. For
netsim_dat, the collapse and at arguments
are not supported, and the network object is either the current
networkLite (if tergmLite == TRUE) or the current
networkDynamic (if tergmLite == FALSE).
Usage
get_network(x, ...)
## S3 method for class 'netdx'
get_network(x, sim = 1, collapse = FALSE, at, ...)
## S3 method for class 'netsim'
get_network(x, sim = 1, network = 1, collapse = FALSE, at, ...)
## S3 method for class 'netsim_dat'
get_network(x, network = 1L, ...)
Arguments
x |
|
... |
Additional arguments. |
sim |
Simulation number of extracted network, for |
collapse |
If |
at |
If |
network |
Network number, for |
Details
This function requires that the network object is saved during the network
simulation while running either netsim or netdx.
For the former, that is specified by setting the save.network
parameter in control.net to TRUE. For the latter, that
is specified with the keep.tnetwork parameter directly in
netdx.
Value
For netdx or netsim with tergmLite == FALSE, a
networkDynamic object (if collapse = FALSE) or a
static network object (if collapse = TRUE). For
netsim with tergmLite == TRUE or netsim_dat with
tergmLite == TRUE, a networkLite object. For
netsim_dat with tergmLite == FALSE, a
networkDynamic object.
Examples
# Set up network and TERGM formula
nw <- network_initialize(n = 100)
nw <- set_vertex_attribute(nw, "group", rep(1:2, each = 50))
formation <- ~edges
target.stats <- 50
coef.diss <- dissolution_coefs(dissolution = ~offset(edges), duration = 20)
# Estimate the model
est <- netest(nw, formation, target.stats, coef.diss)
# Run diagnostics, saving the networkDynamic objects
dx <- netdx(est, nsteps = 10, nsims = 3, keep.tnetwork = TRUE,
verbose = FALSE)
# Extract the network for simulation 2 from dx object
get_network(dx, sim = 2)
# Extract and collapse the network from simulation 1 at time step 5
get_network(dx, collapse = TRUE, at = 5)
# Parameterize the epidemic model, and simulate it
param <- param.net(inf.prob = 0.3, inf.prob.g2 = 0.15)
init <- init.net(i.num = 10, i.num.g2 = 10)
control <- control.net(type = "SI", nsteps = 10, nsims = 3, verbose = FALSE)
mod <- netsim(est, param, init, control)
# Extract the network for simulation 2 from mod object
get_network(mod, sim = 2)
## Extract and collapse the network from simulation 1 at time step 5
get_network(mod, collapse = TRUE, at = 5)