← Back to home
Comparison · Analytics

cheapr vs epikit

A side-by-side editorial comparison of cheapr and epikit — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:r-package

cheapr vs epikit: at a glance

Featurecheaprepikit
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesperformance, parallelism, simd, c-apiepidemiology, field-data, date-handling, r-package
Last editorial update5h ago56m ago
WebsiteVisit →Visit →

What is cheapr?

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.

Read the full cheapr trajectory →

What is epikit?

epikit narrows to field-epidemiology helpers, handing proportions to a sibling package

epikit is a set of small helpers for applied epidemiology in R — age categorisation, date reconstruction from partial records, and related field-data chores, developed in the R4Epis orbit. Version 0.2.0 moved the proportion functions out to epitabulate, improved how find_date_cause(), find_start_date() and find_end_date() handle dates falling outside the period, and added a floor argument to age_categories() so the lowest band reads as under one rather than zero to zero.

Read the full epikit trajectory →

cheapr vs epikit: editorial side-by-side

C
cheapr
ANALYTICS
0.0

cheapr turned multi-threaded, and its next stop is a C++20 public API.

◆ Current state

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.

◆ Where it's heading

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.

◆ Prediction

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.

E
epikit
ANALYTICS
0.0

epikit narrows to field-epidemiology helpers, handing proportions to a sibling package

◆ Current state

epikit is a set of small helpers for applied epidemiology in R — age categorisation, date reconstruction from partial records, and related field-data chores, developed in the R4Epis orbit. Version 0.2.0 moved the proportion functions out to epitabulate, improved how find_date_cause(), find_start_date() and find_end_date() handle dates falling outside the period, and added a floor argument to age_categories() so the lowest band reads as under one rather than zero to zero.

◆ Where it's heading

The package is being scoped down rather than built out. The 0.1.3 restructuring and the 0.2.0 handover of proportions to epitabulate are the same move made twice: push functionality into the package where it belongs and keep epikit to the toolkit that field epidemiologists reach for directly. The rest of the history is dependency compatibility work against dplyr and tibble.

◆ Prediction

With proportions gone and dependencies trimmed, the remaining functions cluster tightly around dates and age bands, so further refinement of the date-reconstruction helpers is more likely than new capability areas.

Alternatives to cheapr and epikit

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 epikit.

See all cheapr alternatives → · See all epikit alternatives →

Recent activity from cheapr and epikit

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 1mo agocheaprrep_len_ crash on shrinking lengths fixed
  2. 4mo agocheaprNon-API R internals removed
  3. 4mo agocheaprParallelised math, thread control, and a C API rewrite
  4. 9mo agoepikitProportion functions moved to epitabulate; date helpers warn correctly
  5. 1y agocheaprSubsetting speedups; sset_col negative-index crash fixed
  6. 1y agocheaprdf_modify added; attribute helpers renamed for intent
  7. 1y agocheaprcounts and str_coalesce added; reconstruct renamed to rebuild
  8. 3y agoepikitFunctions rearranged across sibling packages
  9. 5y agoepikitRaise dplyr and tibble minimums; move CI to GitHub Actions
  10. 5y agoepikitCompatibility release for dplyr 1.0.0
  11. 6y agoepikitFirst CRAN release

Frequently asked questions

What is the difference between cheapr and epikit?

Both compete on the same themes — r-package — within Analytics. cheapr and epikit 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.

Is cheapr better than epikit?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. cheapr and epikit 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.

What are the best alternatives to cheapr?

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.

What are the best alternatives to epikit?

Top epikit alternatives in Analytics are ranked by recent ship velocity. Browse the "epikit alternatives" section above for the current picks, or visit /alternatives/epikit-r for the full list with editorial commentary on each.