# glmer

##### Fitting Generalized Linear Mixed-Effects Models

Fit a generalized linear mixed-effects model (GLMM). Both fixed
effects and random effects are specified via the model `formula`

.

- Keywords
- models

##### Usage

```
glmer(formula, data = NULL, family = gaussian, control = glmerControl(),
start = NULL, verbose = 0L, nAGQ = 1L, subset, weights, na.action,
offset, contrasts = NULL, mustart, etastart,
devFunOnly = FALSE, …)
```

##### Arguments

- formula
- a two-sided linear formula object describing both the
fixed-effects and random-effects part of the model, with the response
on the left of a
`~`

operator and the terms, separated by`+`

operators, on the right. Random-effects terms are distinguished by vertical bars (`"|"`

) separating expressions for design matrices from grouping factors. - data
- an optional data frame containing the variables named in
`formula`

. By default the variables are taken from the environment from which`lmer`

is called. While`data`

is optional, the package authors*strongly*recommend its use, especially when later applying methods such as`update`

and`drop1`

to the fitted model (*such methods are not guaranteed to work properly if*). If`data`

is omitted`data`

is omitted, variables will be taken from the environment of`formula`

(if specified as a formula) or from the parent frame (if specified as a character vector). - family
- a GLM family, see
`glm`

and`family`

. - control
- a list (of correct class, resulting from
`lmerControl()`

or`glmerControl()`

respectively) containing control parameters, including the nonlinear optimizer to be used and parameters to be passed through to the nonlinear optimizer, see the`*lmerControl`

documentation for details. - start
- a named list of starting values for the parameters in the
model, or a numeric vector. A numeric
`start`

argument will be used as the starting value of`theta`

. If`start`

is a list, the`theta`

element (a numeric vector) is used as the starting value for the first optimization step (default=1 for diagonal elements and 0 for off-diagonal elements of the lower Cholesky factor); the fitted value of`theta`

from the first step, plus`start[["fixef"]]`

, are used as starting values for the second optimization step. If`start`

has both`fixef`

and`theta`

elements, the first optimization step is skipped. For more details or finer control of optimization, see`modular`

. - verbose
- integer scalar. If
`> 0`

verbose output is generated during the optimization of the parameter estimates. If`> 1`

verbose output is generated during the individual PIRLS steps. - nAGQ
- integer scalar - the number of points per axis for evaluating the adaptive Gauss-Hermite approximation to the log-likelihood. Defaults to 1, corresponding to the Laplace approximation. Values greater than 1 produce greater accuracy in the evaluation of the log-likelihood at the expense of speed. A value of zero uses a faster but less exact form of parameter estimation for GLMMs by optimizing the random effects and the fixed-effects coefficients in the penalized iteratively reweighted least squares step. (See Details.)
- subset
- 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. - weights
- an optional vector of ‘prior weights’ to be used
in the fitting process. Should be
`NULL`

or a numeric vector. - na.action
- a function that indicates what should happen when the
data contain
`NA`

s. The default action (`na.omit`

, inherited from the ‘factory fresh’ value of`getOption("na.action")`

) strips any observations with any missing values in any variables. - offset
- this can be used to specify an
*a priori*known component to be included in the linear predictor during fitting. This should be`NULL`

or a numeric vector of length equal to the number of cases. One or more`offset`

terms can be included in the formula instead or as well, and if more than one is specified their sum is used. See`model.offset`

. - contrasts
- an optional list. See the
`contrasts.arg`

of`model.matrix.default`

. - mustart
- optional starting values on the scale of the
conditional mean, as in
`glm`

; see there for details. - etastart
- optional starting values on the scale of the unbounded
predictor as in
`glm`

; see there for details. - devFunOnly
- logical - return only the deviance evaluation
function. Note that because the deviance function operates on
variables stored in its environment, it may not return
*exactly*the same values on subsequent calls (but the results should always be within machine tolerance). - …
- other potential arguments. A
`method`

argument was used in earlier versions of the package. Its functionality has been replaced by the`nAGQ`

argument.

##### Details

Fit a generalized linear mixed model, which incorporates both
fixed-effects parameters and random effects in a linear predictor, via
maximum likelihood. The linear predictor is related to the
conditional mean of the response through the inverse link function
defined in the GLM `family`

. The expression for the likelihood of a mixed-effects model is an
integral over the random effects space. For a linear mixed-effects
model (LMM), as fit by `lmer`

, this integral can be
evaluated exactly. For a GLMM the integral must be approximated. The
most reliable approximation for GLMMs
is adaptive Gauss-Hermite quadrature,
at present implemented only for models with
a single scalar random effect. The
`nAGQ`

argument controls the number of nodes in the quadrature
formula. A model with a single, scalar random-effects term could
reasonably use up to 25 quadrature points per scalar integral.

##### Value

An object of class `merMod`

(more specifically,
an object of *subclass* `glmerMod`

) for which many
methods are available (e.g. `methods(class="merMod")`

)

##### See Also

`lmer`

(for details on formulas and
parameterization); `glm`

for Generalized Linear
Models (*without* random effects).
`nlmer`

for nonlinear mixed-effects models. `glmer.nb`

to fit negative binomial GLMMs.

##### Examples

```
## generalized linear mixed model
library(lattice)
xyplot(incidence/size ~ period|herd, cbpp, type=c('g','p','l'),
layout=c(3,5), index.cond = function(x,y)max(y))
(gm1 <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
data = cbpp, family = binomial))
## using nAGQ=0 only gets close to the optimum
(gm1a <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
cbpp, binomial, nAGQ = 0))
## using nAGQ = 9 provides a better evaluation of the deviance
## Currently the internal calculations use the sum of deviance residuals,
## which is not directly comparable with the nAGQ=0 or nAGQ=1 result.
(gm1a <- glmer(cbind(incidence, size - incidence) ~ period + (1 | herd),
cbpp, binomial, nAGQ = 9))
## GLMM with individual-level variability (accounting for overdispersion)
## For this data set the model is the same as one allowing for a period:herd
## interaction, which the plot indicates could be needed.
cbpp$obs <- 1:nrow(cbpp)
(gm2 <- glmer(cbind(incidence, size - incidence) ~ period +
(1 | herd) + (1|obs),
family = binomial, data = cbpp))
anova(gm1,gm2)
## glmer and glm log-likelihoods are consistent
gm1Devfun <- update(gm1,devFunOnly=TRUE)
gm0 <- glm(cbind(incidence, size - incidence) ~ period,
family = binomial, data = cbpp)
## evaluate GLMM deviance at RE variance=theta=0, beta=(GLM coeffs)
gm1Dev0 <- gm1Devfun(c(0,coef(gm0)))
## compare
stopifnot(all.equal(gm1Dev0,c(-2*logLik(gm0))))
## the toenail oncholysis data from Backer et al 1998
## these data are notoriously difficult to fit
## Not run: ------------------------------------
# if (require("HSAUR2")) {
# gm2 <- glmer(outcome~treatment*visit+(1|patientID),
# data=toenail,
# family=binomial,nAGQ=20)
# }
## ---------------------------------------------
```

*Documentation reproduced from package lme4, version 1.1-13, License: GPL (>= 2)*