Why Not Just Run Lots of One-Way ANOVAs?

Info sheet · Statistics for Psychology & Neuroscience

Author

Andrew Bell

Published

August 13, 2026

Info sheet 0.2 (draft) · Prerequisites: one-way and factorial ANOVA; the F-ratio · Give feedback ↗

Working notes for the author — not shown to students once collapsed; remove before publishing.

  • [ ]

What you’ll get from this sheet

A straightforward question: why not just run multiple one-way ANOVAs instead of a single factorial ANOVA? At first glance both approaches seem to give the same information — but the difference reveals a fundamental principle of the general linear model. By the end you should be able to:

  1. Say why a factorial ANOVA beats several one-way ANOVAs (or a pile of t-tests).
  2. Explain the relationship between model variance and residual variance in a GLM.

Ignore a real factor and its variance gets dumped into the residual — inflating your error term, shrinking every F, and hiding effects. A factorial ANOVA gives each factor its own term, so the residual is just noise.

One-way vs factorial

Recall that in a two-way factorial ANOVA we’re essentially asking two questions: does IV1 affect the DV, and does IV2 affect the DV? You might think you could answer these with two separate one-way ANOVAs, each collapsing across the other factor. Run that on the mini-Netflix data (360 movies) and you do get a significant main effect of Genre, and a significant main effect of Rating. So far, so good.

But compare them to the two-way factorial ANOVA and the F-values and p-values differ — the factorial version comes back stronger. Why?

The key difference: residual variance

The F-ratio is the Mean Square for the model over the Mean Square for the residuals. So anything that bloats the residual term drives F down.

  • In a one-way ANOVA on Genre, any variability due to the ignored factor (Rating) has nowhere to go but the residual — artificially inflating residual variance.
  • In a factorial ANOVA, each factor gets its own model term. The residual is left holding only genuine, unexplained noise.

Slide the strength of the ignored factor (Rating) up and down. The Genre effect stays exactly the same — but watch what happens to its F when you analyse Genre alone versus inside a factorial model:

Set the ignored factor to zero and the two F-values almost coincide — with nothing to ignore, it doesn’t matter. But turn Rating’s effect up and the two diverge fast: the factorial F barely moves (its residual is still just noise), while the one-way F sinks, because Rating’s variance is now piled into its error term. Same signal, weaker test — purely because we ignored a real factor.

The GLM perspective

This ties straight back to the general linear model: Outcome = Model + Error. The Model term is the variance we explain with the factors we include; the Error term is what’s left. Every relevant factor you add to the model is variance removed from the error — so a factorial ANOVA, by modelling both factors, shrinks the error and delivers a stronger, more reliable test. Factorial → smaller residual → larger F → lower p. Multiple one-way ANOVAs → larger residual → smaller F → higher p.

The extra benefit: interactions

The greatest advantage of a factorial ANOVA isn’t the tighter error term, though — it’s that it can test interactions. Does the effect of Age Rating on Rotten Tomatoes depend on the Genre? Perhaps action films rated “7+” score higher than dramas rated “7+.” Effects like that are invisible to separate one-way ANOVAs — interactions are unique to factorial designs, and they’re often the most interesting findings in the whole analysis.

See it in code

The same Genre effect, tested two ways — note how the residual (and so the F) changes:

genre  = [ones(1,24) 2*ones(1,24)];              % Drama / Comedy
rating = repmat([ones(1,12) 2*ones(1,12)], 1, 2);
score  = 55 + 4*(genre==2) + 8*(rating==2) + 6*randn(1,48);
anovan(score, {genre},          'varnames', {'Genre'});             % one-way
anovan(score, {genre, rating}, 'model','interaction', ...          % factorial
       'varnames', {'Genre','Rating'});

Static reference — the R and Python tabs run live in the page.

Two one-way ANOVAs both come back significant. Why bother with the factorial version?

Three reasons. It gives a smaller residual (Rating’s variance is modelled, not dumped into error), so the tests are more powerful and the F-values more accurate. It controls Type I error better than running several separate tests. And — most importantly — it can detect an interaction, which no set of one-way ANOVAs can.

This only works if the extra factor is real. Adding an irrelevant factor spends a degree of freedom without soaking up meaningful variance, which can nudge the residual MS the wrong way. Include factors because your design has them, not to fish for a bigger F.

Where this shows up next

See the Factorial ANOVA & Interactions and Spotting & Visualising Interactions sheets for how to run and read those interaction effects, and Chapter 8 (ANOVA) for the full treatment.