← Back to home
Comparison · Analytics

ggstatsplot vs TwoSampleMR

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

ggstatsplot vs TwoSampleMR: at a glance

FeatureggstatsplotTwoSampleMR
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesstatistical-plots, ggplot2, contingency-tables, hypothesis-testingmendelian-randomization, genetic-epidemiology, correctness-fixes, opengwas
Last editorial update1h ago2h ago
WebsiteVisit →Visit →

What is ggstatsplot?

ggstatsplot reached 1.0 by adding tests, having outsourced its statistics years ago.

ggstatsplot produces ggplot2 graphics with statistical test results embedded in the subtitle and caption — comparisons, correlations, contingency tables, histograms. Since the 2019 refactoring that moved all statistical computation into the separate statsExpressions package, its own release notes have been dominated by upstream tracking: adapting to ggplot2, dplyr, purrr and easystats changes. The 1.0.0 release in April 2026 breaks that run with real additions to the contingency-table functions.

Read the full ggstatsplot trajectory →

What is TwoSampleMR?

The flagship Mendelian randomization package is auditing its own estimators, one bootstrap at a time.

TwoSampleMR is the MRC-IEU package for two-sample Mendelian randomization against OpenGWAS. Its 2026 releases are a sustained correctness review rather than feature work: 0.7.9 fixed bootstrap standard errors in mr_mode() and mr_rucker_bootstrap() that had been inflated since v0.6.30, and repaired two Rucker functions that were returning malformed objects. Point estimates were not affected by the bootstrap bug.

Read the full TwoSampleMR trajectory →

ggstatsplot vs TwoSampleMR: editorial side-by-side

G
ggstatsplot
ANALYTICS
0.0

ggstatsplot reached 1.0 by adding tests, having outsourced its statistics years ago.

◆ Current state

ggstatsplot produces ggplot2 graphics with statistical test results embedded in the subtitle and caption — comparisons, correlations, contingency tables, histograms. Since the 2019 refactoring that moved all statistical computation into the separate statsExpressions package, its own release notes have been dominated by upstream tracking: adapting to ggplot2, dplyr, purrr and easystats changes. The 1.0.0 release in April 2026 breaks that run with real additions to the contingency-table functions.

◆ Where it's heading

The architecture explains the cadence. With statistics living in statsExpressions, ggstatsplot's own releases are mostly the tax of sitting on top of a fast-moving plotting and tidyverse stack — five of the six most recent entries change nothing a user would notice. When substantive work does arrive it clusters in the plotting layer's coverage of test families, as in 1.0.0's one-sample goodness-of-fit support and pairwise contingency analyses. The maintainer is also visibly deliberate about scope, having removed the normality-curve overlay in 0.12.4 for being unrelated to the analysis in question.

◆ Prediction

Expect continued parity work across the plot family — features that exist in one function being extended to its siblings, as goodness-of-fit support moved from ggpiestats to ggbarstats — punctuated by maintenance releases tracking ggplot2 and easystats.

T
TwoSampleMR
ANALYTICS
0.0

The flagship Mendelian randomization package is auditing its own estimators, one bootstrap at a time.

◆ Current state

TwoSampleMR is the MRC-IEU package for two-sample Mendelian randomization against OpenGWAS. Its 2026 releases are a sustained correctness review rather than feature work: 0.7.9 fixed bootstrap standard errors in mr_mode() and mr_rucker_bootstrap() that had been inflated since v0.6.30, and repaired two Rucker functions that were returning malformed objects. Point estimates were not affected by the bootstrap bug.

◆ Where it's heading

The pattern across these releases is a package being read line by line — a copy-paste weight vector in ldsc_rg(), chunking that produced zero splits for short SNP lists, penalisation recycled across the wrong SNPs, dead code paths removed, and regression tests added behind each fix. Alongside it runs a mechanical modernization pass: seq_len() for loop indices, tidyr in place of reshape2, current ggplot2 idioms, and the OpenGWAS URL migration. Feature work is limited to forest plot presentation.

◆ Prediction

Expect the audit to continue through the remaining bootstrap and jackknife routines, with releases staying in the 0.7.x patch range and each fix arriving with its own regression test.

Alternatives to ggstatsplot and TwoSampleMR

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 ggstatsplot or TwoSampleMR.

See all ggstatsplot alternatives → · See all TwoSampleMR alternatives →

Recent activity from ggstatsplot and TwoSampleMR

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

  1. 1mo agoTwoSampleMRBootstrap standard errors corrected in mode and Rucker estimators
  2. 2mo agoTwoSampleMRWrong weight vector and chunking fixes across the estimator set
  3. 2mo agoTwoSampleMRDeprecated ggplot2 idioms and dead code removed
  4. 3mo agoTwoSampleMROpenGWAS URLs migrated and Wald ratio warnings quieted
  5. 3mo agoggstatsplotPairwise contingency tests and one-sample goodness-of-fit
  6. 4mo agoggstatsplotInternal maintenance only
  7. 4mo agoTwoSampleMRCategorized forest plots aligned with the published figures
  8. 4mo agoTwoSampleMRFurther internal code optimizations
  9. 6mo agoggstatsplotAdapted to dplyr 1.2.0 and purrr 1.2.1
  10. 8mo agoggstatsplotContributor list updated in DESCRIPTION
  11. 10mo agoggstatsplotSecondary axis label parsing fixed in gghistostats
  12. 11mo agoggstatsplotAdapted to the latest ggplot2 release

Frequently asked questions

What is the difference between ggstatsplot and TwoSampleMR?

They serve adjacent needs but don't currently overlap on shipped themes. ggstatsplot and TwoSampleMR 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 ggstatsplot better than TwoSampleMR?

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

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

What are the best alternatives to TwoSampleMR?

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