context("Network model restart")
test_that("network models can be restarted", {
skip_on_cran()
nw <- network_initialize(n = 100)
est.vit <- netest(nw, formation = ~edges, target.stats = 25,
coef.diss = dissolution_coefs(~offset(edges), 10, 0.02),
verbose = FALSE)
param <- param.net(inf.prob = 0.5, act.rate = 2, a.rate = 0.02,
ds.rate = 0.02, di.rate = 0.02)
init <- init.net(i.num = 10)
control <- control.net(type = "SI", nsteps = 5, nsims = 1,
resimulate.network = TRUE, verbose = FALSE,
save.run = TRUE,
save.other = c())
x <- netsim(est.vit, param, init, control)
control <- control.net(type = "SI", nsteps = 10, start = 6,
nsims = 1, verbose = FALSE)
x2 <- netsim(x, param, init, control)
expect_is(x, "netsim")
expect_is(x2, "netsim")
expect_true(x$control$nsteps == 5)
expect_true(x2$control$nsteps == 10)
plot(x)
plot(x2)
})
test_that("restart error flags", {
skip_on_cran()
nw <- network_initialize(n = 100)
est.vit <- netest(nw, formation = ~edges, target.stats = 25,
coef.diss = dissolution_coefs(~offset(edges), 10, 0.02),
verbose = FALSE)
param <- param.net(inf.prob = 0.5, act.rate = 2, a.rate = 0.02,
ds.rate = 0.02, di.rate = 0.02)
init <- init.net(i.num = 10)
control <- control.net(type = "SI", nsteps = 5,
nsims = 1, resimulate.network = TRUE,
verbose = FALSE,
save.run = TRUE)
x <- netsim(est.vit, param, init, control)
control <- control.net(type = "SI", nsteps = 5, start = 10,
nsims = 1, verbose = FALSE)
expect_error(netsim(x, param, init, control),
"control setting nsteps must be >")
control <- control.net(type = "SI", nsteps = 10, start = 7,
nsims = 1, verbose = FALSE)
expect_error(netsim(x, param, init, control),
"control setting start must be 1")
control <- control.net(type = "SI", nsteps = 10, start = 6,
nsims = 1, verbose = FALSE)
x$run <- NULL
expect_error(netsim(x, param, init, control), "x must contain `run` to restart simulation, see `save.run` control setting")
})
test_that("reinitialization works with open population, nwterms, and epi.by", {
nw <- network_initialize(n = 50)
nw %v% "race" <- rep(0:1, length.out = 50)
est <- netest(nw, formation = ~edges + nodematch("race"),
target.stats = c(25, 15),
coef.diss = dissolution_coefs(~offset(edges), 10, 0.05),
verbose = FALSE)
param <- param.net(inf.prob = 0.5, act.rate = 2, a.rate = 0.05,
ds.rate = 0.05, di.rate = 0.05)
init <- init.net(i.num = 10)
for (tergmLite in c(FALSE, TRUE)) {
control <- control.net(type = "SI", nsteps = 5,
nsims = 2, resimulate.network = TRUE,
verbose = FALSE, tergmLite = tergmLite,
epi.by = "race",
save.run = TRUE,
save.other = c())
x <- netsim(est, param, init, control)
expect_is(x, "netsim")
control$start <- 6
control$nsteps <- 11
y <- netsim(x, param, init, control)
expect_is(y, "netsim")
}
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.