This generic function fits a linear mixed-effects model in the formulation described in Laird and Ware (1982) but allowing for nested random effects. The within-group errors are allowed to be correlated and/or have unequal variances.
The methods lme.lmList
and lme.groupedData
are documented separately.
lme(fixed, data, random, correlation, weights, subset, method,
na.action, control, contrasts = NULL, keep.data = TRUE)# S3 method for lme
update(object, fixed., …, evaluate = TRUE)
an object inheriting from class lme
, representing
a fitted linear mixed-effects model.
a two-sided linear formula object describing the
fixed-effects part of the model, with the response on the left of a
~
operator and the terms, separated by +
operators, on
the right, an "lmList"
object, or a
"groupedData"
object.
There is limited support for formulae such as resp ~ 1
and
resp ~ 0
, and less prior to version 3.1-112.
Changes to the fixed-effects formula -- see
update.formula
for details.
an optional data frame containing the variables named in
fixed
, random
, correlation
, weights
, and
subset
. By default the variables are taken from the
environment from which lme
is called.
optionally, any of the following: (i) a one-sided formula
of the form ~ x1 + ... + xn | g1/.../gm
, with x1 + ... + xn
specifying the model for the random effects and g1/.../gm
the
grouping structure (m
may be equal to 1, in which case no
/
is required). The random effects formula will be repeated
for all levels of grouping, in the case of multiple levels of
grouping; (ii) a list of one-sided formulas of the form
~ x1 + ... + xn | g
, with possibly different random effects models
for each grouping level. The order of nesting will be assumed the
same as the order of the elements in the list; (iii) a one-sided
formula of the form ~ x1 + ... + xn
, or a pdMat
object with
a formula (i.e. a non-NULL
value for formula(object)
),
or a list of such formulas or pdMat
objects. In this case, the
grouping structure formula will be derived from the data used to
fit the linear mixed-effects model, which should inherit from class
"groupedData"
; (iv) a named list of formulas or pdMat
objects as in (iii), with the grouping factors as names. The order of
nesting will be assumed the same as the order of the order of the
elements in the list; (v) an reStruct
object. See the
documentation on pdClasses
for a description of the available
pdMat
classes. Defaults to a formula consisting of the right
hand side of fixed
.
an optional corStruct
object describing the
within-group correlation structure. See the documentation of
corClasses
for a description of the available corStruct
classes. Defaults to NULL
,
corresponding to no within-group correlations.
an optional varFunc
object or one-sided formula
describing the within-group heteroscedasticity structure. If given as
a formula, it is used as the argument to varFixed
,
corresponding to fixed variance weights. See the documentation on
varClasses
for a description of the available varFunc
classes. Defaults to NULL
, corresponding to homoscedastic
within-group errors.
an optional expression indicating the subset of the rows of
data
that should be used in the fit. This can be a logical
vector, or a numeric vector indicating which observation numbers are
to be included, or a character vector of the row names to be
included. All observations are included by default.
a character string. If "REML"
the model is fit by
maximizing the restricted log-likelihood. If "ML"
the
log-likelihood is maximized. Defaults to "REML"
.
a function that indicates what should happen when the
data contain NA
s. The default action (na.fail
) causes
lme
to print an error message and terminate if there are any
incomplete observations.
a list of control values for the estimation algorithm to
replace the default values returned by the function lmeControl
.
Defaults to an empty list.
an optional list. See the contrasts.arg
of model.matrix.default
.
logical: should the data
argument (if supplied
and a data frame) be saved as part of the model object?
some methods for this generic require additional arguments. None are used in this method.
If TRUE
evaluate the new call else return the call.
An object of class "lme"
representing the linear mixed-effects
model fit. Generic functions such as print
, plot
and
summary
have methods to show the results of the fit. See
lmeObject
for the components of the fit. The functions
resid
, coef
, fitted
,
fixed.effects
, and
random.effects
can be used to extract some of its components.
The computational methods follow the general framework of Lindstrom
and Bates (1988). The model formulation is described in Laird and Ware
(1982). The variance-covariance parametrizations are described in
Pinheiro and Bates (1996). The different correlation structures
available for the correlation
argument are described in Box,
Jenkins and Reinsel (1994), Littell et al (1996), and Venables and
Ripley (2002). The use of variance functions for linear and nonlinear
mixed effects models is presented in detail in Davidian and Giltinan
(1995).
Box, G.E.P., Jenkins, G.M., and Reinsel G.C. (1994) "Time Series Analysis: Forecasting and Control", 3rd Edition, Holden--Day.
Davidian, M. and Giltinan, D.M. (1995) "Nonlinear Mixed Effects Models for Repeated Measurement Data", Chapman and Hall.
Laird, N.M. and Ware, J.H. (1982) "Random-Effects Models for Longitudinal Data", Biometrics, 38, 963--974.
Lindstrom, M.J. and Bates, D.M. (1988) "Newton-Raphson and EM Algorithms for Linear Mixed-Effects Models for Repeated-Measures Data", Journal of the American Statistical Association, 83, 1014--1022.
Littell, R.C., Milliken, G.A., Stroup, W.W., and Wolfinger, R.D. (1996) "SAS Systems for Mixed Models", SAS Institute.
Pinheiro, J.C. and Bates., D.M. (1996) "Unconstrained Parametrizations for Variance-Covariance Matrices", Statistics and Computing, 6, 289--296.
Pinheiro, J.C., and Bates, D.M. (2000) "Mixed-Effects Models in S and S-PLUS", Springer.
Venables, W.N. and Ripley, B.D. (2002) "Modern Applied Statistics with S", 4th Edition, Springer-Verlag.
corClasses
,
lme.lmList
,
lme.groupedData
,
lmeControl
,
lmeObject
,
lmeStruct
,
lmList
,
pdClasses
,
plot.lme
,
predict.lme
,
qqnorm.lme
,
residuals.lme
,
reStruct
,
simulate.lme
,
summary.lme
,
varClasses
,
varFunc
# NOT RUN {
fm1 <- lme(distance ~ age, data = Orthodont) # random is ~ age
fm2 <- lme(distance ~ age + Sex, data = Orthodont, random = ~ 1)
summary(fm1)
summary(fm2)
# }
Run the code above in your browser using DataLab