MuMIn (version 1.43.17)

QIC: QIC and quasi-Likelihood for GEE

Description

Calculate quasi-likelihood under the independence model criterion (QIC) for Generalized Estimating Equations.

Usage

QIC(object, ..., typeR = FALSE)
QICu(object, ..., typeR = FALSE)
quasiLik(object, ...)

Arguments

object

a fitted model object of class "gee", "geepack", "geem", "wgee", or "yags".

for QIC and QIC\(_{u}\), optionally more fitted model objects.

typeR

logical, whether to calculate QIC(R). QIC(R) is based on quasi-likelihood of a working correlation \(R\) model. Defaults to FALSE, and QIC(I) based on independence model is returned.

Value

If just one object is provided, returns a numeric value with the corresponding QIC; if more than one object are provided, returns a data.frame with rows corresponding to the objects and one column representing QIC or QIC\(_{u}\).

References

Pan W. (2001) Akaike's Information Criterion in Generalized Estimating Equations. Biometrics 57: 120-125

Hardin J. W., Hilbe, J. M. (2003) Generalized Estimating Equations. Chapman & Hall/CRC

See Also

Methods exist for gee (package gee), geeglm (geepack), geem (geeM), wgee (wgeesel, the package's QIC.gee function is used), and yags (yags on R-Forge). There is also a QIC function in packages MESS and geepack, returning some extra information (such as CIC and QICc). yags and compar.gee from package ape both provide QIC values.

Examples

Run this code
# NOT RUN {
data(ohio)

fm1 <- geeglm(resp ~ age * smoke, id = id, data = ohio,
    family = binomial, corstr = "exchangeable", scale.fix = TRUE)
fm2 <- update(fm1, corstr = "ar1")
fm3 <- update(fm1, corstr = "unstructured")

# QIC function is also defined in 'geepack' but is returns a vector[6], so
# cannot be used as 'rank'. Either use `MuMIn::QIC` syntax or make a wrapper
# around `geepack::QIC`

QIC <- MuMIn::QIC
# }
# NOT RUN {
QIC <- function(x) geepack::QIC(x)[1]
# }
# NOT RUN {
model.sel(fm1, fm2, fm3, rank = QIC)


# }
# NOT RUN {
# same result:
    dredge(fm1, m.lim = c(3, NA), rank = QIC, varying = list(
    corstr = list("exchangeable", "unstructured", "ar1")
    ))      
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab