The dust2 package provides an engine for running dynamical systems in discrete or continuous time and where the processes are stochastic or deterministic. We focus on Markov models where the problem reduces to describing how model state changes as a function of its current state (and possibly time) but without reference to where it has come from. Superficially, the problem is not very hard (see vignette("design")), but dust2 takes care of many practical and bookkeeping details such as:
vignette("design") describes the problems dust tries to solve (read on package website)vignette("dust2") describes dust by example, showing two simple systems and the methods that can drive them (read on package website)dust version 1 before, see the migration guide to see what has changed.odin2 is the way most dust2 systems are writtenvignette("writing") shows how to write a dust2 system by hand in C++vignette("packaging") describes how to package a system for easy reuseThis package is a ground-up rewrite of dust and will eventually become version 2.0.0 of dust, which we will then release to CRAN. It exists separately for now to facilitate development and use alongside the original dust, and is being developed in parallel with odin2 and monty (previously mcstate). Some of the functionality here was originally found in mcstate and some of the previous version of dust can now be found in monty (e.g., the random number library).
Please install from our r-universe:
install.packages(
"dust2",
repos = c("https://mrc-ide.r-universe.dev", "https://cloud.r-project.org"))
If you prefer, you can install from GitHub with remotes:
remotes::install_github("mrc-ide/dust2", upgrade = FALSE)
MIT © Imperial College of Science, Technology and Medicine