Fit a list of `lm`

or `glm`

objects with a
common model for different subgroups of the data.

```
lmList(formula, data, family, subset, weights, na.action,
offset, pool = !isGLM || .hasScale(family2char(family)),
warn = TRUE, …)
```

formula

a linear `formula`

object of the form
`y ~ x1+...+xn | g`

. In the formula object, `y`

represents the response, `x1,...,xn`

the covariates,
and `g`

the grouping factor specifying the
partitioning of the data according to which different
`lm`

fits should be performed.

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. 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`

.

pool

logical scalar indicating if the variance estimate should
pool the residual sums of squares. By default true if the model has
a scale parameter (which includes all linear, `lmer()`

, ones).

warn

indicating if errors in the single fits should signal a
“summary” `warning`

.

…

additional, optional arguments to be passed to the model function or family evaluation.

an object of `class`

`'>lmList4`

(see
there, notably for the `methods`

defined).

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).Since lme4 version 1.1-16, if there are errors (see

`stop`

) in the single (`lm()`

or`glm()`

) fits, they are summarized to a warning message which is returned as attribute`"warnMessage"`

and signalled as`warning()`

when the`warn`

argument is true.In previous lme4 versions, a general (different) warning had been signalled in this case.

```
# NOT RUN {
fm.plm <- lmList(Reaction ~ Days | Subject, sleepstudy)
coef(fm.plm)
fm.2 <- update(fm.plm, pool = FALSE)
## coefficients are the same, "pooled or unpooled":
stopifnot( all.equal(coef(fm.2), coef(fm.plm)) )
(ci <- confint(fm.plm)) # print and rather *see* :
plot(ci) # how widely they vary for the individuals
# }
```

Run the code above in your browser using DataLab