Solved – Choice between Type-I, Type-II, or Type-III ANOVA

anovahypothesis testingrspsssums-of-squares

We have a dataset with three variables (dV: self-reported measure on scale 1-5, assumed to be metric; iV1: factor with 4 levels; iV2: factor with 8 levels). We are interested whether the dV differs in regard to both iVs and whether there is an interaction between the iVs.

Idea: Calculating an ANOVA with both main effects and the interaction between both iVs using R.

The question: What Type of Sum of Squares should be used for this research question?

Using aov() in R calculates Type-I Sum of Squares as standard. SPSS and SAS, on the other hand, calculate Type-III Sum of Squares by default. However, using Anova() {car} in combination with options(contrasts=c("contr.sum", "contr.poly")) in R gives the same Type-III ANOVA tables as calculated in SPSS.

I have already read the following discussions:

However, I am still confused which Type of Sums of Squares is the most adequate for our question. The results (F and p values) differ considerably.

Best Answer

I realize this is a year old post but its likely to come up again.

There are many factors that play into this, I'd argue the most important is your hypothesis. So there is no clear answer but I generally follow these rules-of-thumb:

1) Type II is only when you don't have an interaction term.

2) Type I vs Type III to test the interaction term...I go Type I all the time reason is this

Type I SS for dv ~ A + B + A*B depends on order so...its sequential SS(A) SS(B|A) SS(A*B|A B)

This is great to test your interaction...but not great to test the main effects since the effect of B is dependent on A.

Type II gets around this SS(A|B) SS(B|A)

Which looks great to test your main effects IF there is no interaction term.

Type III: SS(A| A*B B) SS(B| A*B A)

Which given the most common hypotheses...doesn't seem very useful since most people are interested in the interaction term, not the main effects when an interaction term is present.

So in this case I'd use Type-I to test the interaction term. If not significant I'd refit without the interaction term and use Type-II to test the main effects.

warning: anova() in R is Type-I, to get Type-II (or III) use the Anova() in the car package.