# [R] Difference in ANOVA results - R vs. JMP/Minitab

Prof Brian Ripley ripley at stats.ox.ac.uk
Thu Nov 20 08:41:02 CET 2003

```On Wed, 19 Nov 2003, Nirmal Govind wrote:

>
> > this works). Applied to a linear-model object, summary() produces
> > coefficients, etc. (as mentioned), while anova() produces a (sequential)
> > ANOVA table. This seems apparent to me from the output.
>
> What I'm having trouble with is understanding the difference between
> aov() and lm() [since it seems like if I do a summary() after fitting
> using aov(), the output is the same as doing anova() after an lm()].
> Now, the outputs from aov() and lm() are different - the siginificant
> effects are different. I think this may have to do with how these
> functions treat the data - i.e.  whether the function considers the data
> as being in coded or uncoded units. Is this correct? From what I could
> tell, aov() will code the data automatically and then present the ANOVA
> table whereas lm() does not code the data. This pretty much explains
> everything so far..

And all of that is explained in the reference on the aov help page.

> There's one problem though - how do I get the coefficients that are
> calculated from the data after they are coded by aov()? The problem here
> is that my factor levels are 0 and 1 instead of the usual -1 and 1...
> if I run coefficients() after a aov() fit or an lm() fit, I get the same
> coefficients... these coeffs. don't seem right (I compared with the
> coefficients from Minitab and JMP -both give coefficients after coding
> the data into a -1, 1 form).. I could of course modify my data and
> change all the 0 levels to -1 but is there a way in R to get
> coefficients that correspond to coded data?

AoV has nothing to do with coefficients.  There is dummy.coef to get
uncoded coefficients, and there is options(contrasts=) to set the coding.

> > More generally, it probably makes sense to read introductory material
> > about R -- such as the introductory manual that comes with the software
>
> Yes, I have read some of these (and maybe I should read more :-))...
> thanks for the pointer.. on the same note, is there any reference that
> talks about how lm() and aov() treat data - coded vs. uncoded etc...

Yes, you should read a lot more.  Chapter 6 of Venables & Ripley (2002)
and chapter 5 of Chambers & Hastie (1991) would be a good start.

--
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

```