[R] ANOVA Table for Full Linear Model?
Frank E Harrell Jr
f.harrell at vanderbilt.edu
Tue Feb 6 14:37:05 CET 2007
Peter Dalgaard wrote:
> Jason R. Finley wrote:
>> Hello,
>> I have spent a good deal of time searching for an answer to this but
>> have come up empty-handed; I apologize if I missed something that is
>> common knowledge.
>>
>> I am trying to figure out how to get an ANOVA table that shows the
>> sum of squares. degrees of freedom, etc, for the full model versus
>> the error (aka residuals).
>>
>> Here is an example of the kind of table I'd like to get:
>>
>> Analysis of Variance
>> Source DF SS MS F P
>> Regression 1 8654.7 8654.7 102.35 0.000
>> Error 75 6342.1 84.6
>> Total 76 14996.8
>>
>> This kind of table is prevalent throughout my statistics textbook,
>> and can apparently be easily obtained in other statistical software
>> tools. I'm not saying this as a gripe, but just as evidence that I'm
>> not trying to do something obviously bizarre.
>>
>>
>> Here is an example of the only kind of ANOVA table for a single
>> linear model that I've been able to get using R:
>>
>> > regression9 <- lm(y ~ x1 + x2 + x3, data=data9)
>> > anova.lm(regression9)
>> Analysis of Variance Table
>>
>> Response: y
>> Df Sum Sq Mean Sq F value Pr(>F)
>> x1 1 8275.4 8275.4 81.8026 2.059e-11 ***
>> x2 1 480.9 480.9 4.7539 0.03489 *
>> x3 1 364.2 364.2 3.5997 0.06468 .
>> Residuals 42 4248.8 101.2
>> ---
>> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>>
>>
>> Is there a way to get an ANOVA table with the full linear regression
>> model considered as a whole rather than broken down into each
>> additional predictor variable? In other words, is there a way to get
>> the former kind of table?
>>
> The logical thing to do would be (please avoid calling methods like
> anova.lm directly)
>
> # following example(anova.lm):
>
>> anova(update(fit,~1),fit)
>
> Analysis of Variance Table
>
> Model 1: sr ~ 1
>
> Model 2: sr ~ pop15 + pop75 + dpi + ddpi
>
> Res.Df RSS Df Sum of Sq F Pr(>F)
>
> 1 49 983.63
>
> 2 45 650.71 4 332.92 5.7557 0.0007904 ***
>
>
> If you really want the column of MS, you have a little extra work to do.
> Notice also that the F test is part of the standard summary(fit)
>
>
>> Again, apologies if I'm missing something basic.
>> thanks very much,
>> ~jason
You can also do
library(Design) # which also requires the Hmisc package
f <- ols( . . .)
anova(f) # also includes many interesting composite hypothesis
tests involving linearity, pooling main effects with interactions, etc.
Frank Harrell
>>
>>
>> PS - I am on Mac OSX 10.4.8 using R 2.4.1 GUI 1.18 (4038)
>>
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> Jason R. Finley
>> Graduate Student, Department of Psychology
>> Cognitive Division
>> University of Illinois, Urbana-Champaign
>>
>> uniace at mac.com
>> jrfinley at uiuc.edu
>> http://www.jasonfinley.com/
>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the R-help
mailing list