StatsToTable

The statistical choices behind the numbers

A statistics tool makes dozens of small decisions before you see a result: which normality test, which variance correction, when to abandon a parametric method. Those decisions are usually invisible. Here they are, with the reasoning.

Normality: D'Agostino–Pearson, not Shapiro–Wilk

What we use. The D'Agostino–Pearson K² omnibus test, which combines a transformation of skewness and of kurtosis into a single statistic evaluated against a chi-square distribution. It requires at least eight observations.

Why. Shapiro–Wilk is the more familiar choice and generally has better power. It is also a much more intricate algorithm, and we could not validate an implementation of it against a trustworthy reference in this environment. Rather than ship a check we could not verify, we shipped one we could.

What this means for you. On a borderline dataset the two tests can disagree. If a reviewer expects Shapiro–Wilk specifically, report the D'Agostino–Pearson p value and say so — both are standard, and the number is what matters. This is the single largest deliberate difference from SPSS output.

Equal variance: Levene on medians, not means

What we use. Levene's test computed on absolute deviations from each group's median rather than its mean — the Brown–Forsythe variant.

Why. The mean-based version is itself sensitive to skew. If one group is skewed, its mean is pulled toward the tail, which inflates the apparent spread and makes the variance test fire for the wrong reason. The median is robust to that, so the test measures spread rather than skew.

Unequal variances: Welch, not a rank test

What we do. When Levene rejects, we run the Welch correction and keep the analysis on means. We do not automatically jump to a Mann–Whitney test.

Why. Unequal variance and non-normality are different problems with different remedies. Switching to a rank test throws away the mean comparison — and often the research question is specifically about means. Welch solves the variance problem without changing what is being estimated.

Non-normality is the case where we do switch: if the data within groups departs clearly from normal, the recommendation moves to Mann–Whitney or Kruskal–Wallis, and the result page says why.

Chi-square: Fisher takes over when cells are thin

What we do. If any expected cell count in a 2×2 table falls below five, Fisher's exact test replaces Pearson's chi-square automatically.

Why. The chi-square statistic is compared against a distribution that assumes adequate expected counts. Below five, that approximation degrades and the p value becomes too small — the test reports significance it has not earned. Fisher computes the exact probability instead.

The same check is reported on every chi-square result, so you can see how close to the boundary the table was.

Repeated measures: sphericity is tested, not assumed

What we do. Mauchly's test of sphericity runs before the F test. When it rejects, the degrees of freedom are multiplied by the Greenhouse–Geisser epsilon and the p value is recomputed.

Why. The repeated-measures F test assumes that the variances of the differences between every pair of conditions are equal. When that fails, the uncorrected test is too liberal. The correction is not optional bookkeeping — it changes the conclusion.

The result page always shows Mauchly's W, its p value, and the epsilon, so a corrected result is never presented as if it were uncorrected.

Effect sizes are not optional

Every result reports one: Cohen's d or dz, η², ε², Cramér's V, or the rank-biserial r, depending on the family. A p value answers whether an effect is detectable at this sample size; it says nothing about how large it is. Journals increasingly require the effect size, and reporting one costs nothing.

Missing data: complete cases, counted

Analyses use complete cases only. Every table note states the number actually analysed, so the effective sample size is never hidden. There is no multiple imputation — that is a deliberate omission, not an oversight.

What is deliberately absent

A tool is defined as much by what it refuses to do. Out of scope: complex survey weights, multilevel and structural equation models, multinomial regression, repeated measures across more than two conditions in the paired t path, and any form of automatic interpretation of results. StatsToTable produces statistical statements, not conclusions.

Post-hoc comparisons

Not included. When an omnibus ANOVA is significant, the honest next step is a planned or corrected pairwise comparison — and doing that badly is worse than not doing it. The result page reports the omnibus test and stops.

How we know the numbers are right · Compared with SPSS · Which test should I use? · Open the app