A one-way repeated measures ANOVA compares three or more measurements taken from the same participants, for example anxiety scores at Week 1, Week 2, Week 3 and Week 4 of a programme. It extends the paired t test to more than two time points or conditions. Paste one row per participant to get SPSS-style output: descriptive statistics, Mauchly’s test of sphericity, the within-subjects effects table with Greenhouse-Geisser and Huynh-Feldt corrections, Bonferroni pairwise comparisons, partial eta squared and an APA 7 paragraph.
How to use this calculator
- Put each participant in one row and each condition or time point in its own column (Week 1, Week 2, Week 3…).
- Include condition names in the first row for clearer output.
- Paste the data and click Calculate. Rows with any missing value are excluded (listwise), as in SPSS.
- Check Mauchly’s test first, then report the matching row of the within-subjects table and the Bonferroni comparisons.
Formula
SS conditions = n Σ (Mⱼ − M)²; SS subjects = k Σ (Mᵢ − M)² SS error = SS total − SS conditions − SS subjects F = [SS conditions / (k − 1)] / [SS error / ((n − 1)(k − 1))] Greenhouse-Geisser ε = (tr A)² / ((k − 1) tr A²), A = covariance matrix of orthonormal contrasts Huynh-Feldt ε = [n(k − 1)ε_GG − 2] / [(k − 1)(n − 1 − (k − 1)ε_GG)] (max 1) Corrected df = ε(k − 1), ε(n − 1)(k − 1); partial η² = SS conditions / (SS conditions + SS error)
Step-by-step example
- Ten participants measured at four weeks (click Load example). Means: 44.3, 48.6, 53.4 and 58.1.
- Mauchly’s W = .422, χ²(5) = 6.66, p = .250, so sphericity is not violated (ε_GG = .750, ε_HF = 1.00).
- SS conditions = 1067.80, SS error = 50.70, so F(3, 27) = 189.55, p < .001.
- Partial η² = .95. All six Bonferroni-corrected pairwise comparisons are significant (largest p = .001).
How to interpret the results
Start with Mauchly’s test. If p ≥ .05, report the Sphericity Assumed row. If p < .05, sphericity is violated: report the Greenhouse-Geisser row when ε is below .75, and the Huynh-Feldt row when ε is .75 or above (Girden, 1992). A significant F means at least two time points differ; the Bonferroni table shows which. Partial η² of about .01, .06 and .14 is commonly read as small, medium and large (Cohen, 1988).
How to report it in APA 7 style
A one-way repeated measures ANOVA was conducted to compare scores across four weeks (N = 10). Mauchly’s test indicated that the assumption of sphericity was met, χ²(5) = 6.66, p = .250. There was a statistically significant effect of time, F(3, 27) = 189.55, p < .001, partial η² = .95. Bonferroni-corrected pairwise comparisons showed that scores increased significantly from each week to the next (all ps ≤ .001).
Statistical symbols (t, F, p, r, M, SD, N, d) should be italicised in your thesis.
Assumptions
- The dependent variable is continuous (interval or ratio).
- The same participants are measured in every condition (no missing values in the analysed rows).
- The data in each condition are approximately normally distributed (the ANOVA is fairly robust with n ≥ 20).
- Sphericity: the variances of the differences between all pairs of conditions are equal. Check with Mauchly’s test and correct with Greenhouse-Geisser or Huynh-Feldt if violated.
- No extreme outliers in any condition.
How to do it in SPSS, R or Excel
SPSS: Analyze → General Linear Model → Repeated Measures → define the factor and levels → Options → Compare main effects (Bonferroni) and Estimates of effect size. R: afex::aov_ez(id, dv, data, within = 'time') or rstatix::anova_test(). Python: pingouin.rm_anova(..., correction=True), pingouin.sphericity and pingouin.pairwise_tests(padjust='bonf'), which ScholarCalc’s results were validated against.
Roman Urdu mein khulasa
Repeated measures ANOVA tab use hota hai jab aik hi logon ko teen ya zyada martaba measure kiya jaye (jaise Week 1, 2, 3, 4). Excel mein har shakhs aik row aur har time point aik column mein rakhein. Pehle Mauchly’s test dekhein: p 0.05 se zyada ho to ‘Sphericity Assumed’ row report karein; kam ho to Greenhouse-Geisser (ε < .75) ya Huynh-Feldt (ε ≥ .75) row report karein. F significant ho to Bonferroni table batata hai ke kaun se time points mukhtalif hain.
Frequently asked questions
When should I use a repeated measures ANOVA?
Use it when the same participants are measured three or more times (or under three or more conditions) on a continuous outcome. For two measurements, use a paired t test.
What is sphericity?
Sphericity means the variances of the differences between every pair of conditions are equal. Mauchly’s test checks it; with only two conditions, sphericity is always met.
Greenhouse-Geisser or Huynh-Feldt: which should I report?
If Mauchly’s test is significant, a common rule (Girden, 1992) is to use Greenhouse-Geisser when ε < .75 and Huynh-Feldt when ε ≥ .75. The calculator shows all rows and picks one for the APA paragraph using this rule.
Which post hoc test does the calculator use?
Paired t tests between every pair of conditions with a Bonferroni correction (each p multiplied by the number of comparisons), the same as SPSS’s ‘Compare main effects’ with Bonferroni.
What if my data are not normal?
With small samples and clearly non-normal data, consider the Friedman test. For a single pair of time points, the Wilcoxon signed-rank test is the non-parametric option.
How do I report a repeated measures ANOVA in APA?
Report Mauchly’s test, then F with the (corrected, if needed) degrees of freedom, p and partial η², followed by the pairwise comparisons, for example: F(3, 27) = 189.55, p < .001, partial η² = .95.
Related calculators
- Paired Samples t Test Calculator
- One-Way ANOVA Calculator with Tukey HSD
- Wilcoxon Signed-Rank Test Calculator
- Not sure which test to use? Try the test chooser
Cite this calculator
If ScholarCalc helped your analysis, you can cite it in APA 7 format:
ScholarCalc. (2026). Repeated Measures ANOVA Calculator [Web application]. https://scholarcalc.com/repeated-measures-anova-calculator/
Written and maintained by the ScholarCalc team. Last reviewed: November 2026.
Accuracy: results are computed in your browser and were validated against Python scipy, statsmodels and pingouin on test datasets. See Methodology and accuracy.