vif.lme: Variance Inflation Factors for Mixed Models In gmonette/spida: Collection of miscellaneous functions for mixed models etc. prepared for SPIDA 2009+ (development version)

Description

Calculates versions of the variance-inflation and generalized variance-inflation factors for mixed models.

Usage

 `1` ```vif.lme(mod) ```

Arguments

 `mod`

Details

The concept of Variance Inflation in linear models can be applied to mixed models in a number of ways since the variance-covariance matrix of the estimated fixed coefficients is not simply proportional to the inverse of the cross-product matrix for the data. This method for the generic function `vif` in the `car` package, implements the version based on the variance-covariance funtion of the estimated fixed coefficients. Since the `vcov` method is available for `lm` objects and `lme` objects, uses the code for the `lm` method for `lme` objects.

Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37``` ```##---- Should be DIRECTLY executable !! ---- ##-- ==> Define data, use random, ##-- or do help(data=index) for the standard data sets. ## The function is currently defined as function (mod) { if (any(is.na(fixef(mod)))) stop("there are aliased coefficients in the model") v <- vcov(mod) mm <- model.matrix(formula(mod), mod\$data) assign <- attributes(mm)\$assign if (names(fixef(mod)) == "(Intercept)") { v <- v[-1, -1] assign <- assign[-1] } else warning("No intercept: vifs may not be sensible.") terms <- labels(terms(mod)) n.terms <- length(terms) if (n.terms < 2) stop("model contains fewer than 2 terms") R <- cov2cor(v) detR <- det(R) result <- matrix(0, n.terms, 3) rownames(result) <- terms colnames(result) <- c("GVIF", "Df", "GVIF^(1/2Df)") for (term in 1:n.terms) { subs <- which(assign == term) result[term, 1] <- det(as.matrix(R[subs, subs])) * det(as.matrix(R[-subs, -subs]))/detR result[term, 2] <- length(subs) } if (all(result[, 2] == 1)) result <- result[, 1] else result[, 3] <- result[, 1]^(1/(2 * result[, 2])) result } ```

gmonette/spida documentation built on May 17, 2019, 7:25 a.m.