Chord
Chord's assistant can now write to the team's knowledge base, not just read from it.
A side-by-side editorial comparison of cheapr and epiworldR — release velocity, themes, recent moves, and the top alternatives to consider.
cheapr turned multi-threaded, and its next stop is a C++20 public API.
cheapr supplies lower-overhead replacements for base R's data manipulation primitives — subsetting, recycling, concatenation, attribute handling, data frame construction. Through 2025 it grew function by function: sset_df/sset_row/sset_col, list_as_df, cheapr_c, counts, str_coalesce, df_modify. The 1.5.0 release in April 2026 changed the nature of the package, adding parallelised math functions, user-settable thread counts, multi-threaded vector initialisers, and a SIMD-parallelised if_else_, with threading on by default at two threads.
epiworldR is a thin R shell whose releases track the C++ simulator underneath it
Almost every release here is a version bump of the underlying epiworld C++ library, wrapped and pushed to CRAN. The substantive R-side work is narrow and consistent: exposing simulation outputs that were already computed but not reachable from R — outbreak size, active cases, hospitalizations and their savers. The newest release addresses an AddressSanitizer finding, which is the kind of thing CRAN checks surface on a compiled package.
cheapr supplies lower-overhead replacements for base R's data manipulation primitives — subsetting, recycling, concatenation, attribute handling, data frame construction. Through 2025 it grew function by function: sset_df/sset_row/sset_col, list_as_df, cheapr_c, counts, str_coalesce, df_modify. The 1.5.0 release in April 2026 changed the nature of the package, adding parallelised math functions, user-settable thread counts, multi-threaded vector initialisers, and a SIMD-parallelised if_else_, with threading on by default at two threads.
Two arcs run at once. The visible one is parallelism: what began as single-threaded C shortcuts is becoming a threaded compute layer, and the notes state the C/C++ API is mid-rewrite with a stable form promised at 2.0.0 behind a C++20 requirement. The quieter one is R C API compliance — 1.5.1 removed R_MissingArg, R_UnboundValue, Rf_findVar and Rf_findVarinFrame, the non-API entry points being closed off upstream. The 1.5.x patches since are narrow crash fixes, which reads as consolidation before the 2.0.0 break.
Expect 2.0.0 to land the stable C/C++ API behind a C++20 toolchain floor, with more of the existing function surface threaded in the interim. The package has announced both moves in its own release notes.
Almost every release here is a version bump of the underlying epiworld C++ library, wrapped and pushed to CRAN. The substantive R-side work is narrow and consistent: exposing simulation outputs that were already computed but not reachable from R — outbreak size, active cases, hospitalizations and their savers. The newest release addresses an AddressSanitizer finding, which is the kind of thing CRAN checks surface on a compiled package.
The R package's job is staying current with the simulator and satisfying CRAN, not evolving its own interface. What direction it has shows in which model outputs get exposed next, and in a steady tidy-up of the build — the custom configure script was dropped in favour of R's built-in C++17 and OpenMP settings, and test coverage has been filled in across several releases with automated assistance.
Expect the next release to track another epiworld version bump, with any R-side addition most likely being one more exposed metric or saver, following the pattern of get_hospitalizations and get_outbreak_size.
Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either cheapr or epiworldR.
Chord's assistant can now write to the team's knowledge base, not just read from it.
tidytransit tracks the GTFS spec as it grows, one reader and one router feature at a time.
A tiny grid renderer for oblique-projection cubes, complete since its first release.
BioCro swapped an unstable iteration for real root finders, changing what its crop models compute.
redist keeps rewriting the sampler underneath a district-drawing API it has held stable since 4.0.
epiflows has shipped four releases in eight years, none of which changed the code.
See all cheapr alternatives → · See all epiworldR alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Analytics. cheapr and epiworldR are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. cheapr and epiworldR are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top cheapr alternatives in Analytics are ranked by recent ship velocity. Browse the "cheapr alternatives" section above for the current picks, or visit /alternatives/cheapr-r for the full list with editorial commentary on each.
Top epiworldR alternatives in Analytics are ranked by recent ship velocity. Browse the "epiworldR alternatives" section above for the current picks, or visit /alternatives/epiworldr for the full list with editorial commentary on each.