← Back to all sparks
C

cleanepi

ANALYTICS
Velocity0.0

R package to clean and standardize epidemiological data

cleanepi is in the long tail of bug fixes that follows a 1.0 — and changed maintainers along the way.

epiverse-tracedata-cleaningline-listreportingepidemiology
Current state
cleanepi cleans and standardises epidemiological line list data — dates, subject IDs, missing values, duplicates — and produces a report of what it changed. Since 1.0.0 in mid-2024 the releases have been almost entirely corrective: date-guesser fixes, report structure fixes and matching behaviour corrections. Maintainership passed to Bubacarr Bah in 1.1.2.
Where it's heading
Work has concentrated on the report object and on making the cleaning functions behave predictably at the edges — case- and whitespace-insensitive missing-value matching, report elements returned as vectors instead of comma-separated strings, an argument to print a single operation's report. The underlying cleaning API has barely moved since 1.0.0, which suggests it is settled.
Prediction
The report interface has been reworked repeatedly across these releases and is the most likely place for further change; the cleaning functions themselves look stable.

Recent moves

  1. 9mo ago

    Case-insensitive missing-value matching and report fixes

    replace_missing_values() now matches na_strings ignoring case and surrounding whitespace — a behaviour change for anyone relying on exact matching — alongside cli-related errors fixed in check_subject_ids() and duplicate elements removed from the report object.

    View source ↗
  2. 1y ago

    Report elements become vectors; date parsing default restored

    Several report elements that were comma-separated strings are returned as vectors, print_report() gains a what argument to print one operation's report, and the standardize_dates() orders default from 1.0.2 is reinstated.

    View source ↗
  3. 1y ago

    Date guesser corrected; empty-row indices fixed

    The date guesser handles quarters and partial dates and pre-processes odd cases before {lubridate} parses them, print_report() returns actual empty-row indices rather than a row count, and automatic numeric-to-date conversion is stopped because it produced unexpected results.

    View source ↗
  4. 2y ago

    First major release with cleaning and reporting

    1.0.0 establishes the two halves of the package that everything since has refined: the data cleaning operations and the report describing what they did.

    View source ↗