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> sessionInfo()R version 2.13.0 Patched (2011-04-28 r55678) Platform: i386-pc-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=English_United States.1252 [2] LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base loaded via a namespace (and not attached): [1] tools_2.13.0 -------------------------------------------------------------------------------------- The help page says for "test:" "a character string specifying the test statistic to be used. Can be one of "F", "Chisq" or "Cp", with partial matching allowed, or NULL for no test." test="Cp" is, following the help page, intended to work? Setting the scale parameter does not help. John Maindonald email: john.maindonald at anu.edu.au phone : +61 2 (6125)3473 fax : +61 2(6125)5549 Centre for Mathematics & Its Applications, Room 1194, John Dedman Mathematical Sciences Building (Building 27) Australian National University, Canberra ACT 0200. http://www.maths.anu.edu.au/~johnm
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 selectedYes, 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
Apparently Analagous Threads
- Format regression result summary
- influence.measures(stats): hatvalues(model, ...)
- anova.rq {quantreg) - Why do different level of nesting changes the P values?!
- Assessing calibration of Cox model with time-dependent coefficients
- Time-dependent coefficients in a Cox model with categorical variants