Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
warning = FALSE, message = FALSE
)
## ----setup, message = FALSE, warning = FALSE---------------------------------
tryCatch({
devtools::install_github("vjoshy/ATQ_Surveillance_Package")
}, error = function(e) {
message("Unable to install package from GitHub. Using local version if available.")
})
library(ATQ)
## ----populationSimulation-----------------------------------------------------
set.seed(123)
# Simulate 16 catchments of 80x80 squares and the number of schools they contain
catchment <- catchment_sim(16, 80, dist_func = stats::rgamma, shape = 4.313, rate = 3.027)
# Simulate population size of elementary schools
elementary<- elementary_pop(catchment, dist_func = stats::rgamma, shape = 5.274, rate = 0.014)
# Simulate households with children
house_children <- subpop_children(elementary, n = 5,
prop_parent_couple = 0.7668901,
prop_children_couple = c(0.3634045, 0.4329440, 0.2036515),
prop_children_lone = c(0.5857832, 0.3071523, 0.1070645),
prop_elem_age = 0.4976825)
# Simulate households without children using pre-specified proportions
house_noChild <- subpop_noChildren(house_children, elementary,
prop_house_size = c(0.23246269, 0.34281716, 0.16091418, 0.16427239, 0.09953358),
prop_house_Children = 0.4277052)
# Combine household simulations and generate individual-level data
households <- simulate_households(house_children, house_noChild)
## ----epidemicSimulation-------------------------------------------------------
# isolate individuals data
individuals <- households$individual_sim
# simulate epidemics for 10 years, each with a period of 300 days and 32 individuals infected initially
# infection period of 4 days
epidemic <- ssir(nrow(individuals), T = 300, alpha = 0.298, avg_start = 45,
min_start = 20, inf_period = 4, inf_init = 32, report = 0.02, lag = 7, rep = 10)
# Summarize and plot the epidemic simulation results
summary(epidemic)
plot(epidemic)
## ----absenteeism--------------------------------------------------------------
absent_data <- compile_epi(epidemic, individuals)
dplyr::glimpse(absent_data)
## ----metrics, fig.height = 4, fig.width = 7-----------------------------------
# Evaluate alarm metrics for epidemic detection
# lag of 15
alarms <- eval_metrics(absent_data, maxlag = 15, thres = seq(0.1,0.6,by = 0.05))
summary(alarms$results)
# Plot various alarm metrics values
plot(alarms$metrics, "FAR") # False Alert Rate
plot(alarms$metrics, "ADD") # Accumulated Days Delayed
plot(alarms$metrics, "FATQ") # First Alert Time Quality
plot(alarms$metrics, "AATQ") # Average ATQ
plot(alarms$metrics, "WFATQ") # Weighted FATQ
plot(alarms$metrics, "WAATQ") # Weighted Average ATQ
# visualization of epidemics with alarms raised.
alarm_plots <- plot(alarms$plot_data)
for(i in seq_along(alarm_plots)) {
print(alarm_plots[[i]])
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.