https://github.com/cran/MuMIn
Tip revision: 69fda28b879d6147f7dda937d28114b28cc8ebc8 authored by Kamil BartoĊ on 14 May 2014, 02:44:24 UTC
version 1.10.0
version 1.10.0
Tip revision: 69fda28
Cp.R
# Mallow's Cp
`Cp` <-
function (object, ..., dispersion = NULL) {
.cp <- function(x, disp) {
rss <- deviance(x)
df.r <- df.residual(x)
if(is.null(df.r)) {
ll <- logLik(x)
df.r <- attr(ll, "nobs") - attr(ll, "df") + 1
}
scale <- if (!is.null(disp)) disp else if
(family(x)$family %in% c("poisson", "binomial")) 1 else if
(df.r > 0) rss / df.r else NaN
rss + 2 * scale * (nobs(x) - df.r)
}
if (length(list(...))) {
cps <- vapply(list(object, ...), .cp, numeric(1L), disp = dispersion)
val <- data.frame(Cp = cps)
Call <- match.call()
row.names(val) <- as.character(Call[-1L])
val
} else .cp(object, dispersion)
}