JointFPM
Recurrent-event modelling settles, with mean_no() promoted to stable.
A side-by-side editorial comparison of qol and tidyplots — release velocity, themes, recent moves, and the top alternatives to consider.
A SAS-to-R comfort layer that has quietly grown into its own dialect.
qol is a one-maintainer R package aimed at analysts moving from SAS: SAS-shaped verbs (compute., if./else_if., retain_value, do_if blocks), format-driven tabulation through any_table()/summarise_plus(), and styled Excel output as the default destination. Releases land roughly monthly and each one is large. The recent line has shifted from adding verbs to letting conditions be written as parsed character strings, which is the closest the package gets to reproducing SAS syntax inside R.
tidyplots keeps rebuilding its own foundations rather than layering around them.
tidyplots wraps ggplot2 in a pipe-driven API aimed at publication-ready scientific figures, trading grammar-of-graphics flexibility for a shorter path to a finished plot. It is at 0.4.0 after two years of frequent releases, and almost every one carries a breaking change — the most recent moved multi-panel layout off patchwork and onto ggplot2's own faceting. Statistical annotation, colour schemes and size control have each been reworked at least once.
qol is a one-maintainer R package aimed at analysts moving from SAS: SAS-shaped verbs (compute., if./else_if., retain_value, do_if blocks), format-driven tabulation through any_table()/summarise_plus(), and styled Excel output as the default destination. Releases land roughly monthly and each one is large. The recent line has shifted from adding verbs to letting conditions be written as parsed character strings, which is the closest the package gets to reproducing SAS syntax inside R.
Three threads are visible across these releases. Syntax fidelity is the newest: ifelse_multi() introduced character-string conditions with SAS-style writing, and if./else_if. immediately picked the style up. Tabulation flexibility is the constant — any_table() gains per-variable statistic selection, nested variable combinations in brackets, vector order_by, compute support. The third is ecosystem plumbing the maintainer builds when a gap appears: file I/O in 1.3.0, a console message system, global style options, macro variables, and in 1.3.2 a code_statistics() script scanner. Renames to dodge data.table and dplyr masking recur often enough to be a pattern.
The maintainer flagged the new percentile behaviour as a first iteration that only works with few grouping variables, so a performance pass on it is the clearest outstanding item. Beyond that the character-condition syntax has reached three functions in two releases and looks likely to spread to the remaining filter-bearing verbs.
tidyplots wraps ggplot2 in a pipe-driven API aimed at publication-ready scientific figures, trading grammar-of-graphics flexibility for a shorter path to a finished plot. It is at 0.4.0 after two years of frequent releases, and almost every one carries a breaking change — the most recent moved multi-panel layout off patchwork and onto ggplot2's own faceting. Statistical annotation, colour schemes and size control have each been reworked at least once.
The package is converging on ggplot2 rather than abstracting away from it: split_plot() now uses facet_wrap and facet_grid, as_tidyplot() was hard-deprecated on the grounds that converting a ggplot was never a good idea, and releases are timed against upstream ggplot2 versions. The other constant is the statistics surface, which has grown from basic error bars to paired and selected comparisons. Breaking changes are announced plainly and frequently, consistent with a package using 0.x to fix its shape before committing.
The patchwork removal is described as something that will eventually break dependent code, so the near-term work is likely completing that migration and settling the split_plot() parameters introduced alongside it. A 1.0 would signal the breaking-change cadence is ending, and nothing here indicates that yet.
Other Infra & APIs 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 qol or tidyplots.
Recurrent-event modelling settles, with mean_no() promoted to stable.
Nonparametric change point detection swaps p-values for importance scores.
A Prism-styled ggplot2 theme in maintenance, now surviving ggplot2 4.0.
Wavelet trend estimation tightens the defaults it shipped with.
Back from CRAN removal under a new maintainer, with the compiled layer rebuilt.
mice can finally predict, not just estimate, from multiply imputed data.
See all qol alternatives → · See all tidyplots alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. qol and tidyplots 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. qol and tidyplots 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 Infra & APIs products to evaluate alongside.
Top qol alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "qol alternatives" section above for the current picks, or visit /alternatives/qol for the full list with editorial commentary on each.
Top tidyplots alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "tidyplots alternatives" section above for the current picks, or visit /alternatives/tidyplots for the full list with editorial commentary on each.