Repeated measures ANOVA

Repeated measures ANOVA from a wide spreadsheet

Repeated measures data have one row per subject and one column per time point or condition. That structure is what makes sphericity matter, and it is also why these data are easy to analyse incorrectly. Magic Stat takes the wide spreadsheet directly and reports the corrections that the design requires.

The honest part

Repeated measures ANOVA, and what sphericity actually means

A repeated measures ANOVA (RM-ANOVA) compares the means of three or more measurements taken on the same subjects — the same participants across time points, doses or conditions. Because the observations within a subject are correlated, the error term is the subject-by-condition interaction rather than the pooled within-group variance of a between-subjects ANOVA. Treating repeated measures as independent groups is one of the most common mistakes in this area.

The extra assumption is sphericity: that the variances of the differences between every pair of conditions are equal. When it is violated, the F and its p-value are too optimistic. Greenhouse-Geisser and Huynh-Feldt correct the degrees of freedom to compensate, and Mauchly's test is the formal check. Magic Stat reports the correction alongside the uncorrected result so you can see whether the conclusion changes.

When the response is not normal, the rank-based counterpart is the Friedman test, with pairwise Wilcoxon signed-rank comparisons and a multiple-testing correction. When there is also a between-subjects factor — treatment groups each measured over time — the design is a mixed (split-plot) ANOVA, with a between-subjects term, a within-subjects term and their interaction.

What it does

What Magic Stat gives you for repeated measures

How it works

Wide data to a within-subjects result

  1. Arrange the data wide. one row per subject, one numeric column per time point or condition. Rows with a missing value in any selected column are excluded (complete-case analysis).
  2. Open the ANOVA dialog. Statistics → Means Comparison Tests, then the "Factorial & Repeated Measures ANOVA" button, and the Repeated Measures tab.
  3. Select the columns. the two conditions for a paired comparison, or three or more for RM-ANOVA.
  4. Set the corrections. the post-hoc correction (Bonferroni, Holm or FDR) and the sphericity correction (None, Greenhouse-Geisser or Huynh-Feldt).
  5. Read and export. the main test, the Mauchly and sphericity lines, the pairwise comparisons — then export to .docx/.html/.md.
Options

The settings, in the dialog

Two columns: paired t-test + Wilcoxon signed-rank (+ Cohen's dz).

Three or more: RM-ANOVA + Friedman + pairwise Wilcoxon signed-rank post-hoc.

Post-hoc correction: Bonferroni · Holm · FDR (Benjamini-Hochberg).

Sphericity correction: None · Greenhouse-Geisser · Huynh-Feldt.

Mixed design: one between-subjects factor × one within-subjects factor, with the interaction and partial eta-squared.

Frequently asked

Repeated measures questions, answered honestly

Wide or long format?

This dialog takes the wide format: each row is one subject, each column is one condition. That is the format of the data as it usually arrives from a spreadsheet, and it is what the within-subject error term needs. Rows with a missing value in any selected column are dropped, so if your data are incomplete by design, a mixed model is the more honest tool.

Do I need to correct for sphericity?

If Mauchly's test suggests the assumption is violated, yes — report the Greenhouse-Geisser corrected result (and Huynh-Feldt as a check). The app reports the uncorrected and corrected versions together so you can say in the methods which one you used and why.

I only have two time points.

Then the app runs a paired t-test and the matched Wilcoxon signed-rank. RM-ANOVA with two conditions reduces to the paired comparison, so there is no reason to force the larger model.

There is also a group factor.

Use the mixed-design tab: one between-subjects factor and one within-subjects factor, with the between, within and interaction effects, partial eta-squared and the sphericity corrections applied to the within-subjects effects.

Is my data uploaded somewhere?

No. It runs on your machine. The only automatic signal is an anonymous installation counter, with no data in it.

ANOVA → Mixed models → Non-parametric tests → Power analysis →