mlr3proba
mlr3proba is shedding weight as its survival work moves into sibling packages
A side-by-side editorial comparison of dtplyr and workflows — release velocity, themes, recent moves, and the top alternatives to consider.
dtplyr stopped hijacking data.table objects and became an opt-in translator
dtplyr converts dplyr and tidyr code into data.table syntax, and 1.3.0 redrew its boundary: verbs no longer dispatch to dtplyr translations just because dtplyr is loaded, so lazy_dt() has to be called explicitly. Since then the work has been translation coverage — reframe(), case_match(), consecutive_id() — plus a long tail of correctness fixes in grouping and .by.
The tidymodels pipeline grew a third stage, and it happens after the model runs.
workflows bundles a preprocessor and a model into one object that tidymodels can fit, tune and extract from. Version 1.3.0 added a post stage backed by the tailor package, wired through every generic a workflow supports — augment, tidy, tunable, tune_args, required_pkgs and parameter extraction. Version 1.2.0 added sparse data support so fit() and predict() accept dgCMatrix and sparse tibbles. Earlier releases in view are boundary tightening: erroring on unknown model modes, on trained recipes, and on silently ignored formula offsets.
dtplyr converts dplyr and tidyr code into data.table syntax, and 1.3.0 redrew its boundary: verbs no longer dispatch to dtplyr translations just because dtplyr is loaded, so lazy_dt() has to be called explicitly. Since then the work has been translation coverage — reframe(), case_match(), consecutive_id() — plus a long tail of correctness fixes in grouping and .by.
The package is trailing dplyr's own feature releases rather than leading them, adding each new verb once it settles upstream. Performance work is targeted at specific verbs where data.table has a faster primitive: setorder() for arrange(), reference drops for select(), rleid() for consecutive_id(). Release cadence has thinned considerably since 2023.
Expect further one-for-one translations as dplyr adds verbs, and continued fixes around .by and non-standard column names; the entries show no sign of a broader redesign.
workflows bundles a preprocessor and a model into one object that tidymodels can fit, tune and extract from. Version 1.3.0 added a post stage backed by the tailor package, wired through every generic a workflow supports — augment, tidy, tunable, tune_args, required_pkgs and parameter extraction. Version 1.2.0 added sparse data support so fit() and predict() accept dgCMatrix and sparse tibbles. Earlier releases in view are boundary tightening: erroring on unknown model modes, on trained recipes, and on silently ignored formula offsets.
The object is filling out into a complete pipeline description rather than a preprocessing-plus-model pair. Postprocessing is the structural addition — calibration and threshold selection were previously done by hand after prediction, outside anything tidymodels could tune or record — and the fact that it arrived integrated with tunable() and tune_args() rather than as a standalone step is the point. The rest of the arc is the steady tidymodels habit of converting silent guesses into errors.
Expect tailor postprocessors to spread through tune and workflowsets next, since the parameter and tuning generics were wired up first, and expect sparse support to extend to more engines after lightgbm.
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 dtplyr or workflows.
mlr3proba is shedding weight as its survival work moves into sibling packages
mlr3viz keeps the ecosystem's plots working while the plots themselves move out
mlr3tuning is rebuilding its async machinery under a stable public surface
timetk swallowed anomalize whole, then went quiet for two years
modelbased is turning marginal effects into a full contrast grammar
easystats' parameters package absorbs one more model class every few weeks
See all dtplyr alternatives → · See all workflows alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. dtplyr and workflows 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. dtplyr and workflows 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 dtplyr alternatives in Analytics are ranked by recent ship velocity. Browse the "dtplyr alternatives" section above for the current picks, or visit /alternatives/dtplyr for the full list with editorial commentary on each.
Top workflows alternatives in Analytics are ranked by recent ship velocity. Browse the "workflows alternatives" section above for the current picks, or visit /alternatives/workflows-r for the full list with editorial commentary on each.