Two-Way RM-ANOVA (2 within factors)

Verified

Repeat / Within

Independently verified. Every statistic this test reports has been re-derived against an independent reference — never the library the pipeline itself calls — the rendered output was read back in a browser, and the result is locked with a committed regression suite.

Run this test straight away on a free built-in teaching dataset — no data of your own needed — or bring your own. Either opens the guided workspace: variable setup, assumption diagnostics, results with effect sizes and confidence intervals, figures, and APA-ready reporting.

Loading teaching datasets…

Or use your own dataset

Loading your datasets…

Factorial within-subjects ANOVA where the SAME subjects are measured at every level of TWO crossed within-subjects factors.

Tests three F-tests (Factor A main effect, Factor B main effect, A×B interaction), each with a subjects-within-cells error term. Auto-applies Greenhouse-Geisser / Huynh-Feldt sphericity corrections when Mauchly's test rejects on any within-factor with ≥3 levels.

Worked example

Two within-subject factors — do they interact?

A two-way repeated-measures ANOVA tests two within-subject factors and their interaction on the same participants.

Result

A significant A × B within-subject interaction, F(2, 46) = 6.2, p = .004, was found (sphericity held).

How you'd report it (APA)

A two-way repeated-measures ANOVA showed a significant A × B interaction, F(2, 46) = 6.2, p = .004.

When to use it

  • Condition × Time (fully within-subjects)
    30 athletes complete EVERY combination of (Drink: Water / Sports drink / Caffeine) × (Time: 0min / 30min / 60min post-ingestion) on separate counter-balanced sessions.
  • Stimulus type × Difficulty (cognitive / perceptual experiments)
    24 subjects perform a visual-search task across every combination of (Stimulus: face / object / word) × (Difficulty: easy / medium / hard).

When NOT to — use instead

Hypotheses

Three null hypotheses: (1) H₀_A: no main effect of within-factor 1 (μ_{A.} equal across levels); (2) H₀_B: no main effect of within-factor 2; (3) H₀_AB: no interaction (the effect of factor1 is the same at every level of factor2).
Hₐ_A, Hₐ_B, Hₐ_AB: at least one component of each null is non-zero in the population.

Parameter tested: set of cell means {μ_{ij}} and their marginal / interaction decomposition

Assumptions (and what to do if they fail)

No significant outliers in any of the factor1 × factor2 cellsmedium

Check: Inspect per-cell boxplots; flag points beyond the whiskers.

If violated: Outliers in a cell can inflate within-cell variance and distort the F-tests.

Residuals (deviations from cell means) are approximately normally distributedmedium

Check: Shapiro-Wilk on residuals.

If violated: Severely non-normal residuals threaten the F-test's Type I error rate.

Sphericity — the variances of differences between levels are equal, checked separately for each within-subjects effectmedium

Check: Mauchly's test per effect; non-significant → sphericity met for that effect.

If violated: When sphericity is violated for an effect, the corresponding F-test's Type I error rate is inflated.

Ready to run a Two-Way RM-ANOVA (2 within factors) on your own data?

Guided setup, automatic assumption checks, effect sizes, figures and an APA write-up.

Run this test →