#' @rdname moduleset-ship
#' @export
init_covid_ship <- function(x, param, init, control, s) {
# Master Data List
dat <- create_dat_object(param, init, control)
dat <- init_nets(dat, x)
# simulate first time step
dat <- sim_nets_t1(dat)
dat <- summary_nets(dat, at = 1L)
## Infection Status and Time Modules
dat <- init_status_covid_ship(dat)
## Get initial prevalence
dat <- prevalence_covid_ship(dat, at = 1)
return(dat)
}
init_status_covid_ship <- function(dat) {
e.num.pass <- dat$init$e.num.pass
e.num.crew <- dat$init$e.num.crew
type <- dat$attr$type
active <- dat$attr$active
num <- sum(dat$attr$active)
## Disease status
status <- rep("s", num)
if (e.num.pass > 0) {
status[sample(which(active == 1 & type == "p"), size = e.num.pass)] <- "e"
}
if (e.num.crew > 0) {
status[sample(which(active == 1 & type == "c"), size = e.num.crew)] <- "e"
}
dat$attr$status <- status
dat$attr$active <- rep(1, length(status))
dat$attr$entrTime <- rep(1, length(status))
dat$attr$exitTime <- rep(NA, length(status))
# Infection Time
idsInf <- which(status == "e")
infTime <- rep(NA, length(status))
clinical <- rep(NA, length(status))
statusTime <- rep(NA, length(status))
statusTime[idsInf] <- 1
dxStatus <- rep(0, length(status))
transmissions <- rep(0, length(status))
dat$attr$statusTime <- statusTime
dat$attr$infTime <- infTime
dat$attr$clinical <- clinical
dat$attr$dxStatus <- dxStatus
dat$attr$transmissions <- transmissions
return(dat)
}
#' @rdname moduleset-corporate
#' @export
init_covid_corporate <- function(x, param, init, control, s) {
## Master Data List Setup ##
dat <- create_dat_object(param, init, control)
dat <- init_nets(dat, x)
# simulate first time step
dat <- sim_nets_t1(dat)
dat <- summary_nets(dat, at = 1L)
## Infection Status and Time Modules
dat <- init_status_covid_corporate(dat)
## Get initial prevalence
dat <- prevalence_covid_corporate(dat, at = 1)
return(dat)
}
init_status_covid_corporate <- function(dat) {
e.num <- get_init(dat, "e.num")
active <- get_attr(dat, "active")
num <- sum(active)
## Disease status
status <- rep("s", num)
if (e.num > 0) {
status[sample(which(active == 1), size = e.num)] <- "e"
}
dat <- set_attr(dat, "status", status)
# Infection Time and related attributes
idsInf <- which(status == "e")
infTime <- rep(NA, num)
clinical <- rep(NA, num)
hospit <- rep(NA, num)
statusTime <- rep(NA, num)
statusTime[idsInf] <- 1
dxStatus <- rep(0, num)
vax <- rep(0, num)
vax1Time <- rep(NA, num)
vax2Time <- rep(NA, num)
dat <- set_attr(dat, "statusTime", statusTime)
dat <- set_attr(dat, "infTime", infTime)
dat <- set_attr(dat, "clinical", clinical)
dat <- set_attr(dat, "hospit", hospit)
dat <- set_attr(dat, "dxStatus", dxStatus)
dat <- set_attr(dat, "vax", vax)
dat <- set_attr(dat, "vax1Time", vax1Time)
dat <- set_attr(dat, "vax2Time", vax2Time)
return(dat)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.