dredge
依赖于logLik
方法的可用性对于给定的模型类。 big[g]lm
对象不提供这样的值,并且看起来有一个AIC
方法的big[g]lm
-类,这使得它不可能从它计算LL(它使用偏差而不是LL来计算AIC,因此AIC值为与其他型号不具有可比性,请参阅:AIC different between biglm and lm)。
你可以尝试添加缺少的方法(用越轨行为,而不是LL,这可能是滑):
# incorrect if any prior weights are 0
nobs.biglm <- function (object, ...) object$n
logLik.bigglm <- function(object, ...) {
dev <- deviance(object, ...)
df <- object$n - object$df.resid
structure(dev, df = df, nobs = object$n)
}
coefTable.biglm <- function (model, data, ...) {
ct <- summary(model)$mat[, c(1L,4L,5L), drop = FALSE]
.makeCoefTable(ct[, 1L], se = ct[, 2L], df = model$df.resid, coefNames = rownames(ct))
}
environment(coefTable.biglm) <- asNamespace("MuMIn")
#from example(bigglm)
fm <- bigglm(log(Volume)~log(Girth)+log(Height),data=trees, chunksize=10, sandwich=TRUE)
dredge(fm, rank = AIC)