ranef {lme4}  R Documentation 
A generic function to extract the conditional modes of the random effects from a fitted model object. For linear mixed models the conditional modes of the random effects are also the conditional means.
## S3 method for class 'merMod'
ranef(object, condVar = TRUE,
drop = FALSE, whichel = names(ans), postVar = FALSE, ...)
## S3 method for class 'ranef.mer'
dotplot(x, data, main = TRUE, transf = I, ...)
## S3 method for class 'ranef.mer'
qqmath(x, data, main = TRUE, ...)
## S3 method for class 'ranef.mer'
as.data.frame(x, ...)
object 
an object of a class of fitted models with
random effects, typically a

condVar 
a logical argument indicating if the conditional variancecovariance matrices of the random effects should be added as an attribute. 
drop 
should components of the return value that would be data frames
with a single column, usually a column called
‘ 
whichel 
character vector of names of grouping factors for which the random effects should be returned. 
postVar 
a (deprecated) synonym for 
x 
a randomeffects object (of class 
main 
include a main title, indicating the grouping factor, on each subplot? 
transf 
transformation for random effects: for example,

data 
This argument is required by the 
... 
some methods for these generic functions require additional arguments. 
If grouping factor i has k levels and j random effects
per level the ith component of the list returned by
ranef
is a data frame with k rows and j columns.
If condVar
is TRUE
the "postVar"
attribute is an array of dimension j by j by k (or a list
of such arrays). The kth
face of this array is a positive definite symmetric j by
j matrix. If there is only one grouping factor in the
model the variancecovariance matrix for the entire
random effects vector, conditional on the estimates of
the model parameters and on the data, will be block
diagonal; this j by j matrix is the kth diagonal
block. With multiple grouping factors the faces of the
"postVar"
attributes are still the diagonal blocks
of this conditional variancecovariance matrix but the
matrix itself is no longer block diagonal.
From ranef
:
An object of class ranef.mer
composed of
a list of data frames, one for each grouping factor for
the random effects. The number of rows in the data frame
is the number of levels of the grouping factor. The
number of columns is the dimension of the random effect
associated with each level of the factor.
If condVar
is TRUE
each of the data frames
has an attribute called "postVar"
.
If there is a single randomeffects term for a given grouping factor, this attribute is a threedimensional array with symmetric faces; each face contains the variancecovariance matrix for a particular level of the grouping factor.
If there is more than one randomeffects term for
a given grouping factor (e.g. (1f) + (0+xf)
),
this attribute is a list of arrays as described above,
one for each term.
(The name
of this attribute is a historical artifact,
and may be changed to condVar
at some point in the future.)
When drop
is TRUE
any components that would
be data frames of a single column are converted to named
numeric vectors.
From as.data.frame
:
This function converts the random effects to a "long format" data frame with columns
grouping variable
randomeffects term, e.g. “(Intercept)” or “Days”
level of the grouping variable (e.g., which Subject)
value of the conditional mean
conditional standard deviation
To produce a (list of) “caterpillar plots” of the random
effects apply dotplot
to
the result of a call to ranef
with condVar =
TRUE
; qqmath
will generate
a list of QQ plots.
library(lattice) ## for dotplot, qqmath
fm1 < lmer(Reaction ~ Days + (DaysSubject), sleepstudy)
fm2 < lmer(Reaction ~ Days + (1Subject) + (0+DaysSubject), sleepstudy)
fm3 < lmer(diameter ~ (1plate) + (1sample), Penicillin)
ranef(fm1)
str(rr1 < ranef(fm1))
dotplot(rr1) ## default
qqmath(rr1)
## specify free scales in order to make Day effects more visible
dotplot(rr1,scales = list(x = list(relation = 'free')))[["Subject"]]
ranef(fm2)
op < options(digits = 4)
ranef(fm3, drop = TRUE)
options(op)
## as.data.frame() provides RE's and conditional standard deviations:
str(dd < as.data.frame(rr1))
if (require(ggplot2)) {
ggplot(dd, aes(y=grp,x=condval)) +
geom_point() + facet_wrap(~term,scales="free_x") +
geom_errorbarh(aes(xmin=condval 2*condsd,
xmax=condval +2*condsd), height=0)
}