| Type: | Package | 
| Title: | A 'shiny' Wrapper of the R Package 'epiworldR' | 
| Version: | 0.2.3 | 
| Date: | 2025-04-30 | 
| Description: | R 'shiny' web apps for epidemiological Agent-Based Models. It provides a user-friendly interface to the Agent-Based Modeling (ABM) R package 'epiworldR' (Meyer et al., 2023) <doi:10.21105/joss.05781>. Some of the main features of the package include the Susceptible-Infected-Susceptible (SIS), Susceptible-Infected-Recovered (SIR), and Susceptible-Exposed-Infected-Recovered (SEIR) models. 'epiworldRShiny' provides a web-based user interface for running various epidemiological ABMs, simulating interventions, and visualizing results interactively. | 
| URL: | https://github.com/UofUEpiBio/epiworldRShiny/, https://uofuepibio.github.io/epiworldRShiny/, | 
| BugReports: | https://github.com/UofUEpiBio/epiworldRShiny/issues/ | 
| License: | MIT + file LICENSE | 
| RoxygenNote: | 7.3.2 | 
| Encoding: | UTF-8 | 
| Suggests: | knitr | 
| Imports: | utils, DT, ggplot2, epiworldR, plotly, bslib | 
| Depends: | R (≥ 4.1.0), shiny | 
| NeedsCompilation: | no | 
| Packaged: | 2025-05-13 21:58:12 UTC; runner | 
| Author: | George Vega Yon  | 
| Maintainer: | Andrew Pulsipher <pulsipher.a@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-05-14 14:50:02 UTC | 
epiworldRShiny App Launcher
Description
Fires up the R Shiny App. You can find more examples and documentation at the package's website: https://UofUEpiBio.github.io/epiworldRShiny/.
run_app is a wrapper for the epiworldRShiny function. It is a
convenience function to run the app.
Usage
epiworldRShiny(custom_models_path = NULL, ...)
run_app(custom_models_path = NULL, ...)
Arguments
custom_models_path | 
 Optional path to custom model files (see details).  | 
... | 
 Currently ignored.  | 
Details
When custom_models_path is specified, the function will look for valid model files
at the specified path. These will be added to the list of available models.
The function expects R files named shiny_<model_name>.R which contain the model.
The function will also look for optional Markdown files named shiny_<model_name>.md
which contain the model description.
Value
Loads and opens the R shiny app for the epiworldR package
Access to the epiworldR environment.
Description
This function is for internal use only.
Usage
epiworldRenv()
Value
Returns the epiworldR_env environment.
epiworldRShiny UI builder functions
Description
All functions in this section are for internal use only. They are used to build the UI for the epiworldRShiny app.
Usage
text_input_disease_name(model_name)
slider_prevalence(model_name)
numeric_input_ndays(model_name)
slider_input_rate(model_name, rate_name, value, maxval = 1, input_label = NULL)
network_input(model_name)
npis_input(model_name)
seed_input(model_name)
models_setup(custom_models_path = NULL)
population_input(model_name)
simulate_button(model_name)
Arguments
model_name | 
 Name of the epiworldR model.  | 
rate_name | 
 Name of the rate.  | 
value | 
 Initial value for the slider.  | 
maxval | 
 Maxiumum value for the slider.  | 
input_label | 
 Aids in creating the appropriate slider name.  | 
custom_models_path | 
 Optional path to custom model files (see details).  | 
Details
When custom_models_path is specified, the function will look for valid model files
at the specified path. These will be added to the list of available models.
The function expects R files named shiny_<model_name>.R which contain the model.
Value
Unless otherwise specified, returns an object of class shiny.tag.
-  
network_inputreturns an object of class shiny::tagList (shiny.tag.list). 
-  
npis_inputreturns an object of class shiny::tagList (shiny.tag.list). 
-  
models_setupreturns an object of class list. 
-  
population_inputreturns an object of class shiny.tag.list. 
Examples
text_input_disease_name("SEIRD")
slider_prevalence("SEIRD")
numeric_input_ndays("SEIRD")
slider_input_rate("SEIRD", "transmission", value = 0.3, maxval = 1,
input_label = NULL)
network_input("SEIRD")
npis_input("SEIRD")
seed_input("SEIRD")
# Setup with default models only:
models_setup()
# Setup with default and custom models:
## Not run: models_setup(custom_models_path = "path/to/custom/models")
population_input("SEIRD")
simulate_button("SEIRD")
Find the right plotting-scale
Description
This function determines the scale of the y-axis for plot_epi.
Usage
find_scale(x)
Arguments
x | 
 The maximum value found in the model state counts  | 
Value
An integer representing the scale for the y-axis. A max counts value of 10000 will return a scale of 1, 100000 will return a scale of 1000, 1000000 will return a scale of 10000.
See Also
Other Server side functions: 
plot_epi(),
plot_reproductive_epi(),
pop_generator()
Examples
find_scale(100000)
NPI adding function
Description
NPI adding function
Usage
interventions_add_all(model, modelname, input)
Arguments
model | 
 epiworldR model.  | 
modelname | 
 Specified model.  | 
input | 
 User epiworldR model selection.  | 
Value
Returns an object of class epiworld_model, where model is substituted with the model name.
See Also
Other interventions: 
npi_add_masking(),
npi_add_school_closure(),
pi_add_vaccine()
Masking intervention (non-pharmaceutical intervention)
Description
Masking intervention (non-pharmaceutical intervention)
Usage
npi_add_masking(model, preval, transmission_reduction)
Arguments
model | 
 epiworldR model.  | 
preval | 
 Prevalence of masking within the population.  | 
transmission_reduction | 
 Reduction in transmission probability due to masking  | 
Value
Returns an object of class epiworld_model, where model is substituted with the model name.
See Also
Other interventions: 
interventions_add_all(),
npi_add_school_closure(),
pi_add_vaccine()
Examples
library(epiworldR) # for ModelSEIRCONN function
model <- ModelSEIRCONN("COVID-19", n = 1000, prevalence = 0.05,
                       contact_rate = 4, transmission_rate = 0.1,
                       incubation_days = 7, recovery_rate = 0.14)
run(model, ndays = 100, seed = 123)
npi_add_masking(model, preval = .8, transmission_reduction = .7)
School closure intervention (non-pharmaceutical intervention)
Description
School closure intervention (non-pharmaceutical intervention)
Usage
npi_add_school_closure(model, preval, day, transmission_reduction)
Arguments
model | 
 epiworldR model.  | 
preval | 
 Prevalence of school closure within the population.  | 
day | 
 Day in the simulation where school closure goes into effect.  | 
transmission_reduction | 
 Reduction in transmission probability due to school closure.  | 
Value
Returns an object of class epiworld_model, where model is substituted with the model name.
See Also
Other interventions: 
interventions_add_all(),
npi_add_masking(),
pi_add_vaccine()
Examples
library(epiworldR) # for ModelSEIRCONN function
model <- ModelSEIRCONN("COVID-19", n = 1000, prevalence = 0.05,
                       contact_rate = 4, transmission_rate = 0.1,
                       incubation_days = 7, recovery_rate = 0.14)
run(model, ndays = 100, seed = 123)
npi_add_school_closure(model, preval = .8, transmission_reduction = .3, day = 10)
Vaccination (pharmaceutical intervention)
Description
Vaccination (pharmaceutical intervention)
Usage
pi_add_vaccine(
  model,
  preval,
  susceptibility_reduction,
  transmission_reduction,
  recovery_enhancer,
  death_reduction
)
Arguments
model | 
 epiworldR model.  | 
preval | 
 Initial prevalence of the vaccine.  | 
susceptibility_reduction | 
 Reduction in susceptibility probability due to vaccine.  | 
transmission_reduction | 
 Reduction in transmission probability due to vaccine.  | 
recovery_enhancer | 
 Probability increase in recovery due to vaccine.  | 
death_reduction | 
 Reduction in death probability due to vaccine.  | 
Value
Returns an object of class epiworld_model, where model is substituted with the model name.
See Also
Other interventions: 
interventions_add_all(),
npi_add_masking(),
npi_add_school_closure()
Examples
library(epiworldR) # for ModelSEIRCONN function
model <- ModelSEIRCONN("COVID-19", n = 1000, prevalence = 0.05,
                       contact_rate = 4, transmission_rate = 0.1,
                       incubation_days = 7, recovery_rate = 0.14)
run(model, ndays = 100, seed = 123)
pi_add_vaccine(model, preval = .8, susceptibility_reduction = .9,
                transmission_reduction = .5, recovery_enhancer = .5,
                death_reduction = .9)
Plot daily incidence
Description
This function generates a plot of the model states over time
Usage
plot_epi(model, mark_max)
Arguments
model | 
 The number of individuals in the population.  | 
mark_max | 
 The state which will have a mark at the peak  | 
Value
A plot displaying each state from the model over the course of the simulation
See Also
Other Server side functions: 
find_scale(),
plot_reproductive_epi(),
pop_generator()
Examples
library(epiworldR) # for ModelSEIRCONN function
model <- ModelSEIRCONN("COVID-19", n = 1000, prevalence = 0.05,
                       contact_rate = 4, transmission_rate = 0.1,
                       incubation_days = 7, recovery_rate = 0.14)
run(model, ndays = 100, seed = 123)
plot_epi(model, mark_max = "Infected")
Plot Rt
Description
This function generates a plot of the reproductive number over time
Usage
plot_reproductive_epi(model)
Arguments
model | 
 The model object  | 
Value
A plot displaying the reproductive number for the model over the course of the simulation
See Also
Other Server side functions: 
find_scale(),
plot_epi(),
pop_generator()
Examples
library(epiworldR) # for ModelSEIRCONN function
model <- ModelSEIRCONN("COVID-19", n = 1000, prevalence = 0.05,
                       contact_rate = 4, transmission_rate = 0.1,
                       incubation_days = 7, recovery_rate = 0.14)
run(model, ndays = 100, seed = 123)
plot_reproductive_epi(model)
Population generator
Description
This function generates a population matrix with specified characteristics.
Usage
pop_generator(
  n,
  prop_hispanic = 0.5,
  prop_female = 0.5,
  prop_19_59_60plus = c(0.3, 0.6)
)
Arguments
n | 
 The number of individuals in the population.  | 
prop_hispanic | 
 The proportion of individuals who are Hispanic. Default is 0.5.  | 
prop_female | 
 The proportion of individuals who are female. Default is 0.5.  | 
prop_19_59_60plus | 
 A vector of length 3 representing the proportions of individuals in the age groups 0-19, 20-59, and 60+. Default is c(0.5, 0.3, 0.2).  | 
Value
A matrix representing the generated population, with columns for age groups (0-19, 20-59, 60+), NotHispanic, and Female.
See Also
Other Server side functions: 
find_scale(),
plot_epi(),
plot_reproductive_epi()
Examples
pop_generator(n = 1000, prop_hispanic = .5, prop_female = .5,
              prop_19_59_60plus = c(.3, .6))