Repeated Measures ANOVA
Repeated Measures ANOVA compares means of three or more measurements taken on the same subjects — for example, measuring patient weight at baseline, 3 months, 6 months, and 12 months on the same individuals.
Step 1 — Provide your measurements
The Data Input panel uses a different shape than independent ANOVA — instead of independent groups, you define time points / measures (one column per measurement occasion):
- Add Measure to add another time point
- Remove Measure to drop one
- Update the name and values of each measure
Step 2 — Load your data
Three options:
Manual entry for each measure
Sample data — pick from four built-in clinical scenarios:
- Blood Pressure Monitoring (Systolic BP, Diastolic BP)
- Cognitive Training (4 Sessions) (Memory Score, Reaction Time)
- Pain Management (3 Visits) (VAS Pain, ROM Degrees)
- Glycemic Control (5 Visits)
The Sample Data Generator can also download the chosen scenario as an Excel file.
Excel upload with full handling of complex layouts:
- Format selection — choose between stacked vs. separate data layout
- Column selection — for each detected column, decide whether to include it
- Missing data handling — the module reports rows excluded due to missing values
Step 3 — Calculate
Click Calculate Repeated Measures ANOVA.
Step 4 — Read the results
The Repeated Measures ANOVA Results panel shows:
- F-value, p-value, and Eta-squared (η²) with effect-size interpretation
- Mauchly's Test of Sphericity — shows W statistic, chi-square statistic, and sphericity p-value
- Sphericity corrections — Greenhouse-Geisser (GG ε) and Huynh-Feldt (HF ε) epsilons. Shown only when sphericity is violated (Mauchly's test p < 0.05).
- ANOVA Summary Table — Source / SS / df / MS rows for Between Measures, Error, and Total
Step 5 — Visualisations
A RepeatedAnovaCharts panel provides a line/profile plot showing how the mean of each measure changes across time points and a comparison of the measures' distributions.
Step 6 — Discuss with the chatbot
A UniversalChatBot is available below.
Statistical methods used
Test statistic
| Component | Formula |
|---|---|
| Grand mean | x̄ = (Σ x̄ⱼ) / k (k = number of measures) |
| SS_between | n × Σⱼ (x̄ⱼ − x̄)² |
| SS_subjects | k × Σᵢ (x̄ᵢ· − x̄)² |
| SS_total | Σⱼ Σᵢ (xⱼᵢ − x̄)² |
| SS_error | SS_total − SS_between − SS_subjects |
| df_between | k − 1 |
| df_error | (k − 1) × (n − 1) |
| F-statistic | MS_between / MS_error |
Hypothesis statement
- H₀: μ₁ = μ₂ = ... = μₖ (all measure means are equal)
- H₁: At least one μⱼ differs
- Significance level: α = 0.05
Effect size — Eta-squared (η²)
Computed as η² = SS_between / (SS_between + SS_error). Same Cohen convention:
| η² value | Label |
|---|---|
< 0.06 |
Small effect |
0.06 – 0.14 |
Medium effect |
≥ 0.14 |
Large effect |
Sphericity — Mauchly's Test
| Element | Method |
|---|---|
| Mauchly's W | W = det(C) / (trace(C)/p)ᵖ where C is the covariance matrix of pairwise differences |
| Chi-square | χ² = −(n − 1 − (2k+5)/6) × ln(W) |
| p-value | From the chi-square distribution |
If sphericity is violated (p < 0.05), corrections are shown:
| Correction | When to use |
|---|---|
| Greenhouse-Geisser (GG ε) | Preferred when ε < 0.75 (severe violation) |
| Huynh-Feldt (HF ε) | Preferred when ε ≥ 0.75 (mild violation) |
Excel data layouts supported
| Layout | Structure |
|---|---|
| Stacked (long) | One row per observation with subject, time point, and value columns |
| Separate (wide) | One row per subject with each measure in its own column |
Error handling
| Condition | Error message |
|---|---|
| Fewer than 2 measures | "At least two measures are required" |
| Unequal subjects per measure | "All measures must have the same number of subjects" |
| Fewer than 3 subjects | "At least 3 subjects are required" |