tidytext
Finished, widely taught, and shipping roxygen fixes.
A side-by-side editorial comparison of ggeffects and patchwork — release velocity, themes, recent moves, and the top alternatives to consider.
ggeffects hands its contrast engine to modelbased and keeps the interface
ggeffects computes and plots marginal effects for a long tail of R model classes. Its recent line has two threads: steadily broadening model support and argument surface, and repeatedly absorbing breaking changes from the packages it computes on top of. In 2.2.0 it stopped absorbing them and delegated test_predictions() and johnson_neyman() to modelbased instead.
patchwork stopped being a ggplot composer and became a page composer.
patchwork assembles plots into compositions with arithmetic operators, and the 1.x line has steadily hardened that grammar: guide and axis collection, free() to exempt a plot from alignment, inset_element() for overlays, and list-like behaviour so lapply() and length() work on a patchwork. Version 1.3.0 added native gt table support. The two releases since are a load-time warning fix and a compatibility pass for the next ggplot2 release.
ggeffects computes and plots marginal effects for a long tail of R model classes. Its recent line has two threads: steadily broadening model support and argument surface, and repeatedly absorbing breaking changes from the packages it computes on top of. In 2.2.0 it stopped absorbing them and delegated test_predictions() and johnson_neyman() to modelbased instead.
The package is settling into a front-end role — a consistent predict_response() interface over other people's estimation engines — rather than owning the computation itself. The 2.x releases also show a pattern of removing deprecated arguments and clarifying mixed-model semantics, so the interface is being tightened as the backend is outsourced.
Expect the features lost in the modelbased handover to return as that package's contrast and slope estimation matures, rather than being reimplemented locally.
patchwork assembles plots into compositions with arithmetic operators, and the 1.x line has steadily hardened that grammar: guide and axis collection, free() to exempt a plot from alignment, inset_element() for overlays, and list-like behaviour so lapply() and length() work on a patchwork. Version 1.3.0 added native gt table support. The two releases since are a load-time warning fix and a compatibility pass for the next ggplot2 release.
The centre of gravity is shifting from alignment mechanics to composition scope. Early releases were almost entirely bug fixes against grid and ggplot2 internals — strip placement, fixed aspect ratios, guide merging. Recent ones add object types and escape hatches instead. Between feature cycles the package is in maintenance defined by ggplot2's release calendar, which is what 1.3.1 is in its entirety.
Expect wrap_table() to grow beyond gt to other table objects, and expect the next substantive release to be triggered by a ggplot2 internals change rather than by a patchwork roadmap.
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 ggeffects or patchwork.
Finished, widely taught, and shipping roxygen fixes.
Text features finally stay sparse all the way to the model.
The package that made calibration a step instead of an afterthought.
workflowsets keeps widening what counts as a model worth comparing.
The tidymodels pipeline grew a third stage, and it happens after the model runs.
Posit's MLOps package went quiet for two years, then came back to keep up with recipes.
See all ggeffects alternatives → · See all patchwork alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. ggeffects and patchwork 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. ggeffects and patchwork 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 ggeffects alternatives in Analytics are ranked by recent ship velocity. Browse the "ggeffects alternatives" section above for the current picks, or visit /alternatives/ggeffects for the full list with editorial commentary on each.
Top patchwork alternatives in Analytics are ranked by recent ship velocity. Browse the "patchwork alternatives" section above for the current picks, or visit /alternatives/patchwork for the full list with editorial commentary on each.