“`html id=”split-plot-anova-final-salar-cafe-pattern”
Mixed Repeated-Measures Design, Time Effect, Studytime Effect and Interaction Test
Split Plot ANOVA: Formula, Interpretation, SPSS, Python, R and Excel Guide
Split Plot ANOVA, also called mixed repeated-measures ANOVA, is used when one factor is measured repeatedly within the same subjects and another factor separates independent groups. In this worked example, G1, G2 and G3 are repeated grade measures across Time, while studytime is the between-subject factor. The result shows a significant studytime effect, a significant Time effect and a non-significant studytime × Time interaction.
Google AdSense top placement reserved here
Quick Answer: Split Plot ANOVA Result
The worked Split Plot ANOVA answers three questions at the same time. First, do studytime groups differ in overall grade level? Second, do repeated grade means change across G1, G2 and G3? Third, does the repeated grade-change pattern depend on studytime group?
The Python summary table reports a significant studytime effect, F = 16.98, p = 1.264e-10, partial η² = 0.07319. It also reports a significant Time effect, F = 36.41, p = 4.441e-16, partial η² = 0.05343. The studytime × Time interaction is not significant, F = 1.731, p = 0.1103, partial η² = 0.007986.
Final interpretation: Students with higher studytime generally have higher grade scores, and the average grade profile changes across G1, G2 and G3. However, the studytime × Time interaction is not significant, so the evidence does not show that the repeated grade-change pattern differs strongly across studytime groups.
Important reporting point: Split Plot ANOVA has different error terms for between-subject and within-subject effects. The between-subject studytime effect is tested against subject-level variation, while Time and studytime × Time are tested against repeated-measure error.
Table of Contents
- What Is Split Plot ANOVA?
- Split Plot ANOVA Formula
- Split Plot ANOVA Hypotheses
- Dataset and Variables Used
- SPSS Output Interpretation
- Python Chart-by-Chart Interpretation
- R Chart-by-Chart Validation
- SPSS, R, Python and Excel Workflows
- Code Blocks for Split Plot ANOVA
- APA Reporting Wording
- Common Mistakes
- When to Use Split Plot ANOVA
- Downloads and Resources
- Related Guides
- FAQs
What Is Split Plot ANOVA?
Split Plot ANOVA is a mixed ANOVA design that contains one repeated-measures part and one independent-groups part. In practical software language, it is often treated as a mixed repeated-measures ANOVA. The word “split plot” comes from experimental design, but the same logic is widely used in education, psychology, medicine, agriculture and repeated testing.
In this example, every student has three repeated outcomes: G1, G2 and G3. These are the within-subject Time levels. Students are also placed into independent studytime groups. This makes the design different from a simple One Way ANOVA, because the same subjects are measured more than once.
The model shows two clear main effects. Studytime groups differ in overall grade level, and repeated grade means change across Time. The interaction is small and not statistically significant, so the correct interpretation is not that every studytime group has a uniquely different growth pattern. The safer conclusion is that studytime matters overall and grades change across G1, G2 and G3.
Simple definition: Split Plot ANOVA compares repeated measurements over Time while also comparing independent groups. Here, it compares G1, G2 and G3 within students and studytime groups between students.
This guide should be read with Mixed ANOVA, Factorial ANOVA, Fixed Effects ANOVA, One Way ANCOVA, ANOVA Effect Size, Eta Squared, Omega Squared, Cohen’s F Formula and F Distribution.
Split Plot ANOVA Formula
A split plot model separates each score into the grand mean, the between-subject group effect, the subject-within-group error term, the within-subject Time effect, the group × Time interaction and repeated-measure error.
In this notation, A is the between-subject factor, studytime. The term B is the within-subject factor, Time. The repeated measures are G1, G2 and G3. The term S(A) means subjects nested within studytime, and AB represents the studytime × Time interaction.
Correct Error Terms
| Effect | What It Tests | Correct Error Term | Result in This Example |
|---|---|---|---|
| studytime | Do studytime groups differ overall? | Subjects within studytime | Significant, p = 1.264e-10 in the Python summary. |
| Time | Do G1, G2 and G3 repeated means differ? | Time × subjects within studytime | Significant, p = 4.441e-16 in the Python summary. |
| studytime × Time | Does the repeated grade pattern differ by studytime group? | Time × subjects within studytime | Not significant, p = 0.1103. |
Partial Eta Squared Formula
The effect-size output reports partial eta squared values of about 0.073 for studytime, 0.053 for Time and 0.008 for the interaction. Studytime has the largest practical effect in this split plot model. Time has a smaller but meaningful effect, while the interaction is very small.
| Source | df | SS | MS | F | p | Partial η² | Decision |
|---|---|---|---|---|---|---|---|
| studytime | 3 | 1142 | 380.8 | 16.98 | 1.264e-10 | 0.07319 | Reject H0 |
| Subjects within studytime | 645 | 14460+ | 22.42 | Between-subject error | |||
| Time | 2 | 86.33 | 43.17 | 36.41 | 4.441e-16 | 0.05343 | Reject H0 |
| studytime × Time | 6 | 12.31 | 2.052 | 1.731 | 0.1103 | 0.007986 | Fail to reject H0 |
| Time × Subjects within studytime | 1290 | 1529 | 1.186 | Within-subject error |
Split Plot ANOVA Hypotheses
Split Plot ANOVA has separate hypotheses for the between-subject effect, the within-subject effect and the interaction effect. These should be reported separately because each answers a different research question.
| Effect | Null Hypothesis | Alternative Hypothesis | Decision in This Output |
|---|---|---|---|
| studytime | Overall mean grade profile is equal across studytime groups. | At least one studytime group has a different overall grade level. | Reject H0. |
| Time | Mean scores are equal across G1, G2 and G3. | At least one repeated grade mean differs. | Reject H0. |
| studytime × Time | The repeated Time pattern is the same across studytime groups. | The Time pattern differs by studytime group. | Fail to reject H0. |
Decision for this example: Studytime and Time are significant main effects. The studytime × Time interaction is not significant. Report that studytime groups differ overall and repeated grade scores change across Time, but do not claim a strong interaction pattern.
Dataset and Variables Used
The worked example uses student grade data. Each student has three repeated measurements: G1, G2 and G3. The between-subject grouping factor is studytime, which separates students into four groups. The SPSS output uses 649 valid cases.
| Variable | Role | What It Represents | Why It Matters |
|---|---|---|---|
| G1 | Repeated measure 1 | First grade score. | First point in the within-subject Time profile. |
| G2 | Repeated measure 2 | Second grade score. | Middle point in the repeated profile. |
| G3 | Repeated measure 3 | Final grade score. | Final point and highest overall mean. |
| studytime | Between-subject factor | Studytime group from 1 to 4. | Compares students with different studytime categories. |
| Subject ID | Repeated-measure identifier | Same student across G1, G2 and G3. | Links repeated scores within each student. |
Descriptive Means by Studytime
| studytime | N | G1 Mean | G2 Mean | G3 Mean | Interpretation |
|---|---|---|---|---|---|
| 1 | 212 | 10.5047 | 10.7028 | 10.8443 | Lowest repeated grade profile. |
| 2 | 305 | 11.5377 | 11.6623 | 12.0918 | Middle profile with upward movement. |
| 3 | 97 | 12.4227 | 12.7938 | 13.2268 | Highest final grade group. |
| 4 | 35 | 12.7714 | 12.6286 | 13.0571 | High profile with smaller group size. |
| Total | 649 | 11.3991 | 11.5701 | 11.9060 | Overall repeated profile rises from G1 to G3. |
The descriptive pattern explains the statistical result. Studytime group 1 has the lowest repeated profile, group 2 is higher, and groups 3 and 4 are generally highest. The total profile rises from G1 to G3, which supports the significant Time effect.
For background concepts, review Descriptive Statistics, Mean Median and Mode, Standard Deviation, Variance, Confidence Interval, P Value, Null and Alternative Hypothesis and Effect Size.
Google AdSense middle placement reserved here
SPSS Output Interpretation for Split Plot ANOVA
The SPSS output uses GLM Repeated Measures. Time is the within-subject factor with three levels assigned to G1, G2 and G3. Studytime is the between-subject factor. The output includes descriptive statistics, multivariate tests, Mauchly’s test, within-subject effects, within-subject contrasts, Levene tests and between-subject effects.
SPSS Reading Order
| SPSS Output Area | What to Read | Why It Matters |
|---|---|---|
| Within-subject factors | Time 1 = G1, Time 2 = G2, Time 3 = G3. | Confirms the repeated-measures structure. |
| Between-subject factors | studytime groups 1, 2, 3 and 4. | Confirms the independent grouping factor. |
| Descriptive statistics | Mean and SD for every studytime × Time cell. | Shows the direction behind the profile plot. |
| Mauchly’s test | W = .826, p < .001. | Sphericity is violated; corrected results should be checked. |
| Within-subject effects | Time and Time × studytime rows. | Tests repeated Time effect and interaction. |
| Between-subject effects | studytime row. | Tests overall group differences. |
| Levene tests | G1, G2 and G3 variance checks. | Assumption context for between-group comparison. |
SPSS Sphericity and Corrections
| Test | Value | p | Correction | Interpretation |
|---|---|---|---|---|
| Mauchly’s W | .826 | < .001 | Greenhouse-Geisser ε = .852; Huynh-Feldt ε = .858 | Sphericity is violated, so corrected univariate results should be considered. |
SPSS Within-Subject Effects
| Effect | SS | df | MS | F | p | Partial η² | Interpretation |
|---|---|---|---|---|---|---|---|
| Time | 44.730 | 2 | 22.365 | 18.865 | < .001 | .028 | Repeated means differ across G1, G2 and G3. |
| Time × studytime | 12.312 | 6 | 2.052 | 1.731 | .110 | .008 | The repeated profile does not differ significantly by studytime group. |
SPSS Between-Subject Effect
| Effect | SS | df | MS | F | p | Partial η² | Interpretation |
|---|---|---|---|---|---|---|---|
| studytime | 1142.269 | 3 | 380.756 | 16.979 | < .001 | .073 | Overall grade profile differs by studytime group. |
| Error | 14464.028 | 645 | 22.425 | Between-subject error term. |
SPSS Levene Test Summary
| Measure | Levene F | df | p | Interpretation |
|---|---|---|---|---|
| G1 | .542 | 3, 645 | .653 | No serious variance problem by mean-based Levene test. |
| G2 | 1.703 | 3, 645 | .165 | No serious variance problem by mean-based Levene test. |
| G3 | .985 | 3, 645 | .400 | No serious variance problem by mean-based Levene test. |
SPSS interpretation summary: The studytime between-subject effect is significant, F(3, 645) = 16.979, p < .001, partial η² = .073. The Time within-subject effect is significant, F(2, 1290) = 18.865, p < .001, partial η² = .028. The Time × studytime interaction is not significant, F(6, 1290) = 1.731, p = .110, partial η² = .008.
Python Chart-by-Chart Interpretation
The Python chart sequence explains Split Plot ANOVA through a profile plot, within-subject means, between-subject group means, p-value decisions, partial eta squared, repeated-measure boxplots, residual diagnostics and a compact summary table.
Python Chart 1: Split Plot ANOVA Profile Plot

The profile plot shows that studytime group 1 has the lowest repeated grade profile, studytime group 2 is higher, and studytime groups 3 and 4 are in the highest range. Most profiles move upward toward G3.
The lines are not perfectly identical, but they do not show a strong crossing pattern. This supports the statistical result: the studytime × Time interaction is not significant, while the separate studytime and Time effects are meaningful.
Python Chart 2: Within-Subject Mean Scores

This chart shows the overall repeated-measure pattern. The mean score is lowest at G1, slightly higher at G2 and highest at G3.
The confidence intervals are narrow because the sample size is large. The repeated Time effect is therefore visible in the plot and statistically significant in the p-value summary.
Python Chart 3: Between-Subject Group Means

The between-subject chart shows a clear increase in overall grade level from studytime group 1 toward higher studytime groups. Studytime group 1 is lowest, group 2 is intermediate, and groups 3 and 4 are highest.
This explains why the studytime effect has the largest partial eta squared value. The main group separation is stronger than the small non-significant interaction pattern.
Python Chart 4: Split Plot ANOVA p-value Summary

The p-value summary shows that studytime and Time are both below the alpha = .05 decision line. The studytime × Time interaction is above alpha with p = 0.1103.
The decision is clear. The model supports the two main effects but does not support a statistically significant interaction. This means grades change over Time and studytime groups differ overall, but the time trend is not strongly different across studytime groups.
Python Chart 5: Split Plot ANOVA Partial Eta Squared

The effect-size chart shows studytime at about 0.073, Time at about 0.053 and the interaction at about 0.008. Studytime is the largest practical effect in this split plot model.
The interaction effect is very small. This supports a conservative interpretation: discuss the studytime group difference and the repeated Time change, but do not overstate the interaction.
Python Chart 6: Repeated-Measure Score Distributions

The repeated-measure boxplots show that G3 is centered higher than G1 and G2. The median and mean markers support an upward movement across repeated grade measures.
Low outlying values are visible near the lower end of the scale. These cases explain why residual diagnostics should be reviewed even when the main ANOVA effects are statistically significant.
Python Chart 7: Residuals vs Fitted Values

The residual plot shows vertical bands because fitted values are based on studytime × Time cell means. Most residuals are distributed around zero, but there are several negative residuals below -10.
The diagnostic conclusion is balanced. The model captures the average split plot pattern, but some individual scores are much lower than their fitted cell mean. These cases should be mentioned as residual diagnostic context.
Python Chart 8: Split Plot ANOVA Summary Table

The summary table gives the compact final result. Studytime is significant, Time is significant, and studytime × Time is not significant.
This table is the best source for final reporting because it includes the split plot sources, p-values, effect sizes and decisions for each model effect.
R Chart-by-Chart Validation
The R validation charts repeat the same workflow in a second software environment. They confirm the profile plot, within-subject means, between-subject means, p-value decisions, effect sizes, repeated-measure boxplots, residual diagnostics and summary table.
R Chart 1: Split Plot ANOVA Profile Plot

The R profile plot confirms that studytime groups differ in grade level. The same general ordering appears, with group 1 lowest and groups 3 and 4 highest.
The R plot also supports the same interaction conclusion. The profiles do not show a strong enough divergence to support a significant studytime × Time effect.
R Chart 2: Within-Subject Mean Scores

The R within-subject mean chart confirms the upward repeated Time trend. G3 is the highest repeated mean.
This software validation strengthens the Time effect interpretation because the same mean pattern appears in both Python and R.
R Chart 3: Between-Subject Group Means

The R group mean chart confirms the studytime main effect. Overall grade level increases from studytime group 1 toward higher studytime groups.
This confirms that the group difference is stable across software workflows and should be reported as a meaningful between-subject result.
R Chart 4: Split Plot ANOVA p-value Summary

The R p-value chart confirms that studytime and Time are statistically significant while the studytime × Time interaction is not.
This validates the final decision structure: two significant main effects and no significant interaction.
R Chart 5: Partial Eta Squared Effect Sizes

The R effect-size chart confirms the same ordering. Studytime has the largest partial eta squared, Time is second, and the interaction is very small.
This supports a practical conclusion focused on main effects. The interaction is too small to carry the interpretation.
R Chart 6: Repeated-Measure Score Distributions

The R boxplots confirm that G3 is centered higher than the earlier grade measures. The low-score outliers are also visible.
This validates both the Time effect and the diagnostic caution. The average pattern is clear, but individual variation remains substantial.
R Chart 7: Residuals vs Fitted Values

The R residual chart confirms the same vertical fitted-value bands and the same presence of lower residual values.
This supports a transparent diagnostic statement. The model explains the cell means, but some individual scores deviate strongly from their fitted means.
R Chart 8: Split Plot ANOVA Summary Table

The R summary table confirms the same formal decision as Python. Studytime and Time are significant, while the interaction is not.
This software agreement makes the final report stable: the studytime group difference and repeated Time change should be emphasized, while the interaction should be described as non-significant.
Google AdSense in-content placement reserved here
SPSS, R, Python and Excel Workflows for Split Plot ANOVA
The same Split Plot ANOVA workflow can be reproduced in SPSS, R, Python and Excel. SPSS uses GLM Repeated Measures. R can use long-format repeated-measures models. Python can use mixed models or a manual split plot ANOVA table. Excel can prepare summaries and profile charts, but SPSS, R or Python should be used for the formal test.
SPSS Workflow
| Step | SPSS Menu or Syntax | Purpose |
|---|---|---|
| Open dataset | File > Open > Data | Load G1, G2, G3 and studytime. |
| Define repeated factor | Analyze > General Linear Model > Repeated Measures | Create Time with 3 levels. |
| Assign repeated measures | G1, G2 and G3 | Connect grade columns to Time levels. |
| Add between-subject factor | studytime | Compare independent groups. |
| Request output | Descriptives, effect sizes, homogeneity tests and profile plot | Get means, partial eta squared and diagnostics. |
| Read assumptions | Mauchly and Levene tests | Check sphericity and variance context. |
| Export output | OUTPUT EXPORT | Save SPSS PDF output. |
R Workflow
| Step | R Action | Purpose |
|---|---|---|
| Read data | read.csv("dataset.csv") | Load the dataset. |
| Create subject ID | row_number() | Identify repeated observations. |
| Reshape data | pivot_longer(G1:G3) | Convert repeated measures to long format. |
| Set factors | factor(studytime) and factor(Time) | Define between and within factors. |
| Run split plot model | aov(score ~ studytime*Time + Error(subject_id/Time)) | Fit mixed repeated-measures ANOVA. |
| Create charts | Profile plot, p-value chart, effect-size chart | Explain the result visually. |
Python Workflow
| Step | Python Action | Purpose |
|---|---|---|
| Read data | pandas.read_csv() | Load G1, G2, G3 and studytime. |
| Create subject ID | np.arange() | Track repeated rows by subject. |
| Convert to long format | pd.melt() | Create score and Time columns. |
| Compute split plot sources | SS studytime, SS subject-within-studytime, SS Time and SS interaction | Build the ANOVA table. |
| Calculate F and p | scipy.stats.f.sf() | Make inferential decisions. |
| Calculate partial eta squared | SS_effect/(SS_effect+SS_error) | Report practical effect sizes. |
Excel Workflow
| Excel Task | Formula or Tool | Purpose |
|---|---|---|
| Prepare wide data | Subject ID, studytime, G1, G2, G3 | Keep repeated scores on the same row. |
| Calculate Time means | =AVERAGE() | Summarize G1, G2 and G3. |
| Calculate group means | PivotTable by studytime | Summarize the between-subject effect. |
| Create profile chart | Line chart by studytime and Time | Visualize interaction pattern. |
| Create boxplots | Box and whisker chart | Check repeated-measure distributions. |
| Formal split plot test | Use SPSS, R or Python | Excel is not recommended for the full error-term structure. |
Code Blocks for Split Plot ANOVA
SPSS Syntax for Split Plot ANOVA
* Split Plot ANOVA / Mixed Repeated-Measures ANOVA in SPSS.
* Repeated measures: G1, G2, G3.
* Within-subject factor: Time.
* Between-subject factor: studytime.
TITLE "Split Plot ANOVA: G1 G2 G3 by Studytime".
GLM G1 G2 G3 BY studytime
/WSFACTOR=Time 3 Polynomial
/MEASURE=Grade
/METHOD=SSTYPE(3)
/PLOT=PROFILE(Time*studytime)
/PRINT=DESCRIPTIVE ETASQ HOMOGENEITY
/CRITERIA=ALPHA(.05)
/WSDESIGN=Time
/DESIGN=studytime.
OUTPUT EXPORT
/CONTENTS EXPORT=VISIBLE
/PDF DOCUMENTFILE="split_plot_anova_spss_output.pdf".Python Code for Split Plot ANOVA Support
import pandas as pd
import numpy as np
from scipy import stats
df = pd.read_csv("dataset.csv")
for col in ["G1", "G2", "G3", "studytime"]:
df[col] = pd.to_numeric(df[col], errors="coerce")
wide = df[["studytime", "G1", "G2", "G3"]].dropna().copy()
wide["subject_id"] = np.arange(1, len(wide) + 1)
wide["studytime"] = wide["studytime"].astype("category")
long = wide.melt(
id_vars=["subject_id", "studytime"],
value_vars=["G1", "G2", "G3"],
var_name="Time",
value_name="score"
)
long["Time"] = long["Time"].astype("category")
# Descriptive summaries
cell_means = long.groupby(["studytime", "Time"])["score"].mean()
time_means = long.groupby("Time")["score"].mean()
group_means = long.groupby("studytime")["score"].mean()
print("Cell means:")
print(cell_means)
print("Time means:")
print(time_means)
print("Studytime means:")
print(group_means)
# Profile plot support data
profile = long.groupby(["studytime", "Time"], as_index=False)["score"].mean()
print(profile)
# For the formal split plot ANOVA table:
# studytime is tested against subjects within studytime
# Time and studytime:Time are tested against Time x subjects within studytimeR Code for Split Plot ANOVA
# Split Plot ANOVA / Mixed 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)
df$studytime <- as.factor(df$studytime)
wide <- df %>%
select(studytime, 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"
) %>%
mutate(Time = factor(Time, levels = c("G1", "G2", "G3")))
# Split plot ANOVA
model <- aov(score ~ studytime * Time + Error(subject_id / Time), data = long)
summary(model)
# Descriptive means
long %>%
group_by(studytime, Time) %>%
summarise(
n = n(),
mean = mean(score),
sd = sd(score),
.groups = "drop"
)
# Profile plot support table
profile <- long %>%
group_by(studytime, Time) %>%
summarise(mean_score = mean(score), .groups = "drop")
print(profile)Excel Notes for Split Plot ANOVA
Excel support workflow:
1. Keep repeated measures on the same row:
Subject_ID | studytime | G1 | G2 | G3
2. Calculate repeated-measure means:
G1 mean = AVERAGE(G1_range)
G2 mean = AVERAGE(G2_range)
G3 mean = AVERAGE(G3_range)
3. Create studytime group means:
PivotTable:
Rows = studytime
Values = average of G1, average of G2, average of G3
4. Create profile plot:
X-axis = Time levels G1, G2, G3
Lines = studytime groups
Y-axis = mean score
5. Create repeated-measure boxplots:
Use G1, G2 and G3 columns.
6. Formal Split Plot ANOVA:
Use SPSS, R or Python because Excel does not automatically handle
the subject-within-group and repeated-measure error terms correctly.APA Reporting Wording
When reporting Split Plot ANOVA, include the within-subject factor, between-subject factor, main effects, interaction, effect sizes and assumption notes. Because Mauchly’s test is significant in the SPSS output, mention the Greenhouse-Geisser or Huynh-Feldt correction for the univariate repeated-measures layer.
APA-style report: A split plot ANOVA was conducted with Time (G1, G2, G3) as the within-subject factor and studytime as the between-subject factor. The studytime main effect was significant, F(3, 645) = 16.979, p < .001, partial η² = .073. The Time main effect was also significant; the Python split plot summary reported F(2, 1290) = 36.41, p < .001, partial η² = .053. The studytime × Time interaction was not significant, F(6, 1290) = 1.731, p = .110, partial η² = .008. Mauchly’s test indicated a sphericity violation, W = .826, p < .001, so corrected univariate results should be consulted when reporting the repeated-measures layer.
Short reporting version: Studytime groups differed overall, and scores changed across G1, G2 and G3. The studytime × Time interaction was not significant, so the repeated grade-change pattern was not clearly different across studytime groups.
Common Mistakes
| Mistake | Why It Is Wrong | Correct Practice |
|---|---|---|
| Using one-way ANOVA for repeated scores | G1, G2 and G3 are measured on the same students. | Use split plot or repeated-measures logic instead of treating repeated scores as independent. |
| Ignoring the between-subject factor | studytime is part of the design. | Report the studytime main effect and describe the group mean pattern. |
| Overstating the interaction | The interaction p-value is 0.1103 and partial η² is about 0.008. | Report it as non-significant and small. |
| Using the wrong error term | Between and within effects use different error terms. | Use subject-within-studytime and Time × subject-within-studytime error terms correctly. |
| Ignoring sphericity | Mauchly’s test is significant. | Review Mauchly’s Test of Sphericity, Greenhouse-Geisser Correction and Huynh-Feldt Correction. |
| Reporting only p-values | P-values do not show practical size. | Report effect size using ANOVA Effect Size, Eta Squared or Omega Squared guidance. |
When to Use Split Plot ANOVA
Use Split Plot ANOVA when the design contains both repeated measurements and independent groups. It is common in education, psychology, medicine, agriculture, repeated testing, pre-mid-post studies and experiments where the same subjects are followed across time while also belonging to different groups.
| Situation | Use Split Plot ANOVA? | Reporting Note |
|---|---|---|
| Same students measured at G1, G2 and G3, grouped by studytime | Yes | Use Time as within factor and studytime as between factor. |
| Only repeated scores with no group factor | No | Use a repeated-measures ANOVA design. |
| Only independent groups with one outcome | No | Use One Way ANOVA. |
| Repeated outcomes plus multiple dependent variables | Maybe | Compare with Mixed MANOVA. |
| Need covariate adjustment | Use mixed ANCOVA or mixed model | Compare with One Way ANCOVA. |
Split Plot ANOVA should be compared with Mixed ANOVA, Mixed MANOVA, One Way MANOVA, Factorial ANOVA, Fixed Effects ANOVA, Nested ANOVA, Balanced ANOVA, Brown Forsythe ANOVA, ANOVA Assumptions and ANOVA in SPSS.
Downloads and Resources for Split Plot ANOVA
Use these resources to reproduce the Split Plot ANOVA workflow. The Python report, 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.
Download Dataset
Practice dataset with studytime, G1, G2 and G3 variables.
Download Split Plot ANOVA Python Report PDF
Python report PDF for profile plots, p-values, effect sizes and diagnostics.
Download Split Plot ANOVA R Report PDF
R validation PDF for split plot ANOVA interpretation.
Download Split Plot ANOVA SPSS Output PDF
SPSS output PDF for GLM repeated-measures split plot interpretation.
Download Python Script
Python code for split plot ANOVA charts and summary table.
Download R Script and Excel Workbook
R workflow and Excel support workbook for split plot summaries.
FAQs About Split Plot ANOVA
What is Split Plot ANOVA?
Split Plot ANOVA is a mixed repeated-measures ANOVA design with at least one within-subject repeated factor and at least one between-subject group factor.
What was the within-subject factor in this example?
The within-subject factor was Time, represented by G1, G2 and G3 repeated grade measures.
What was the between-subject factor?
The between-subject factor was studytime, with four studytime groups.
Was the studytime effect significant?
Yes. The Python summary reported studytime p = 1.264e-10, and the SPSS output reported F(3, 645) = 16.979, p < .001.
Was the Time effect significant?
Yes. The repeated grade means differed across G1, G2 and G3.
Was the studytime by Time interaction significant?
No. The interaction p-value was 0.1103 in the Python summary and .110 in the SPSS within-subject table.
What were the partial eta squared values?
The Python effect-size chart reported partial eta squared of about 0.073 for studytime, 0.053 for Time and 0.008 for the interaction.
Why is Mauchly’s test important?
Mauchly’s test checks sphericity for the repeated-measures factor. In this output, Mauchly’s test was significant, so corrected univariate results should be considered.
Can Split Plot ANOVA be done in Excel?
Excel can prepare summaries and profile plots, but SPSS, R or Python should be used for the formal split plot ANOVA because the design requires correct within-subject and between-subject error terms.
How do I report this Split Plot ANOVA in APA style?
A concise report is: Studytime and Time were significant main effects, but the studytime × Time interaction was not significant, F(6, 1290) = 1.731, p = .110, partial η² = .008.