UK-based online statistics and data analysis support for USA, UK, and international clients. No exams, no impersonation, no fabricated data.
ANOVA Family

Repeated Measures ANOVA: Formula, Interpretation, SPSS, Python, R and Excel Guide

Within-Subject ANOVA, G1 G2 G3 Repeated Grades, Pairwise Changes and Effect Size Repeated Measures ANOVA: Formula, Interpretation, SPSS, Python, R and Excel Guide Repeated Measures ANOVA...

Statistics guide Ethical learning support SPSS/R/Python/Excel friendly
Repeated Measures ANOVA: Formula, Interpretation, SPSS, Python, R and Excel Guide

Within-Subject ANOVA, G1 G2 G3 Repeated Grades, Pairwise Changes and Effect Size

Repeated Measures ANOVA: Formula, Interpretation, SPSS, Python, R and Excel Guide

Repeated Measures ANOVA tests whether the same subjects have different mean scores across three or more repeated measurements. In this worked example, the repeated measures are G1, G2 and G3 grade scores for the same students. The mean profile rises from G1 to G2 and again from G2 to G3, the overall repeated-measures effect is statistically significant, and the strongest change is from G1 to G3.

Advertisement
Google AdSense top placement reserved here

Quick Answer: Repeated Measures ANOVA Result

The worked Repeated Measures ANOVA compares the same students across three repeated grade outcomes: G1, G2 and G3. The overall mean profile increases from about 11.40 at G1 to about 11.57 at G2 and about 11.91 at G3.

The overall repeated-measures p-value is 4.637e-16, which is far below alpha = .05. The Bonferroni-adjusted paired comparisons are also significant: G2 − G1 p = 0.01002, G3 − G1 p = 1.035e-11, and G3 − G2 p = 1.408e-10. The effect-size chart reports partial eta squared = 0.053, while eta squared and omega squared are both about 0.005.

MethodRepeated Measures ANOVA
Repeated factorGrade time
MeasuresG1, G2, G3
DesignWithin-subject

Mean G111.40
Mean G211.57
Mean G311.91
Overall p4.637e-16

G2 − G10.17
G3 − G10.51
G3 − G20.34
Partial η²0.053

Final interpretation: The repeated grade means are not equal. G3 is higher than G2, G2 is higher than G1, and the largest average improvement is from G1 to G3. The repeated-measures effect is statistically significant, but the effect-size chart shows a modest practical effect rather than a large one.

Important reporting point: Repeated Measures ANOVA is used because G1, G2 and G3 are measured on the same subjects. This is not the same as a regular one-way ANOVA, where the groups are independent.

Table of Contents

  1. What Is Repeated Measures ANOVA?
  2. Repeated Measures ANOVA Formula
  3. Repeated Measures ANOVA Hypotheses
  4. Dataset and Repeated Measures Variables Used
  5. SPSS Output Interpretation for Repeated Measures ANOVA
  6. Python Chart-by-Chart Interpretation
  7. R Chart-by-Chart Validation
  8. SPSS, R, Python and Excel Workflows
  9. Code Blocks for Repeated Measures ANOVA
  10. APA Reporting Wording
  11. Common Mistakes
  12. When to Use Repeated Measures ANOVA
  13. Downloads and Resources
  14. Related Guides
  15. FAQs

What Is Repeated Measures ANOVA?

Repeated Measures ANOVA is an ANOVA test for comparing three or more related means measured on the same subjects. It is used when each participant contributes a score at every repeated time point or condition.

In this example, each student has three grade measurements: G1, G2 and G3. Because these repeated scores belong to the same students, they are correlated. The correlation matrix confirms this: G1–G2 = 0.86, G1–G3 = 0.83 and G2–G3 = 0.92.

The test asks whether the average repeated-measure profile is flat or whether at least one repeated measurement has a different mean. Here, the mean profile is not flat. It rises from G1 to G2 and rises more strongly from G2 to G3.

Simple definition: Repeated Measures ANOVA compares related means from the same subjects. In this example, it tests whether the same students have equal average scores on G1, G2 and G3.

Repeated Measures ANOVA connects naturally with Mixed ANOVA, Mauchly’s Test of Sphericity, Greenhouse-Geisser Correction, Huynh-Feldt Correction, F Distribution, Eta Squared, Omega Squared, Cohen’s F Formula, and ANOVA Effect Size.

Repeated Measures ANOVA Formula

A repeated-measures model separates the outcome into a subject component, a repeated-measure component and residual error. The subject component is important because every subject is measured more than once.

Yij = μ + τj + si + eij

Here, Yij is the score for subject i at repeated measure j. The term μ is the grand mean, τj is the repeated-measure effect, si is the subject effect, and eij is residual error.

F Statistic Formula

F = MStime / MStime × subject error

The repeated-measures F statistic compares variation explained by repeated time or condition with the appropriate within-subject error term. Because the same subjects are measured repeatedly, the error term is not the same as an independent-groups ANOVA error term.

Effect Size Formula

partial η² = SStime / (SStime + SSerror)

The effect-size chart reports partial eta squared = 0.053. This means the repeated-measure factor explains a modest portion of the effect-plus-error variation. The same chart reports eta squared and omega squared near 0.005, which are more conservative practical-size summaries.

QuantityValueMeaningInterpretation
G1 mean11.40First repeated grade mean.Lowest mean point.
G2 mean11.57Second repeated grade mean.Slightly above G1.
G3 mean11.91Final repeated grade mean.Highest mean point.
Overall p-value4.637e-16Overall repeated-measures test.Reject equal repeated means.
Partial eta squared0.053Effect-size estimate.Modest within-subject effect.
Omega squared0.005Conservative effect-size estimate.Very small to small practical effect.

Repeated Measures ANOVA Hypotheses

The null hypothesis says that the repeated-measure means are equal. The alternative hypothesis says that at least one repeated mean is different.

HypothesisStatistical MeaningPlain Interpretation
Null hypothesisμG1 = μG2 = μG3The same students have equal mean scores across G1, G2 and G3.
Alternative hypothesisAt least one repeated mean differs.At least one grade time point has a different mean.
Decision ruleReject H0 when p < .05.The overall p-value is far below .05.

Decision for this example: Reject the equal repeated-means null hypothesis. The overall p-value is 4.637e-16, and the mean profile rises from G1 to G2 to G3.

Dataset and Repeated Measures Variables Used

The worked example uses student grade variables as repeated measurements. Each subject has scores for G1, G2 and G3. These repeated measures are not independent groups; they are repeated observations from the same subjects.

VariableRoleMean PatternInterpretation
G1Repeated measure 1Mean about 11.40First grade measurement and lowest mean.
G2Repeated measure 2Mean about 11.57Second grade measurement and slightly higher than G1.
G3Repeated measure 3Mean about 11.91Final grade measurement and highest mean.
Subject IDRepeated-measure identifierSame student across measurementsLinks G1, G2 and G3 within the same subject.

Pairwise Change Summary

ComparisonMean ChangeAdjusted p-valueInterpretation
G2 − G10.170.01002Small but statistically significant increase.
G3 − G10.511.035e-11Largest and strongest increase.
G3 − G20.341.408e-10Clear increase from second to final grade.

The repeated-measure correlation matrix shows strong tracking across grades. G2 and G3 have the strongest correlation at 0.92, followed by G1 and G2 at 0.86 and G1 and G3 at 0.83. This confirms that students’ scores are strongly related across the repeated grade sequence.

For supporting concepts, review Descriptive Statistics, Mean Median and Mode, Standard Deviation, Variance, Confidence Interval, P Value, and Null and Alternative Hypothesis.

Advertisement
Google AdSense middle placement reserved here

SPSS Output Interpretation for Repeated Measures ANOVA

The SPSS output PDF should be read in a structured order. Start with the within-subject factor definition, then the descriptive statistics, then Mauchly’s test of sphericity, then the tests of within-subject effects, pairwise comparisons, effect size and residual diagnostics.

SPSS Reading Order

SPSS Output AreaWhat to ReadWhy It Matters
Within-subject factorRepeated factor with three levels: G1, G2, G3.Confirms the repeated-measures design.
Descriptive statisticsMean scores for G1, G2 and G3.Shows the direction of the repeated-measure effect.
Mauchly’s testSphericity assumption test.Determines whether corrected results should be used.
Tests of within-subject effectsF statistic and p-value for the repeated factor.Tests whether the repeated means differ.
Pairwise comparisonsBonferroni-adjusted differences among G1, G2 and G3.Shows which repeated measures differ.
Effect sizePartial eta squared or related effect-size values.Shows the practical size of the repeated effect.
DiagnosticsResidual plots and Q-Q plot.Shows model-checking context.

SPSS Result Summary

Output ItemValueInterpretation
Overall repeated effectp = 4.637e-16G1, G2 and G3 means are not equal.
G2 − G1Mean change = 0.17, p = 0.01002Small but significant increase.
G3 − G1Mean change = 0.51, p = 1.035e-11Largest repeated-measure increase.
G3 − G2Mean change = 0.34, p = 1.408e-10Final grade is significantly higher than G2.
Partial eta squared0.053Modest within-subject effect size.
Correlations0.83 to 0.92Repeated grade scores track strongly within subjects.

The SPSS interpretation should emphasize the repeated nature of the data. Because the same subjects contribute G1, G2 and G3, the analysis controls for stable subject-to-subject differences. The significant result means the average within-subject grade profile changes across repeated measurements.

SPSS interpretation summary: The repeated-measures effect is statistically significant, p = 4.637e-16. G3 is significantly higher than G1 and G2, and G2 is significantly higher than G1. The partial eta squared value of 0.053 shows a modest repeated-measure effect.

Python Chart-by-Chart Interpretation

The Python chart sequence explains Repeated Measures ANOVA through mean profiles, individual subject profiles, repeated-measure distributions, pairwise changes, p-value decisions, effect sizes, repeated-measure correlations and residual diagnostics.

Python Chart 1: Repeated Measures Mean Profile

Repeated Measures ANOVA Python mean profile across G1 G2 and G3
Python chart showing repeated-measure means across G1, G2 and G3 with a 95% confidence band.

The mean profile chart shows a steady upward trend. The mean is about 11.40 at G1, about 11.57 at G2 and about 11.91 at G3.

The shaded confidence band shows uncertainty around the repeated-measure means. The line still moves upward across the sequence, which supports the conclusion that the repeated grade profile is not flat.

Python Chart 2: Individual Subject Profiles

Repeated Measures ANOVA Python individual subject profiles
Python chart showing thin individual subject profiles and the bold overall repeated-measure mean profile.

The individual profile chart shows that students do not all follow exactly the same path. Some lines rise, some stay close to flat, and a few show strong changes across repeated measures.

The bold overall line still rises from G1 to G3. This means the average repeated-measure trend is upward even though individual students vary around that pattern.

Python Chart 3: Distribution by Repeated Measure

Repeated Measures ANOVA Python distribution by repeated measure
Python boxplots showing medians, spread, mean markers and outliers for G1, G2 and G3.

The boxplots show that the distributions shift upward from G1 and G2 toward G3. G3 has the highest central position, while G1 and G2 are slightly lower.

Low outlying values are visible, especially around zero for some grade measures. These low values help explain why the residual Q-Q plot later shows lower-tail departure.

Python Chart 4: Pairwise Mean Changes

Repeated Measures ANOVA Python pairwise mean changes
Python chart showing average within-subject changes between repeated grade measures.

The pairwise change chart shows a mean increase of 0.17 from G1 to G2, 0.51 from G1 to G3 and 0.34 from G2 to G3.

The largest change is from G1 to G3, which makes sense because it spans the full repeated-measure sequence. The G2 to G3 change is also clear, while G1 to G2 is smaller but still positive.

Python Chart 5: p-value Decision Summary

Repeated Measures ANOVA Python p-value decision summary
Python chart showing the overall repeated effect p-value and Bonferroni-adjusted paired comparison p-values.

The p-value decision chart shows that the overall repeated effect has p = 4.637e-16. The paired comparisons are also below alpha = .05: G2 − G1 p = 0.01002, G3 − G1 p = 1.035e-11 and G3 − G2 p = 1.408e-10.

The result is not borderline. The repeated grade means differ overall, and every pairwise comparison is statistically significant after adjustment.

Python Chart 6: Effect Size Summary

Repeated Measures ANOVA Python effect size summary
Python chart showing eta squared, partial eta squared and omega squared for the repeated-measures effect.

The effect-size chart reports eta squared about 0.005, partial eta squared about 0.053 and omega squared about 0.005. Partial eta squared is the largest because it uses an effect-plus-error denominator.

The practical interpretation should be careful. The repeated-measures effect is statistically strong, but the effect sizes show that the average grade increase is modest rather than large.

Python Chart 7: Repeated Measure Correlation Matrix

Repeated Measures ANOVA Python repeated measure correlation matrix
Python correlation matrix showing relationships among G1, G2 and G3 repeated measures.

The correlation matrix shows strong positive relationships among the repeated grade variables. G1 and G2 correlate 0.86, G1 and G3 correlate 0.83, and G2 and G3 correlate 0.92.

The strongest relationship is between G2 and G3. This supports the repeated-measures design because the same students’ scores track strongly over time.

Python Chart 8: Residuals vs Fitted Values

Repeated Measures ANOVA Python residuals versus fitted values
Python residuals-versus-fitted chart for the repeated-measures model.

The residuals-versus-fitted chart shows vertical bands because the model predicts repeated-measure means. Most residuals are distributed around zero, but some negative residuals fall below -10.

This plot shows that the model captures the mean pattern, but some individual observations are much lower than their fitted repeated-measure mean. The final report should include this diagnostic caution.

Python Chart 9: Residual Q-Q Plot

Repeated Measures ANOVA Python residual Q-Q plot
Python Q-Q plot showing residual normality context for the repeated-measures model.

The residual Q-Q plot shows visible departure from the reference line, especially in the lower tail. The middle residuals follow the general direction more closely than the extreme lower residuals.

This means residual normality is approximate rather than perfect. The repeated-measures result is statistically clear, but the diagnostics should be described honestly.

R Chart-by-Chart Validation

The R validation charts repeat the same workflow in a second software environment. They confirm the repeated-measure mean profile, individual subject variation, distribution pattern, pairwise changes, p-value decision, effect-size summary, correlation matrix and residual diagnostics.

R Chart 1: Repeated Measures Mean Profile

Repeated Measures ANOVA R mean profile across G1 G2 and G3
R validation chart showing repeated-measure means across G1, G2 and G3.

The R mean profile confirms the Python result. The average grade profile increases from G1 to G2 and reaches its highest point at G3.

This software-to-software agreement strengthens the conclusion that the repeated-measure effect is a real feature of the data.

R Chart 2: Individual Subject Profiles

Repeated Measures ANOVA R individual subject profiles
R validation chart showing individual repeated-score paths and the overall mean trend.

The R individual profile chart confirms that student-level paths vary. The overall average trend still moves upward, even though individual students follow different patterns.

This chart is important because repeated-measures data always contain both average change and individual change variation.

R Chart 3: Distribution by Repeated Measure

Repeated Measures ANOVA R distribution by repeated measure
R validation boxplots showing distributions of G1, G2 and G3.

The R distribution chart confirms that G3 is centered higher than G1 and G2. The visible low values also match the Python distribution chart.

The distribution pattern supports the repeated-measures result and explains why residual diagnostics show lower-tail behavior.

R Chart 4: Pairwise Mean Changes

Repeated Measures ANOVA R pairwise mean changes
R validation chart showing average within-subject changes among G1, G2 and G3.

The R pairwise change chart confirms the same mean differences: G2 − G1 is about 0.17, G3 − G1 is about 0.51 and G3 − G2 is about 0.34.

The largest repeated-measure change is again G3 minus G1, confirming the practical direction of the result.

R Chart 5: p-value Decision Summary

Repeated Measures ANOVA R p-value decision summary
R validation chart showing the overall repeated effect p-value and paired comparison p-values.

The R p-value chart confirms that the overall repeated effect and all pairwise repeated comparisons are statistically significant at alpha = .05.

This validates the formal decision across workflows. The repeated means differ overall, and the post-analysis pairwise comparisons explain where the differences occur.

R Chart 6: Effect Size Summary

Repeated Measures ANOVA R effect size summary
R validation chart showing eta squared, partial eta squared and omega squared for the repeated-measures effect.

The R effect-size chart confirms that partial eta squared is about 0.053, while eta squared and omega squared are about 0.005.

This repeated validation supports a careful wording: the result is statistically significant, but the practical effect size is modest.

R Chart 7: Repeated Measure Correlation Matrix

Repeated Measures ANOVA R repeated measure correlation matrix
R validation heatmap showing correlations among G1, G2 and G3.

The R correlation matrix confirms strong repeated-measure correlations. G2 and G3 have the strongest relationship, while G1 is also strongly related to both later grade measures.

This confirms that G1, G2 and G3 are related repeated measurements from the same subjects, which supports using repeated-measures ANOVA instead of independent-groups ANOVA.

R Chart 8: Residuals vs Fitted Values

Repeated Measures ANOVA R residuals versus fitted values
R validation residuals-versus-fitted chart for repeated-measures ANOVA.

The R residuals-versus-fitted chart confirms the same diagnostic pattern as Python. Most residuals are centered around zero, but there are lower negative residuals.

This diagnostic supports transparent reporting. The model shows a clear repeated-measure effect, but residual behavior is not perfectly ideal.

R Chart 9: Residual Q-Q Plot

Repeated Measures ANOVA R residual Q-Q plot
R validation Q-Q plot for repeated-measures ANOVA residuals.

The R Q-Q plot confirms the lower-tail departure visible in Python. The central residuals are closer to the reference direction than the extreme lower residuals.

The final diagnostic message is consistent across software: the repeated-measures result is strong, but residual normality should be described as approximate.

Advertisement
Google AdSense in-content placement reserved here

SPSS, R, Python and Excel Workflows for Repeated Measures ANOVA

The same Repeated Measures ANOVA workflow can be reproduced in SPSS, R, Python and Excel. SPSS uses the GLM Repeated Measures menu. R can use repeated-measures ANOVA functions or long-format models. Python can use long-format repeated-measures tools. Excel can calculate supporting summaries and paired changes, but SPSS, R or Python is better for the formal repeated-measures test.

SPSS Workflow

StepSPSS Menu or SyntaxPurpose
Open datasetFile > Open > DataLoad G1, G2 and G3.
Run repeated measuresAnalyze > General Linear Model > Repeated MeasuresDefine the within-subject factor.
Name factorTime or GradeRepresent G1, G2 and G3 as repeated levels.
Number of levels3Use three repeated measurements.
Assign variablesG1, G2, G3Connect observed columns to repeated levels.
Request optionsDescriptives, effect size, pairwise comparisonsGet means, p-values and partial eta squared.
Check sphericityMauchly’s test and correctionsDecide whether corrected p-values are needed.
Export outputOUTPUT EXPORTSave SPSS PDF output.

R Workflow

StepR ActionPurpose
Read dataread.csv("dataset.csv")Load repeated grade variables.
Add subject IDrow_number()Create subject identifier.
Convert to long formatpivot_longer(G1:G3)Make one score column and one time column.
Run RM ANOVAaov(score ~ time + Error(id/time))Test repeated-measure effect.
Pairwise testspairwise.t.test(..., paired = TRUE)Compare G1, G2 and G3.
DiagnosticsResidual plots and Q-Q plotCheck model assumptions.

Python Workflow

StepPython ActionPurpose
Read datapandas.read_csv()Load G1, G2 and G3.
Create subject IDdf.index or row numberIdentify repeated observations.
Reshape longpd.melt()Convert wide repeated columns into long format.
Run RM ANOVAAnovaRM()Test within-subject time effect.
Pairwise testsPaired t tests with Bonferroni adjustmentCompare repeated pairs.
ChartsMean profile, individual profiles and diagnosticsBuild visual interpretation.

Excel Workflow

Excel TaskFormula or ToolPurpose
Prepare dataColumns for G1, G2 and G3Keep repeated measures on the same row.
Calculate means=AVERAGE()Get G1, G2 and G3 mean scores.
Calculate paired changes=G2-G1, =G3-G1, =G3-G2Summarize within-subject differences.
Run paired tests=T.TEST(range1,range2,2,1)Pairwise follow-up comparisons.
Create chartsLine chart, boxplots and correlation matrixVisualize repeated-measure patterns.
Formal RM ANOVAUse SPSS, R or PythonExcel is limited for full repeated-measures ANOVA.

Code Blocks for Repeated Measures ANOVA

SPSS Syntax for Repeated Measures ANOVA

* Repeated Measures ANOVA in SPSS.
* Repeated measures: G1, G2, G3.

TITLE "Repeated Measures ANOVA: G1, G2 and G3".

GLM G1 G2 G3
  /WSFACTOR=GradeTime 3 Polynomial
  /METHOD=SSTYPE(3)
  /PRINT=DESCRIPTIVE ETASQ
  /EMMEANS=TABLES(GradeTime) COMPARE ADJ(BONFERRONI)
  /PLOT=PROFILE(GradeTime)
  /CRITERIA=ALPHA(.05)
  /WSDESIGN=GradeTime.

OUTPUT EXPORT
  /CONTENTS EXPORT=VISIBLE
  /PDF DOCUMENTFILE="repeated_measures_anova_output.pdf".

Python Code for Repeated Measures ANOVA

import pandas as pd
from statsmodels.stats.anova import AnovaRM
from scipy import stats
from itertools import combinations

df = pd.read_csv("dataset.csv")

for col in ["G1", "G2", "G3"]:
    df[col] = pd.to_numeric(df[col], errors="coerce")

wide = df[["G1", "G2", "G3"]].dropna().copy()
wide["subject_id"] = range(1, len(wide) + 1)

long = wide.melt(
    id_vars="subject_id",
    value_vars=["G1", "G2", "G3"],
    var_name="time",
    value_name="score"
)

# Repeated Measures ANOVA
rm_model = AnovaRM(
    data=long,
    depvar="score",
    subject="subject_id",
    within=["time"]
).fit()

print(rm_model)

# Means
means = long.groupby("time")["score"].mean()
print(means)

# Pairwise paired t tests with Bonferroni adjustment
pairs = list(combinations(["G1", "G2", "G3"], 2))
m = len(pairs)

for a, b in pairs:
    t_stat, p_value = stats.ttest_rel(wide[b], wide[a])
    p_adj = min(p_value * m, 1.0)
    mean_change = (wide[b] - wide[a]).mean()
    print(f"{b} - {a}: mean change = {mean_change:.3f}, Bonferroni p = {p_adj:.6g}")

# Correlation matrix
print(wide[["G1", "G2", "G3"]].corr())

# Residuals around repeated-measure means
long["fitted"] = long.groupby("time")["score"].transform("mean")
long["residual"] = long["score"] - long["fitted"]
print(long.head())

R Code for Repeated Measures ANOVA

# Repeated Measures ANOVA in R

library(tidyverse)

df <- read.csv("dataset.csv")

df$G1 <- as.numeric(df$G1)
df$G2 <- as.numeric(df$G2)
df$G3 <- as.numeric(df$G3)

wide <- df %>%
  select(G1, G2, G3) %>%
  drop_na() %>%
  mutate(subject_id = row_number())

long <- wide %>%
  pivot_longer(
    cols = c(G1, G2, G3),
    names_to = "time",
    values_to = "score"
  )

# Repeated Measures ANOVA
model <- aov(score ~ time + Error(subject_id/time), data = long)
summary(model)

# Repeated-measure means
long %>%
  group_by(time) %>%
  summarise(
    n = n(),
    mean = mean(score),
    sd = sd(score),
    .groups = "drop"
  )

# Bonferroni-adjusted pairwise paired t tests
pairwise.t.test(
  x = long$score,
  g = long$time,
  paired = TRUE,
  p.adjust.method = "bonferroni"
)

# Correlation matrix
cor(wide[, c("G1", "G2", "G3")])

# Residual diagnostics
long <- long %>%
  group_by(time) %>%
  mutate(
    fitted = mean(score),
    residual = score - fitted
  ) %>%
  ungroup()

qqnorm(long$residual)
qqline(long$residual)

Excel Formulas for Repeated Measures ANOVA Support

Step 1:
Keep repeated measures on the same row:
Subject ID | G1 | G2 | G3

Step 2:
Calculate repeated-measure means:
G1 mean = AVERAGE(G1_range)
G2 mean = AVERAGE(G2_range)
G3 mean = AVERAGE(G3_range)

Step 3:
Calculate pairwise changes:
G2 - G1 = G2_cell - G1_cell
G3 - G1 = G3_cell - G1_cell
G3 - G2 = G3_cell - G2_cell

Step 4:
Calculate average changes:
=AVERAGE(change_range)

Step 5:
Run paired t tests:
=T.TEST(G2_range, G1_range, 2, 1)
=T.TEST(G3_range, G1_range, 2, 1)
=T.TEST(G3_range, G2_range, 2, 1)

Step 6:
Apply Bonferroni adjustment:
Adjusted p = raw p * number_of_pairwise_tests

Step 7:
Create mean profile:
Insert line chart using G1, G2 and G3 means.

Step 8:
Formal Repeated Measures ANOVA:
Use SPSS, R or Python for the full within-subject ANOVA table, sphericity tests and corrected p-values.

APA Reporting Wording

When reporting Repeated Measures ANOVA, include the repeated factor, repeated measures, overall test result, effect size, pairwise comparison results and assumption note. If sphericity is violated, report the corrected Greenhouse-Geisser or Huynh-Feldt result from SPSS or R.

APA-style report: A repeated measures ANOVA was conducted to compare student scores across G1, G2 and G3. The repeated-measures effect was statistically significant, p = 4.637e-16, partial η² = 0.053. Mean scores increased from G1 (M ≈ 11.40) to G2 (M ≈ 11.57) and G3 (M ≈ 11.91). Bonferroni-adjusted paired comparisons showed significant differences for G2 − G1, p = 0.01002; G3 − G1, p = 1.035e-11; and G3 − G2, p = 1.408e-10. Residual diagnostics showed lower-tail departure, so the result was interpreted with diagnostic caution.

Short reporting version: Repeated grade means differed significantly across G1, G2 and G3, p < .001, partial η² = 0.053. Mean scores increased from 11.40 to 11.57 to 11.91, and all Bonferroni-adjusted pairwise comparisons were significant.

Common Mistakes

MistakeWhy It Is WrongCorrect Practice
Using one-way ANOVA for repeated dataG1, G2 and G3 are measured on the same students, so observations are related.Use repeated measures ANOVA or a within-subject model.
Ignoring sphericitySphericity affects the repeated-measures F test.Check Mauchly’s Test of Sphericity and corrected results.
Reporting only the overall p-valueThe overall test does not show which repeated measures differ.Report Bonferroni-adjusted pairwise comparisons.
Overstating the effect sizePartial eta squared is 0.053, while eta and omega squared are about 0.005.Describe the effect as statistically strong but practically modest.
Ignoring residual diagnosticsThe residual Q-Q plot shows lower-tail departure.Discuss diagnostics and review Q-Q Plot Normality Check.
Confusing repeated measures with mixed ANOVARepeated measures ANOVA has one within-subject factor only.Use Mixed ANOVA when there is also a between-subject factor.

When to Use Repeated Measures ANOVA

Use Repeated Measures ANOVA when the same subjects are measured three or more times or under three or more related conditions. It is commonly used for time points, pre-mid-post testing, repeated clinical measurements, repeated exam scores, repeated lab measures and matched condition designs.

SituationUse Repeated Measures ANOVA?Reporting Note
Same subjects measured at G1, G2 and G3YesUse a within-subject repeated-measures model.
Three independent groupsNoUse One Way ANOVA.
Within-subject factor plus between-subject factorUse mixed ANOVASee Mixed ANOVA.
Need to control covariatesUse repeated-measures ANCOVA or mixed modelReview One Way ANCOVA.
Sphericity is violatedStill possible with correctionUse Greenhouse-Geisser Correction or Huynh-Feldt Correction.

Repeated Measures ANOVA should be compared with One Way ANOVA, Mixed ANOVA, Mixed MANOVA, Fixed Effects ANOVA, Factorial ANOVA, ANOVA Assumptions, ANOVA Effect Size, F Distribution, and Cohen’s F Formula.

Downloads and Resources for Repeated Measures ANOVA

Use these resources to reproduce the Repeated Measures ANOVA workflow. The R report and SPSS output PDF are included as verification files. Script and workbook placeholders can be replaced after the final downloadable files are uploaded to the WordPress Media Library.

FAQs About Repeated Measures ANOVA

What is Repeated Measures ANOVA?

Repeated Measures ANOVA is a within-subject ANOVA used to compare three or more related means measured on the same subjects.

What repeated measures were used in this example?

The repeated measures were G1, G2 and G3 grade scores for the same students.

What was the overall repeated-measures result?

The overall repeated-measures p-value was 4.637e-16, so the repeated grade means were significantly different.

What were the repeated-measure means?

The means were approximately 11.40 for G1, 11.57 for G2 and 11.91 for G3.

Which pairwise change was largest?

The largest average change was G3 − G1, with a mean increase of about 0.51.

Were all pairwise comparisons significant?

Yes. G2 − G1, G3 − G1 and G3 − G2 all had adjusted p-values below .05.

What was the partial eta squared?

The partial eta squared value was 0.053.

Why is sphericity important?

Sphericity is an assumption about equality of difference-score variances. When it is violated, Greenhouse-Geisser or Huynh-Feldt corrected results should be reported.

Can Repeated Measures ANOVA be done in Excel?

Excel can calculate means, pairwise changes and paired t tests, but SPSS, R or Python is better for the full repeated-measures ANOVA table and sphericity corrections.

How do I report this Repeated Measures ANOVA in APA style?

A concise report is: Repeated grade means differed significantly across G1, G2 and G3, p < .001, partial η² = 0.053. Mean scores increased from 11.40 to 11.57 to 11.91.

Need help applying this to your own data?

Salar Cafe can help interpret output, clean datasets, review assumptions, build dashboards and explain statistical results ethically.

Need help interpreting your data analysis results?

Contact Salar Cafe
Engr. Muhammad Yar Saqib author profile photo

Engr. Muhammad Yar Saqib

WhatsApp Get Data Analysis Help