ANOVA Output Interpreter
ANOVA tests whether three or more groups have meaningfully different averages, and which terms in your model are doing the work. Paste an aov() or car::Anova() table from R to get a per-term plain-English read, eta-squared effect sizes, and a clear verdict on what is driving the variation.
New to Type I / II / III ANOVA? Read the 4-min primer ▾
What ANOVA does. Analysis of Variance partitions the total variation in an outcome into chunks attributable to each predictor (and to leftover residual noise). Each row in an ANOVA table reports a Sum of Squares (SS), the degrees of freedom (df) it consumed, the resulting Mean Square (SS / df), an F-ratio against the residual mean square, and a p-value.
Why three Types. When predictors are correlated (an unbalanced design), the SS for one term depends on what other terms are already in the model. Type I (sequential) credits each term with the SS it explains after the previously listed terms. Type II adjusts each main effect for all other main effects but ignores interactions. Type III adjusts every term for every other term, including interactions, and matches the marginal-means hypothesis people usually have in mind.
What to report. Beyond F and p, give an effect size: eta-squared (SS_term / SS_total) for the proportion of total variance the term carries, and partial eta-squared (SS_term / (SS_term + SS_resid)) for the share once you set aside the other terms. Conventional cutoffs are 0.01 (small), 0.06 (medium), 0.14 (large), but interpret in your field's context.
Picking which Type. Balanced design with no missingness: all three Types coincide; report any. Unbalanced data and you care about main effects: Type II. Significant interaction or you want SAS-style marginal tests: Type III with sum-to-zero contrasts. Never quote Type I from a model whose term order is not theoretically motivated.
Try a real-world example to load.
Read more Anatomy of an ANOVA table
Caveats When this is the wrong tool
- If you have…
- Use instead
- A continuous outcome with no factors
- Use the lm() output interpreter. ANOVA tables are most informative when at least one predictor is categorical with more than two levels.
- A binary or count outcome
- Use the glm() output interpreter (logistic / Poisson). The F-test in this tool assumes Gaussian residuals; for non-Gaussian outcomes the deviance-based analog of ANOVA is the right tool.
- Repeated measures or clustered data
- A repeated-measures ANOVA layout has an Error() stratum. Parsing one stratum at a time works here, but a mixed-effects model is generally a better fit; see the planned mixed-effects builder tool.
- Severely unbalanced design with significant interaction
- Type III with sum-to-zero contrasts is the right test, but interpret simple effects (emmeans-style) rather than main effects in isolation. The marginal main-effect F is rarely what you want when interaction is real.
- Singular or rank-deficient model
- Rows with NA F or zero df are a sign the design matrix is rank-deficient. Drop the offending term or refit with a smaller model; this tool reports the symptom but cannot fix it.
- One-way and two-way ANOVA in R - the basic aov() workflow with mtcars and iris.
- Type I, II, III sums of squares - worked examples of when they coincide and when they do not.
- Effect sizes for ANOVA - eta-squared, partial eta-squared, omega-squared, and Cohen's f.
- Post-hoc tests - Tukey HSD, Bonferroni, Scheffe; family-wise error control.
- Repeated-measures ANOVA - the Error() stratum and sphericity correction.
- lm() output interpreter - if your predictors are mostly continuous.
- Effect-size converter - turn eta-squared into Cohen's f, d, or r.
Numerical notes: parser handles "< 2.2e-16", scientific notation, signif. codes lines, both column orders (aov: Df-SumSq-MeanSq-F-P; car::Anova: SumSq-Df-F-P), and Type III intercept rows. eta-squared is computed as SS_term / SS_total where SS_total is the column sum; partial eta-squared as SS_term / (SS_term + SS_resid). Numbers may differ from R's effectsize::eta_squared by rounding when only the printed table is available.