- Add foundation updates to support the
tergmLite
package (to be released). - Print network statistic diagnostics stored in
netsim
object withprint.netsim(x, formation.stats = TRUE)
.
- Fix issue
plot.netsim
default colors when number of variables exceeds 3.
- Add example for differential homophily in a TERGM dissolution model in
dissolution_coefs
documentation.
- Add a
skip.dissolution
argument tonetdx
to skip dissolution diagnostics for computational efficiency.
- Fixes output formatting of network stats saved during
netsim
runs. - Correctly errors when running dynamic network diagnostics with
netdx
on a cross-sectional ergm. - Remove old unused utility functions.
- Enforce depend on ergm >= 3.10 package.
- Fix logical evaluations in
get_sims
and unit tests inplot.transmat
found during CRAN submission for v1.7.1.
- Two helper functions,
get_args
andapportion_lr
, ported over from EpiModelHIV. - Two custom ERGM terms,
absdiffby
andabsdiffnodemix
, ported over from EpiModelHIV.
- Fix linked functions in embedded Shiny apps broken in v1.7.0.
- Update handling of parameter and module name changes related to births/deaths to arrivals/departures renames in v1.7.0.
- Reduce complexity of verbose output so that it can generalize across EpiModel extension packages.
- Fix bug in
as.data.frame.dcm
whendt
control setting < 1.
- Add
keep.tnetwork
parameter tonetdx
to allow for retaining the fullnetworkDynamic
object during dynamic network simulations. Relatedly, add support forget_network
to extract those networks fromnetdx
objects. - Change the default handling of
as.data.frame
function for processing model output for all three model classes (DCM, ICM, and Network Models) to generate a stacked data frame of all simulations (instead of row means across simulations). This is a breaking change that may require updating old code. - New
as.data.frame.netdx
function extracts the timed edgelists directly from anetdx
object. - The
get_nwstats
function now extracts data frames of network statistics from bothnetdx
andnetsim
objects.
- Improve functionality and error handling of
get_sims
. - Fix problems with color handling of network statistics plots in
plot.netdx
andplot.netsim
. - Enforce maximum number
ncores
argument innetdx
to prevent over parallelization of simulations. - Removed the redundant storage of the timed edgelist data in
netdx
objects. - Fix errors in calculation of population sizes in verbose module that prints simulation output to the console.
- Add warning for input parameter with a name
act.rate.m2
for network models inparam.net
, as this is an unused parameter for built-in models. - Updated parameters and documentation throughout EpiModel for vital dynamics
parameters and processes to reflect a more general method of demographic
in-flows and out-flows from the population. Previous terms were births and
deaths; new terms are arrivals and departures. The default parameter for
births was previously
b.rate
; it is nowa.rate
. Inputs of ab.rate
parameter yield a message and will automatically seta.rate
to theb.rate
value. This is a breaking change that may require updating old code. - Adapted y-axis limit calculation for all stochastic plots to depend on dynamic range of data displayed instead of full data range.
- Changed the default plot type for static diagnostics in
netdx
(whendynamic
is set toFALSE
) to smoothed rolling averages instead of the full MCMC trace. The trace plots may be turned back on withsim.lines = TRUE
.
netdx
now includes a new argument,sequential
, for static diagnostics that mirrors the same argument fromergm::simulate.ergm
to simulate from MCMC chains based on previous draws versus new draws.
- Fix
mutate_epi
output when new variable is a constant.
- Move
ggplot2
from depend to import. - References added for publication of Journal of Statistical Software methods paper on EpiModel: Jenness SM, Goodreau SM, Morris M. EpiModel: An R Package for Mathematical Modeling of Infectious Disease over Networks. Journal of Statistical Software. 2018; 84(8): 1-47. DOI: 10.18637/jss.v084.i08.
- Fixed minor issue with unit tests using
identical
function causing some to fail under alternative BLAS/LAPACK implementations.
as.data.frame
methods fornetsim
andicm
classes now allow creation of a single data frame with epidemic outcomes across multiple simulations, where previous only single individual simulations would be output. This is specified with thesim = "all"
parameter whenout = "vals"
. See the help page for examples. This "tidy" data format allows for easier integration with external plotting and analysis approaches, including ggplot2.geom_bands
is a new "geom" for use byggplot2
to facilitate plotting of simulation intervals given a specified lower and upper quantile set. Examples of plotting ICM simulations are provided, and the same principle applies for network models. As a result of this,ggplot2
was added as a depend.truncate_sims
is a new utility function that takes truncates the time series of anetsim
oricm
class object at a specified time step. This truncation will remove all epidemic output before that time step, and reset the control settings to start at that time step. This is useful in our modeling workflows when we need to remove a pre-intervention burnin period from the model simulations.init.net
allows you to pass in a vector of backwards-looking infection times for those initally infected at t_1 through theinfTime.vector
parameter. Combined with thestatus.vector
parameter, this provides users maximal control over who is infected and for how long as initial conditions.
- Fixed bug in DCM Shiny app related to plotting prevalence vs count outcomes.
- Removed unneeded and unused input parameters from
discord_edgelist
function. - Fixed issue where SIS/SIR models with vital dynamics, and a low mortality rate relative to the recovery rate (which is typical) would get very long initial infection times assigned at t_1.
- Changed the title (actually, it's a subtitle) in the DESCRIPTION to: "Mathematical Modeling of Infectious Disease Dynamics".
- Deprecated the
status.rand
argument forinit.net
andinit.icm
that allowed users to specify a random number of initially infected. Support for this got too complex for a little (or never) used argument, and users interested in randomly setting the initial number infected may control this more flexibly with thestatus.vector
parameter.
- Add
grid
argument to plot functions to overlay a grid on line plots.
- Fix bug in
plot.netdx
examples in help file.
- Reset the
verbose
default for network models toTRUE
(reverts change in v1.3.0 specifically for network models). - Rename
leg
argument name (to add default legends to plots) tolegend
. Note this is backwards-incompatible because of fuzzy matching with other function arguments startingleg
; prior model code must be updated. - Change default transparency level to 0.5 (if unspecified).
- In
control.dcm
,nsteps
may now be a vector of time steps or, as before, an integer containing the number of time steps within a DCM simulation. For example,control.dcm(..., nsteps = seq(1980, 2015, 1/12), ...)
for solve for monthly outputs from a range of dates from 1980 to 2015. mutate_epi
for adding new variables to a epidemic simulation object now works for all three model classes.
- Outputs from
param
,init
, andcontrol
functions are now dual-classed as lists as well as their native classes. - When passing a
new.mod
intocontrol.dcm
, printing thecontrol.dcm
object no longer yields a warning and instead prints the function name.
- Update handling of transparent colors within
transco
to use the baseadjustcolor
function. - Derivatives tracking a "flow" or the size of a transition between compartments
for DCM simulations (e.g., disease incidence) often output
NA
for the final value, creating issues with analyzing those data. ThoseNA
s are replaced with the penultimate value of that vector. - Simplify printing of
dcm
,icm
, andnetsim
objects to list "Variables" together instead of dividing them into compartments, flows, and other. - Change the
popfrac
default for plottingdcm
,icm
, andnetsim
objects toFALSE
. This avoids any problems when prevalences are already stored within the model simulation. - Change the
verbose
default for control functions toFALSE
.
- Print simulation number and prevalence value for static network plots in
print.netsim
whensims
ismean
,min
, or `max.
- Add new line at end of
print.coefdiss
output. - Tighten the default ylim ranges for
plot.netsim
- Include error check for duration < 1 in
dissolution_coefs
. - Update documentation in a number of places.
- Add new
mutate_epi
function inspired by thedplyr
package, to add post-hoc summary statistic calculations to completed network simulations. See the function help file for examples. - Added a speedy
get_degree
function that returns a vector of current network degree for each person in a network.
- Updated internal plot functions that calculate prevalences.
- Disable verbose output if running network models in parallel.
- Allow network simulations of 1 time step (mainly used for debugging and testing).
- Updates to
as.phylo.transmat
to fix issues with vertex exit times and to now accept multiple seed vertices if multiple seeds are detected, returning a list of phylo objects of classmultiPhylo
following the convention ofape::read.tree
.
- Corrected an error governing the birth rate of 2-group, open-population deterministic compartmental models (DCMs).
- Updated license to GPL-3.
- Added multicore functionality to simulating stochastic network models with
netsim
. This only supports single-node frameworks currently, using thedoParallel
package. Run models in parallel by using thencores
parameter incontrol.net
. - Modifications to the
as.phylo.transmat
function to construct the phylo tree with all network vertices as phylo-tips and all transmissions as phylo nodes.
- General code cleanup and improvement of package tests to increase coverage about 90%.
- The stochastic network model Shiny application now features adaptive concurrency levels with ERGMs including that network statistic.
plot.netsim
now correctly functions for diagnostic plots (type = "formation"
) when summary statistics contain variable names with numeric values as suffixes.- Avoided duplicate reinitialization of persistent IDs for network models started
with a full STERGM fit (
edapprox = FALSE
in thenetest
function). - Fixed error for stochastic network model simulations in
netest
when models were fit with the full STERGM method. - Automatically set
depend
parameter toTRUE
incontrol.net
when user passes in any new birth or death modules.
- New translation and plotting functions for temporal transmission chains measured
in stochastic network models. These include a dendogram using methods from the
ape
package and a transmission timeline from thendtv
package. See the help files for theas.phylo.transmat
andplot.transmat
functions. - Added a Shiny application for stochastic network models. This may be accessed
from within the package with
epiweb(class = "net")
. It is also hosted online at http://statnet.shinyapps.io/epinet/ get_sims
function is used to extract individual simulations from largernetsim
objects. This function has been updated to include avar
argument that allows for automatic calculation of which simulation is closest to the mean across all simulations for extraction.- Added a quantile extraction method for
as.data.frame
method foricm
andnetsim
classes. This will provide a data frame of output corresponding to defined quantiles across all simulations contained within a model object.
- Supress warnings with the lowess smoother in
plot.netsim
in cases where there areNA
values in the epidemiological output. - Removed error check for
control.net
whentype
is missing, and automatically setstype
to"SI"
. This will impact extensions to EpiModel in the case when the default transmission module is replaced. - Fixed bug in
netdx
on calculating summary statistics from models with multiple structural zeros for target statistics.
- Changed the default of
status.rand
, which controls whether the number initially infected in stochastic epidemic models, toFALSE
. This will ensure that exactly the number specified ininit.icm
andinit.net
are matched in each simulation. - Fully removed the
netsim_parallel
function from the package. See the EpiModelHPC extension package at http://github.com/statnet/EpiModelHPC for running network simulations in parallel.
check_bip_degdist
now uses more tolerant checks of equality when comparing bipartite mode statistics.- Fixes a formatting issue with output for DCMs run with the
dcm
function. - Fixes a variable name collision problem for epidemic plotting functions.
- Removes long burn-ins from network model estimation in
netest
to improve performance of fitting models. - In stochastic network models, one may now remove built-in modules, such as
births.FUN
, from the dynamic workflow by setting the argument value for that module toNULL
in thecontrol.net
inputs.
- The
calc_eql
function now returns test statistics invisibly. - Major overhaul of plotting functions for stochastic model plots.
plot.netsim
is now a separate method for epidemic plots (it was previously a function call toplot.icm
), with function arguments and default settings more consistent across plotting functions. There may be minor backwards incompatibility for some epidemic plots. Network statistic plots inplot.netdx
andplot.netsim
now use the same methods and share the same defaults. The defaults for these plots will be to plot smoothed quantile bands (the IQR) and means of simulations without the individual simulation lines. Any individual elements may be toggled on or off as before. - Modules are now listed in the output for
param.icm
andparam.net
classes. - Removed
dissolution
argument tonetest
. This argument specified the right- hand sided dissolution formula for temporal ERGMs. It was removed because this formula was already specified in thedissolution_coefs
function, the output of which is passed tonetest
, thereby removing the duplication.
as.data.frame
methods for stochastic models removeNA
from individual simulations when calculating row means.- Fixed bug in network birth module for assigning infection status for incoming nodes.
- The
verbose
parameter innetest
now correctly controls the model fitting output level in the underlyingergm
andstergm
functions. merge.netsim
now correctly checks elements of two objects to be merged when the classes of those elements may be of length greater than 1.
- Major updated internal package function testing for more reliable performance.
- Added
...
argument toepiweb
to pass additional arguments toshiny::runApp
. - Importing the
graphics
,grDevices
,stats
, andutils
packages as required by CRAN.
- Built-in parallelization of stochastic network model simulations directly within
the package with the
netsim_parallel
function has been deprecated. This functionality has been replaced with model simulation functions within theEpiModelHPC
extension package: https://github.com/statnet/EpiModelHPC - Cosmetic and functional updates to built-in Shiny applications accessible within
the package via
epiweb
. - New function,
calc_eql
, calculates whether a model of any class in EpiModel has reached an equilibrium state over a defined time series. Equilibrium is defined as the absolute value of the difference of the maximum prevalence and minimum prevalence over a specified time series falling below a specified threshold. For stochastic models, these values are calcualted based on the mean of the individual time series simulations. netest
now includes a new argument,nonconv.error
, that will send the function to an error state if the ERGM did not coverge after the specified number of interations. The default is to allow for a nonconverged model fit to be returned. Requiring an error may be helpful when running a number of models in batch mode.
- Within the built-in deterministic compartmental models solved with the
dcm
function, there was an error in the calculation of flows (e.g., disease incidence or number of deaths per unit time) when the models were integrated with methods other than the "Euler" solution. Flows are now calculated correctly for all numerical integration methods supported via thedeSolve
package. - Minor bugs in the default deaths module for stochastic network models were corrected.
netest
will now check to ensure that the formation and dissolution models are in allignment (terms specified in the same order) and that dissolution model is of proper forms (see v1.1.4 notes).
- A limited set of heterogeneous dissolution models now allowed for network
models (#184): edges + nodematch, nodemix, or nodefactor formulas now supported.
See help file for
dissolution_coefs
for examples. - Network models now feature more consistent and flexible use of persistent IDs
for networkDynamic objects (#199). This involved adding a new control setting,
use.pids
incontrol.net
. See help("persistent.ids") in thenetworkDynamic
package for more background. - Interventions are added to all model classes (#20). For DCMs, ICMs, and network models, there are new parameters, inter.eff and inter.start, for the efficacy and starting time of the intervention. This generic intervention has the effect of reducing the probability of transmission given a contact between a susceptible and infected person by the efficacy parameter.
- Fixed error in
births.net
module that set the defaultentrTime
andexitTime
attributes twice for bipartite models (#205). - Plotting for all model classes now allow setting
xlab
andylab
(#206). get_sims
extraction now outputs correct data when object contains single simulation.
- More robust testing of functions.
- Updated hyperlinks within doc files to new github-based website.
- The
skip.check
argument forcontrol.net
is even more flexible, to allow for passing different class elements intonetsim
with original models. - New
param.error
argument formerge.netsim
that allows bypassing the stop error if the parameters and control settings from the two merged objects are not identical. control.net
has newmodule.order
argument to provide control of the order in which modules are evaluated within each time step. The default ordering is maintained as explained in the updated help file.
netsim_parallel
now returns the correct object if used for single simulations or on single cores.plot.icm
removes NA values from the data when calculatingylim
and the quantile bands.
netest
now implements an improved "Edges Dissolution Approximation" via theedapprox
argument.- Several documentation updates.
- Implement
control.dcm
optiondede
, which if true allows for delayed differential equations to be passed into a new model solved withdcm
. - New option for
netdx
to simulate static diagnostics from an ERGM, rather than the temporal diagnostics (still the default). This will help better diagnose poor dynamic model fit when using the edges dissolution approximation (#175). - Plot option added for
netdx
, with themethod
parameter, to plot boxplots of the simulations against the target statistics. The default is still the line plots (#191). - Additional summary elements may now be plotted with
netdx
objects, similar to epidemic data plots: mean lines and quantile bands. Additional arguments added to allow toggling of these along with individual simulation lines and target lines. - Print method for
netdx
is updated, along with a new statistic for the percent deviation between the simulation means and target statistics (#192). - Added other epidemiological outcomes saved in user-defined modules to print
output with
print.netsim
(#183). - New function
get_sims
will subset and extract entire simulations fromnetsim
objects with multiple simulations. A vector of simulation numbers may be specified, or if set as "mean", the simulation with the infected prevalence closest to the means across all simulations will be chosen.
- Object elements saved in stochastic network models with the
save.other
parameter incontrol.net
may now be merged withmerge.netsim
(#185). - Quantile band is displayed in
plot
for ICMs and network models when they
argument is specified (#188).
- Package
deSolve
moved from import to depend (#194).
- Added dissolution diagnostics in
netdx
, for the proportion of edges that dissolve per time step, as another diagnostic for the dissolution model (#53). - Network plots with
plot.netsim
now allow specifying"mean"
,"min"
, or"max"
to plot the network at with the most average, maximum, and minumum disease prevalence at the specified time step (#73). - Network models may now use time-varying recovery rates, similar to the previous
time-varying infection probabilities and act rates. The documentation for the
param.net
function has been updated with details (#65). - New control setting for DCMs,
param.sens
, that allows bypassing the default behavior of evaluating parameters with length greater than 1 as sensitivity analyses. This should be used for single-run models if passing in parameters with arbitrary form.
- Print functions for initial condition processing functions now handle list and data frame structures (#135).
- Fix bug for new DCMs in which the initial condition names include standard integrated initial condition names (#160).
- Several bugs fixes related to network diagnostics for models with offset terms
in the formation model. Also related formation diagnostics plots in
plot.netsim
fixed (#164). - Initialization of infection time for stochastic SIS/SIR models with two groups or modes now fixed (#102).
- Edges population size correction module,
edges_correct
, now runs for any dependent network simulations, not just if built-in vital dynamics modules are called (#141).
- The new website for the EpiModel project is http://epimodel.org/
- Added a new example of a SEIR Ebola DCM in the "Solving New DCMs with EpiModel" tutorial.
- The shiny apps now use the single file method (#155).
- Exported and added documentation for the
verbose.icm
function (#71). - Other elements saved in network simulations with the
save.other
control setting incontrol.net
are now printed as output inprint.netsim
(#174).
- Added three new extraction functions for network models (
get_network
,get_transmat
, andget_nwstats
) which extract the network objects, transmission matrices, and data frame of network statistics from a completednetsim
simulation. These functions also support extraction of network model simulations with multiple networks (see API note). - The plot function for
netsim
objects now has an argument, network, for plotting network statistics and static networks (type = "formation"
and"network"
, respectively) in simulations with multiple networks. - For stochastic epidemic plots, added an option
mean.smooth
. IfTRUE
, this uses a lowess smoother on the outcome variables of interest. This is helpful in visualization of low-count outcomes like disease incidence. - Automatic parallelization of network models is now possible with the
netsim_parallel
function. Note that this is experimental and has not been tested extensively across platforms, so bug reports are welcome. Two parallel methods are supported:doParallel
for multiple cores on a single node, anddoMPI
for multiple cores across multiple nodes. The latter requires an MPI installation on a linux-based cluster. - Network diagnostics in
netdx
also accepts a newncores
argument, which will run the diagnostic simulations and calculations on those simulations in parallel on a specified number of cores (single node only). - Added an argument,
skip.check
, for the control settings in both ICM and network model classes, which overrides the default error checking of parameters, initial conditions, and control settings. This should only be used for original models with new modules that may unnecessarily trigger a check error. - Added an argument,
save.other
, for the control settings in network models, which is a character vector of other elements from the master data list,dat
, to save out in the simulation. - Added an argument,
start
, for the control settings in network models, which is a starting time step to resume simulations. In this case, thex
argument innetsim
is a previously savednetsim
object rather than anetest
object. Thestart
argument should be one integer higher than thensteps
in that earliernetsim
object. Thensteps
argument should now be the final steps for the simulation. Note that this requires specifyingsave.other = "attr"
in the control settings, as well as saving the networks. - Added progress bars for
netdx
diagnostic simulations for computationally intensive parts of the simulations. - Network model estimation with
netest
now provides an output argument. When using the edges dissolution approximation (edapprox = TRUE
), one may set output to"sim"
to save a static simulation network instead of theergm
object as an element of thenetest
output. This is mainly for file size efficiency.
- The internal representation of disease status as an individual-level attribute
in the stochastic ICM and network models has been changed from number
(0, 1, 2)
to character("s", "i", "r")
. This changes little when running the integrated models, and has greater implications for the API when editing modules. But one change for integrated models is that the status vector passed into the initial conditions functions must now be in this new format. This also impacts the expansion of EpiModel for original models. - The
zeromarg
argument has been removed fromplot.netsim
for static network plots (type = "network"
) to reduce potential issues with setting default margins on plots. Now they must explicitly be set with standard par options.
- For ICMs and network models, the internal master data object has been renamed
from
all
todat
to prevent function name conflicts. Additionally, all summary output is now stored withindat$epi
, whereas the previous location wasall$out
. - The ordering of built-in modules within a time step for network simulations has been changed such that the network resimulation module is run before the infection module. There should be no substantive differences in model results, but this provides a more logical consistency between edges toggled on at a time step and the infections that may occur over those edges.
- In network models, two preset functions have been changed to replaceable
modules:
edges_correct
andverbose.net
. The former performs the adjustment to the edges coefficient for network models with population size changes, in order to preserve the mean degree; for mass action epidemic models, for example, one would not want this adjustment, so the module should be set to NULL incontrol.net
. The latter performs the printing of simulation results to the console. Both functions are now listed in the modules help file accessed by:help(modules.net)
. - Evaluation of parameters, initial conditions, and control settings in the core parameterization functions is now more stable, and also more flexible. Defaults for the fixed arguments are now included in the documentation.
- Users may now bypass the built-in
param
,init
, andcontrol
functions altogether for original ICM and network models, because the definition of new and replacement modules occurs within the control functions themselves. The existing control functions should be used as a template if one is considering replacing these parameterization functions. - Users may also bypass any of the built-in modules in network models (see the
list in
control.net
) by setting the argument for that module toNULL
. This may be replaced in the future by a user-defined ordered vector of modules. - The
x
argument in netsim may now be a list ofnetest
objects. This would be used only if supplying new simulation modules that know how to process that data structure. The motivation for this is to allow original models with multiple networks simulated (e.g., a main partnership network and a casual partnership network).
- Minor updates and bug fixes to the two built-in Shiny applications (accessed
via the
epiweb
function). These apps now benefit from the more stable parameterization functions. - Updated the
print
method for theparam.net
class to handle parameters that are lists or data frames. merge.netsim
now ignores any differences in the environment of thenwstats.formula
control, previously preventing proper merging of some network model simulations.
- Added new test cases for running new DCMs, ICMs, and network models, following the vignette examples (see http://epimodel.org/).
- The trans.rate and trans.rate.g2/m2 parameters have been renamed to inf.prob and inf.prob.g2/m2 to better characterize that they are probabilities, rather than rates, and towards infection of persons in that group/mode.
- Added new documentation for newly exported utility functions for network models, mostly used in the birth/entry modules. Now users may directly edit these modules and use the utility functions without explicitly adding them to the global environment.
- Added warning message for network models in which there is a vertex attribute for status added to the network but not referenced in the formation formula, in which case the initial conditions for status will still be derived from the input for init.net. This does not apply to "serosorting models", which reference status in the formation formula, and which require setting status as a vertex attribute on the network before calling netest.
- Network models with passed network attributes in the formation formula in open populations now do not generate an error for persistent ID numbers in the latest versions of the tergm and networkDynamic package.
- Fix bug in printing simulation progress in network and ICM class models when verbose is not specified in the control settings.
- Running netdx diagnostics with offset terms in the formation no longer generates an error.
- Simulating an SIR serosorting network epidemic model (status in the formation formula) no longer stops due to missing r.num in init.net.
- Fix bug when calling netdx for one simulation only with a network model fit with the full STERGM method (i.e., using the edapprox = FALSE in netest).
- The dissolution_coefs function now stores and prints the death/exit rate.
- Removed explicit parameters for xlim, ylim, and main from plot.dcm and plot.icm functions, although they still may be passed through the ... argument.
- Introduction vignette has been updated to list new EpiModel website.
- Added coef.form argument to netest for network model formation formulas with offset terms.
- Allow edge duration of 1 in netest when using the edges dissolution approximation (handles one-off partnerships in network models when using the approximation).
- Death modules for network models are now contained in one function, deaths.net, to facilitate replacement death modules from users. This is also now consistent with the death module for ICMs.
- Automated plotting of target statistic lines to plot.netsim formation plots, matching the methods of plot.netdx formation plots.
- netdx now simulates from a different starting network at the begining of each dynamic simulation, eliminating correlation at time 1 across simulations.
- Can now pass status.vector into init.net for bipartite simulations.
- Several plotting and printing bugs fixed.
- Fixed bug in network models for open populations in which an attribute was passed to the network in the formation formula (e.g., serostatus mixing models).
- Added internal test structure for build checking.
- Added a help file document for building ICM modules at ?modules.icm.
- Expanded and clarified tutorial documentation, available at: http://statnet.github.io/EpiModel
-
Model parameterization for all model classes has been substantially revised to improve organization and ability for expansion. Whereas previous models required input of parameters directly into the main functions (now: dcm, icm, and netsim), now the parameters are input into three parameter-processing functions: param, init, and control. The param function sets the core epidemic parameters, the init function sets the initial conditions, and the control function specifies other model settings. These functions are class-specific, so each function has a .dcm, .icm, or .net suffix.
-
Modeling functions have been renamed for clarity and consistency:
- dcm is now used for deterministic compartmental models (replaces epiDCM)
- icm is now used for stochastic individual contact models (replaces epiICM)
- netest is now used for network model estimation (replaces epiNet.est)
- netsim is now used for network model simulation (replaces epiNet.simTrans)
-
Network models with independence between epidemic/demographic processes and network structures (independent models) were previously first simulated with epiNet.simNet, and then those pre-simulated networks were input to epiNet.simTrans. Now the network model simulation is all handled within the simulation function, netsim.
-
Network model diagnostics have been moved from within the network estimation process (netest) to their own function: netdx. The parameter names for running, printing, and plotting the results of these diagnostics have been updated for consistency. See ?netdx and related functions.
-
Internal model functions have been significantly revised to improve efficiency.
-
The dcm function can handle model functions, parameter sets, and initial conditions of arbitrary complexity. See the HTML vignette on this topic at: http://statnet.org/EpiModel/vignette/NewDCMs.html
-
Moved the package vignettes external to the package to reduce package size and build time. They are now available at the EpiModel homepage at: http://statnet.org/trac/wiki/EpiModel
-
The EpiModel package provides functions for building, solving, and plotting mathematical models of infectious disease.
-
See the main package help function ?EpiModel-package, and the EpiModel tutorials online at http://statnet.org/trac/wiki/EpiModel to get started.