We are very excited to announce the release of a new simulist version v0.5.0. Here is an automatically generated summary of the changes in this version.
This minor version release expands the scope of simulist to include two new post-processing functions: truncate_linelist()
and messy_linelist()
. Both of these functions modify a line list <data.frame>
from sim_linelist()
or sim_outbreak()
, the line list now also includes a $date_reporting
column.
This release has also focused on making the package interface more consistent and contains bugs fixes.
New features
External
The
messy_linelist()
function is added. This takes a simulated line list and creates a “messy” line list with inconsistencies, irregularities and missingness found in empirical outbreak data (#187 & #196 & #199)A reporting delay argument (
reporting_delay
) is now included insim_linelist()
andsim_outbreak()
to simulate reporting delays from the date of symptom onset ($date_onset
) to date of reporting ($date_reporting
) (#179).The
truncate_linelist()
function is added. This takes a simulated line list and can create outbreak snapshots and right-truncation of real-time outbreak data (#179 & #193 & #201 & #211).A new vignette,
reporting_delays-truncation.Rmd
, on reporting delays and right-truncation for line list data has been added (#179 & #201).Alt text is added to all vignette figures (#214).
Internal
{english}
is added as a package dependency formessy_linelist()
(#187).R CMD check CI is now run on R v4.1, the minimum required R version for the package (#180).
{epiparameter}
is no longer used in testing (#177)..check_linelist()
is added for input checking in post-processing functions (#179)..check_age_df()
and.check_risk_df()
have been merged into.check_df()
thanks to the standardisation of the structure of<data.frame>
objects required bysim_*()
function arguments (#200).
Breaking changes
create_config()
has been updated to acceptedfunction
s instead of a distribution name and a vector of parameters. This now matches the design of arguments that accept afunction
insim_*()
functions (#202).The structure of the age-structured population
<data.frame>
input intosim_*()
functions has been standardised with the age-stratified risk<data.frame>
s by using an$age_limit
column instead of an$age_range
character
column (#200).The line list
<data.frame>
output bysim_linelist()
andsim_outbreak()
now contains a$date_reporting
column (#179).Outcome date (
$date_outcome
) is now conditioned to be after hospitalisation date ($date_admission
) using the new internal.sample_outcome_time()
function. This is a breaking change as previously hospitalisation times could be before outcome times,sim_linelist()
can now through an error if an outcome time cannot be sampled to be after the hospitalisation time (#178).The date of first contact is now sampled as the number of days before infection time (equal to symptom onset in the model) rather than days before date of last contact, as this could lead to the infection time before the first contact (#206).
The minimum required R version for simulist is increased to v4.1.0 from v3.6.0 due to package dependencies (#180).
The minimum required version of
{incidence2}
(suggested dependency) is now v2.3.0 (#214).
Minor changes
- Explicitly state function output breaking changes policy in
design-principles.Rmd
vignette (#208).
Bug fixes
Date of symptom onset can no longer occur before date of first contact (#206).
Outcome date can no longer occur before hospitalisation date (#178).
Deprecated and defunct
- None
Acknowledgements
Thanks to those that contributed towards this release, either through opening issues, reviewing pull requests or discussing package developments.
@avallecam @Bisaloo @CarmenTamayo @Degoot-AM @jamesmbaazam @joshwlambert @Karim-Mane @sbfnk
Reuse
Citation
@online{epiverse-trace_development_team2025,
author = {Epiverse-TRACE development team, The},
title = {Simulist V0.5.0},
date = {2025-03-26},
url = {https://epiverse-trace.github.io/posts/simulist_v0.5.0/},
langid = {en}
}