Learn R Programming

EpiModel (version 2.6.2)

Mathematical Modeling of Infectious Disease Dynamics

Description

Tools for simulating mathematical models of infectious disease dynamics. Epidemic model classes include deterministic compartmental models, stochastic individual-contact models, and stochastic network models. Network models use the robust statistical methods of exponential-family random graph models (ERGMs) from the Statnet suite of software packages in R. Standard templates for epidemic modeling include SI, SIR, and SIS disease types. EpiModel features an API for extending these templates to address novel scientific research aims. Full methods for EpiModel are detailed in Jenness et al. (2018, ).

Copy Link

Version

Install

install.packages('EpiModel')

Monthly Downloads

598

Version

2.6.2

License

GPL-3

Maintainer

Samuel Jenness

Last Published

September 16th, 2026

Functions in EpiModel (2.6.2)

as.data.frame.dcm

Extract Model Data for Deterministic Compartmental Models
common_updater

Update Either the "param" or "control" List
check_degdist_bal

Check Degree Distribution for Balance in Target Statistics
color_tea

Create a TEA Variable for Infection Status for ndtv Animations
check_end_horizon_control

Check the format of the end.horizon control
dedup_cumulative_edgelist

Deduplicate a Cumulative Edgelist
control.net

Control Settings for Stochastic Network Models
create_scenario_list

Make a list of EpiModel scenarios from a data.frame of scenarios
create_dat_object

Create a Minimal netsim_dat Main List Object for a Network Model
crosscheck.icm

Cross Checking of Inputs for Stochastic Individual Contact Models
crosscheck.dcm

Cross Checking of Inputs for Deterministic Compartmental Models
control.icm

Control Settings for Stochastic Individual Contact Models
control.dcm

Control Settings for Deterministic Compartmental Models
dcm.mods

Deterministic Compartmental Model Functions
departures.icm.bip

Departure: Bipartite icm Module
comp_plot

Plot Compartment Diagram for Epidemic Models
delete_attr

Delete Elements from Attribute List
departures.net

Departures: netsim Module
copy_datattr_to_nwattr

Copy Vertex Attributes from the netsim_dat List to the Network Objects
delete_edges

Remove Edges That Include Specified Vertices
delete_vertices

Fast Version of network::delete.vertices for Edgelist-formatted Network
copy_nwattr_to_datattr

Copy Vertex Attributes From Network to netsim_dat List
depart_nodes

Depart Nodes from the netsim_dat Object
generate_random_params

Generate Values for Random Parameters
geom_bands

ggplot2 Geom for Quantile Bands
epiweb

EpiModel Web
get_adj_list

Returns an adjacency list from an edge list
brewer_ramp

RColorBrewer Color Ramp for EpiModel Plots
dcm

Deterministic Compartmental Models
crosscheck.net

Cross Checking of Inputs for Stochastic Network Models
check_attr_lengths

Check that All Attributes in the Main netsim_dat Object are of Equal Length
epi_trackers

Function to run the user-provided epi trackers
dissolution_coefs

Dissolution Coefficients for Stochastic Network Models
get_attr_history

Extract the Attributes History from Network Simulations
get_cumulative_edgelist

Get a Cumulative Edgelist From a Specified Network
departures.icm

Departure: icm Module
departures.2g.net

Departures: netsim Module
get_cumulative_edgelists_df

Get the Cumulative Edgelists of a Model
edgelist_censor

Table of Edge Censoring
edges_correct_eligible

Nodes Eligible to Form Ties for the Edges Correction
edges_correct

Adjustment for the Edges Coefficient with Changing Network Size
get_args

Get Arguments from EpiModel Parameterization Functions
format_param

Format One Parameter for Printing with the print.param.xxx Functions
discord_edgelist

Discordant Edgelist
get_connected_nodes

Returns all the node connected directly or indirectly to a set of nodes
get_cumulative_degree

Return the Cumulative Degree of a Set of Index Nodes
get_vertex_attribute

Get Vertex Attribute on Network Object
get_edgelists_df

Get the Edgelist(s) from the Specified Network(s)
get_edgelist

Get an Edgelist From the Specified Network
infection.icm

Primary Infection Module for icm
icm

Stochastic Individual Contact Models
get_degree_dist

Extract Degree Distributions from Network Diagnostics
get_formula_term_attr

Output ERGM Formula Attributes into a Character Vector
infection.2g.net

Primary Infection Module for netsim
get_discordant_edgelist

Get Discordant Edgelist Based on Specified Status Variable
get_attr_prop

Proportional Table of Vertex Attributes
get_network

Extract Network Objects from Network Simulations
get_network_attributes

Get Network Attributes from a Network Object
get_current_timestep

Return the Current Timestep
get_degree

Get Individual Degree from Network or Edgelist
get_param_set

Extract the Parameter Set from Network Simulations
get_nwstats

Extract Network Statistics from netsim or netdx Object
get_partners

Return the Historical Contacts (Partners) of a Set of Index Nodes
get_modules

Get the List of Modules
init_status.icm

Disease Status Initialization Module for icm
get_sims

Extract Network Simulations
modules.icm

Modules for Stochastic Individual Contact Models
get_subnet_adj_list

Return an adjacency list of subnets
infection.net

Primary Infection Module for netsim
init_status.net

Disease Status Initialization Module for netsim
is.transmat

Extract Transmissions Matrix from Network Epidemic Model
infection.icm.bip

Primary Infection Module for icm
init.net

Initial Conditions for Stochastic Network Models
initialize.icm

Initialization: icm Module
init_nets

Network Data and Stats Initialization
mcat

Write Out Test Progress to Console
make_stats_table

Create a Summary Table of Simulation Statistics
make_module_list

Populate the Module List After the Initialization Module is run
initialize.net

Initialization: netsim Module
get_network_term_attr

Output Network Attributes into a Character Vector
make_restart_point

Make a Lightweight Restart Point From a netsim Object with tergmLite
network_initialize

Initialize Network Object
netsim_cond_msg

Message to Find in Which Module a condition Occurred
increment_timestep

Increment the Current Timestep
merge.icm

Merge Data across Stochastic Individual Contact Model Simulations
merge.netsim

Merge Model Simulations across netsim Objects
get_nwparam

Extract Network Model Parameters
idgroup

Group Numbers for Two-Group Network
nwupdate.net

Dynamic Network Updates
init.dcm

Initial Conditions for Deterministic Compartmental Models
init.icm

Initial Conditions for Stochastic Individual Contact Models
is_active_unique_ids

Are These Nodes Active (Unique IDs)
net-accessor

Functions to Access and Edit the Main netsim_dat Object in Network Models
plot.dcm

Plot Data from a Deterministic Compartmental Epidemic Model
netsim_error_logger

Handle the Logging of Traceback and Dumping of Frames on Error
netest

Dynamic Network Model Estimation
netdx

Dynamic Network Model Diagnostics
padded_vector

Grow a Vector to a Given Size, Padding it With Empty Elements
param_random

Create a Value Sampler for Random Parameters
param.net_to_table

Coerce a list of parameters to a long.param.df
is_active_posit_ids

Are These Nodes Active (Positional IDs)
plot.epi.data.frame

Plot Epidemic Model Results From a Netsim Data.Frame
overwrite_attrs

Helper to use a data.frame to initialize some attributes
mutate_epi

Add New Epidemiology Variables
modules.net

Modules for Stochastic Network Models
multilayer

Specify Controls by Network
param.net

Epidemic Parameters for Stochastic Network Models
netsim

Stochastic Network Models
param.net_from_table

Parameters List for Stochastic Network Models from a Formatted Data Frame
param.dcm

Epidemic Parameters for Deterministic Compartmental Models
prevalence.icm

Get Epidemic Output from icm Model
param.icm

Epidemic Parameters for Stochastic Individual Contact Models
print.icm

Print Method for ICM Objects
print.netdx

Utility Function for Printing netdx Object
print.dcm

Print Method for DCM Objects
prevalence.net

Get Epidemic Output from netsim Model
plot.transmat

Plot transmat Infection Tree in Three Styles
recovery.2g.net

Recovery: netsim Module
recovery.icm

Recovery: icm Module
plot.netsim

Plot Data from a Stochastic Network Epidemic Model
recovery.net

Recovery: netsim Module
recovery.icm.bip

Recovery: icm Module
reachable-nodes

Get the Forward or Backward Reachable Nodes for a Set of Nodes
set_transmat

Save Transmission Matrix
set_vertex_attribute

Set Vertex Attribute on Network Object
process_out.net

Save a List of netsim Data to Output List Format
plot.netdx

Plot Dynamic Network Model Diagnostics
record_raw_object

Record an Arbitrary Object During a Simulation
record_attr_history

Record Attribute History
remove_modules

Remove a Set of Modules From the Module List
plot.icm

Plot Data from a Stochastic Individual Contact Epidemic Model
resim_nets

Resimulate Dynamic Network at Time 2+
summary.netsim

Summary Model Statistics
summary_nets

Extract Summary Statistics of Networks Used in netsim
prevalence.icm.bip

Get Epidemic Output from icm Model
saveout.dcm

Save dcm Data to Output List Format
ssample

Stable Sampling Function
saveout.icm

Save icm Data to Output List Format
tedgelist_cumulative_degree

Cumulative Degree of Each Node in a Timed Edgelist
summary.dcm

Summary Model Statistics
update_dissolution

Adjust Dissolution Component of Network Model Fit
update_cumulative_edgelist

Update a Cumulative Edgelist of the Specified Network
test_icm

Test the Model Output from a Stochastic Individual Contact Model
set_modules

Set the List of Modules
tedgelist_to_toggles

Convert Timed Edgelist to Matrix of Toggles
unique_id-tools

Convert Unique Identifiers to/from Positional Identifiers
truncate_sim

Truncate Simulation Time Series
trim_netest

Function to Reduce the Size of a netest Object
set_network

Set Network State During netsim Simulation
sim_nets_t1

Initialize Networks Used in netsim
trigger_end_horizon

Function to Trigger the End Horizon
simulate_dat

Simulate a Network for a Specified Number of Time Steps
verbose.dcm

Progress Print Module for Deterministic Compartmental Models
verbose.net

Progress Print Module for Stochastic Network Models
print.netsim

Print Method for Network Model Simulations
print_nwstats_table

Print Helper For Network Stats Tables
verbose.icm

Progress Print Module for Stochastic Individual Contact Models
summary.icm

Summary Model Statistics
set_current_timestep

Set the Current Timestep
use_scenario

Apply a scenario object to a param.net object
update_unique_ids

Create the Unique Identifiers for New Nodes
saveout.net

Save netsim Data to Output List Format
summary.netest

Summary for Network Model Fit
update_params

Update Model Parameters for Stochastic Network Models
tedgelist_momentary_degree

Momentary Degree Distribution of a Timed Edgelist
test_net

Test the Model Output from a Network Model
update_list

Update List x Using the Elements of List new.x.
toggles_to_diss_stats

Convert Matrix of Toggles to Dissolution and Duration Statistics
arrivals.net

Arrivals: netsim Module
InitErgmTerm.fuzzynodematch

Definition for fuzzynodematch ERGM Term
add_vertices

Fast Version of network::add.vertices for Edgelist-formatted Network
InitErgmTerm.absdiffby

Definition for absdiffby ERGM Term
InitErgmTerm.absdiffnodemix

Definition for absdiffnodemix ERGM Term
apportion_lr

Apportion Using the Largest Remainder Method
as.phylo.transmat

Convert transmat Infection Tree into a phylo Object
as_tibble_edgelist

Convert an Edgelist into a Tibble
as.epi.data.frame

Validate and Convert to epi.data.frame
as.network.transmat

Convert transmat Infection Tree into a network Object
arrive_nodes

Arrive New Nodes to the netsim_dat Object
as_cumulative_edgelist

Convert an Object to a Cumulative Edgelist
arrivals.icm.bip

Arrivals: Bipartite icm Module
arrivals.icm

Arrivals: icm Module
EpiModel-package

Mathematical Modeling of Infectious Disease Dynamics
as.data.frame.icm

Extract Model Data for Stochastic Models
as.data.frame.netdx

Extract Timed Edgelists for netdx Objects
auto_update_attr

Update Vertex Attributes for Incoming Vertices
arrivals.2g.net

Arrivals: netsim Module