VarCorr {lme4}R Documentation

Extract Variance and Correlation Components


This function calculates the estimated variances, standard deviations, and correlations between the random-effects terms in a mixed-effects model, of class merMod (linear, generalized or nonlinear). The within-group error variance and standard deviation are also calculated.


## S3 method for class 'merMod'
VarCorr(x, sigma=1, ...)

## S3 method for class 'VarCorr.merMod', row.names = NULL,
    optional = FALSE, order = c("cov.last", "lower.tri"), ...)
## S3 method for class 'VarCorr.merMod'
print(x, digits = max(3, getOption("digits") - 2),
    comp = "Std.Dev.", corr = any(comp == "Std.Dev."),
    formatter = format, ...)



for VarCorr: a fitted model object, usually an object inheriting from class merMod. For, a VarCorr.merMod object returned from VarCorr.


an optional numeric value used as a multiplier for the standard deviations.


an optional integer value specifying the number of digits


arrange data frame with variances/standard deviations first and covariances/correlations last for each random effects term ("cov.last"), or in the order of the lower triangle of the variance-covariance matrix ("lower.tri")?

row.names, optional

Ignored: necessary for the method.


Ignored for the method; passed to other print() methods for the print() method.


a character vector, specifying the components to be printed; simply passed to formatVC().


a function for formatting the numbers; simply passed to formatVC().


(logical) print correlations (rather than covariances) of random effects?


The print method for VarCorr.merMod objects has optional arguments digits (specify digits of precision for printing) and comp: the latter is a character vector with any combination of "Variance" and "Std.Dev.", to specify whether variances, standard deviations, or both should be printed.


An object of class VarCorr.merMod. The internal structure of the object is a list of matrices, one for each random effects grouping term. For each grouping term, the standard deviations and correlation matrices for each grouping term are stored as attributes "stddev" and "correlation", respectively, of the variance-covariance matrix, and the residual standard deviation is stored as attribute "sc" (for glmer fits, this attribute stores the scale parameter of the model).

The method produces a combined data frame with one row for each variance or covariance parameter (and a row for the residual error term where applicable) and the following columns:


grouping factor


first variable


second variable (NA for variance parameters)


variances or covariances


standard deviations or correlations


This is modeled after VarCorr from package nlme, by Jose Pinheiro and Douglas Bates.

See Also

lmer, nlmer


data(Orthodont, package="nlme")
fm1 <- lmer(distance ~ age + (age|Subject), data = Orthodont)
print(vc <- VarCorr(fm1))  ## default print method: standard dev and corr
## both variance and
print(vc,comp=c("Variance","Std.Dev."), digits=2)
## variance only
print(vc, comp=c("Variance"))
## standard deviations only, but covariances rather than correlations
print(vc, corr = FALSE), order="lower.tri")

[Package lme4 version 1.1-35.3 Index]