[Rd] anova.lm fails with test="Cp"
peter dalgaard
pdalgd at gmail.com
Sun May 8 10:15:20 CEST 2011
On May 8, 2011, at 09:25 , John Maindonald wrote:
> Here is an example, modified from the help page to use test="Cp":
>
> --------------------------------------------------------------------------------
>> fit0 <- lm(sr ~ 1, data = LifeCycleSavings)
>> fit1 <- update(fit0, . ~ . + pop15)
>> fit2 <- update(fit1, . ~ . + pop75)
>> anova(fit0, fit1, fit2, test="Cp")
> Error in `[.data.frame`(table, , "Resid. Dev") :
> undefined columns selected
Yes, the "Resid. Dev" column is only there in analysis of deviance tables. For the lm() case, it looks like you should have "RSS".
This has probably been there "forever". Just goes to show how often people use these things...
Also, now that I'm looking at it, are we calculating it correctly in any case? We have
cbind(table, Cp = table[, "Resid. Dev"] + 2 * scale *
(n - table[, "Resid. Df"]))
whereas all the references I can find have Cp=RSS/MS-N+2P, so the above would actually be scale*Cp+N.
--
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-devel
mailing list