MetaboAnalystR
The R engine behind MetaboAnalyst closes the gap from raw spectra to biological interpretation
A side-by-side editorial comparison of cIRT and ggguides — release velocity, themes, recent moves, and the top alternatives to consider.
A choice-based IRT model published once in 2019 and kept compiling ever since
cIRT implements Choice Item Response Theory, jointly modelling which item a respondent picks and how they perform on it — the setting where subjects choose between a harder and an easier question and the choice itself carries information. It comes out of the TMSA Lab, is built on Rcpp and RcppArmadillo, and has had one substantive release since reaching CRAN. Everything after early 2019 is build-system and toolchain upkeep.
Three releases in one day to make legend positioning finally do what the docs said.
ggguides is a helper layer over ggplot2's guide system, exposing legend placement and styling through small named functions instead of raw theme() calls. On 23 April 2026 it shipped 1.1.7, 1.1.8 and 1.1.9 within thirteen hours, each fixing a different path by which the justification argument silently did nothing. The common root cause is that ggplot2 3.5 split legend.justification into side-specific theme elements, and ggguides was still writing to the generic fallback.
cIRT implements Choice Item Response Theory, jointly modelling which item a respondent picks and how they perform on it — the setting where subjects choose between a harder and an easier question and the choice itself carries information. It comes out of the TMSA Lab, is built on Rcpp and RcppArmadillo, and has had one substantive release since reaching CRAN. Everything after early 2019 is build-system and toolchain upkeep.
The package's whole functional history fits in a two-day window in January 2019, when the CRAN release and its immediate follow-ups were tagged in one batch, followed a day later by a release enabling C++11 and OpenMP and fixing the choice generation procedure. Since then the releases track other people's deprecations: Armadillo dropping conversions, RcppArmadillo requiring a different Makevars, R raising its floor. The 2025 release is entirely of that kind, down to swapping the README to Quarto.
The dependency floors were just raised to current Rcpp and RcppArmadillo, so the next release is most likely the one after Armadillo deprecates something else.
ggguides is a helper layer over ggplot2's guide system, exposing legend placement and styling through small named functions instead of raw theme() calls. On 23 April 2026 it shipped 1.1.7, 1.1.8 and 1.1.9 within thirteen hours, each fixing a different path by which the justification argument silently did nothing. The common root cause is that ggplot2 3.5 split legend.justification into side-specific theme elements, and ggguides was still writing to the generic fallback.
The package is in the phase where a wrapper meets the reality of the API it wraps. All three same-day releases are the same bug found in successive entry points: legend_inside(), then the four side functions, then legend_style(by = ). Along the way the fix work produced a real feature, a justification argument on the side legend functions. The pattern of a single reporter driving three consecutive releases suggests the surface is being audited rather than randomly patched.
Expect a consolidation release that audits the remaining theme elements ggguides writes to against ggplot2 3.5 semantics, rather than another single-path fix.
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 cIRT or ggguides.
The R engine behind MetaboAnalyst closes the gap from raw spectra to biological interpretation
Rebuilding SAS's formatting layer in R, one format specification at a time
Standardised coefficients for models where standardising everything is wrong — but the feed only links out
Stream-network spatial models learning to run on data that no longer fits in memory
Bioconductor's installer, frozen at 1.30.x and tuned almost entirely through environment variables
Decision curve analysis, settled since 2022 and now moving only when its neighbours do
See all cIRT alternatives → · See all ggguides alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Analytics. cIRT and ggguides 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. cIRT and ggguides 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 cIRT alternatives in Analytics are ranked by recent ship velocity. Browse the "cIRT alternatives" section above for the current picks, or visit /alternatives/cirt for the full list with editorial commentary on each.
Top ggguides alternatives in Analytics are ranked by recent ship velocity. Browse the "ggguides alternatives" section above for the current picks, or visit /alternatives/ggguides for the full list with editorial commentary on each.