Fit List of lm or glm Objects with a Common Model

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, …)

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.


an optional family specification for a generalized linear model (glm).


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.


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.


an optional vector of ‘prior weights’ to be used in the fitting process. Should be NULL or a numeric vector.


a function that indicates what should happen when the data contain NAs. 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.


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.


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


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.


  • 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 data is omitted). If 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.


an object of class '>lmList4 (see there, notably for the methods defined).

See Also


  • lmList
  • plot.lmList
fm.plm  <- lmList(Reaction ~ Days | Subject, sleepstudy)
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
# }
Documentation reproduced from package lme4, version 1.1-23, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.