I run StatMate, a set of 20 free browser-based statistics calculators (t-tests, ANOVA, chi-square, correlation, non-parametric tests). Instead of asking you to trust a marketing page, here are 5 of the calculators run directly from the actual source code, cross-checked against Python's scipy.stats (v1.13.1) with the same raw data — copy the code blocks below and run them yourself.
StatMate's calculators use jStat v1.9.6 + simple-statistics v7.8.8 (see package.json). I ran the real TypeScript functions from lib/statistics/ with npx tsx, then ran the identical arrays through scipy.stats.
1. Independent t-test (Welch, n1=15, n2=15)
g1 = [23,25,21,28,30,22,26,24,29,27,20,31,25,23,28]
g2 = [19,22,18,24,20,21,17,23,25,19,22,20,18,24,21]
StatMate (lib/statistics/t-test.ts): t(25.68) = 4.31, p < .001
scipy stats.ttest_ind(g1, g2, equal_var=False): t=4.3077, df=25.68, p=.000213
2. One-way ANOVA (3 groups, n=10 each)
StatMate (lib/statistics/anova.ts): F(2, 27) = 24.19, p < .001
scipy stats.f_oneway(*groups): F=24.1870, p=9.57e-7
3. Pearson correlation (n=30)
StatMate (lib/statistics/correlation.ts): r = .996, p < .001
scipy stats.pearsonr(x, y): r=.9964, p=1.57e-31
4. Chi-square test of independence (2x3 table)
table = [[15,10,5],[8,12,20]]
StatMate (lib/statistics/chi-square.ts): χ²(2) = 10.09, p = .0064
scipy stats.chi2_contingency(table): χ²=10.0896, p=.00644
5. Mann-Whitney U
StatMate (lib/statistics/mann-whitney.ts): U = 0, p < .001
scipy stats.mannwhitneyu(mw1, mw2): U=0.0, p=3.66e-5
All 5 matched to floating-point precision between two independent implementations (StatMate's own jStat/simple-statistics code and scipy). No R involved — I don't have R in this environment, so I'm not claiming an R comparison. If anyone wants to add an R cross-check, the raw arrays above are enough to reproduce it in t.test()/aov()/etc. — I'd genuinely like to see that comparison and will update if someone runs it.
Calculators used: https://statmate.org (free, no signup for calculations).
Top comments (0)