mkReTrms: Make Random Effect Terms: Create Z, Lambda, Lind, etc.

View source: R/utilities.R

mkReTrmsR Documentation

Make Random Effect Terms: Create Z, Lambda, Lind, etc.

Description

From the result of findbars applied to a model formula and the evaluation frame fr, create the model matrix Zt, etc, associated with the random-effects terms.

Usage

  mkReTrms(bars, fr, drop.unused.levels=TRUE,
                     reorder.terms=TRUE,
                     reorder.vars=FALSE)
  mkNewReTrms(object, newdata, re.form=NULL,
                     na.action=na.pass,
                     allow.new.levels=FALSE,
                     sparse = max(lengths(orig.random.levs)) > 100)

Arguments

bars

a list of parsed random-effects terms

fr

a model frame in which to evaluate these terms

drop.unused.levels

(logical) drop unused factor levels?

reorder.terms

arrange random effects terms in decreasing order of number of groups (factor levels)?

reorder.vars

arrange columns of individual random effects terms in alphabetical order?

object

a fitted merMod object

newdata

data frame for which to create new RE terms object

re.form

(formula, NULL, or NA) specify which random effects to condition on when predicting. If NULL, include all random effects; if NA or ~0, include no random effects

na.action

function determining what should be done with missing values for fixed effects in newdata

allow.new.levels

(logical) if new levels (or NA values) in newdata are allowed. If FALSE (default), such new values in newdata will trigger an error; if TRUE, then the prediction will use the unconditional (population-level) values for data with previously unobserved levels (or NAs)

sparse

generate sparse contrast matrices?

Value

a list with components

Zt

transpose of the sparse model matrix for the random effects

theta

initial values of the covariance parameters

Lind

an integer vector of indices determining the mapping of the elements of the theta vector to the "x" slot of Lambdat

Gp

a vector indexing the association of elements of the conditional mode vector with random-effect terms; if nb is the vector of numbers of conditional modes per term (i.e. number of groups times number of effects per group), Gp is c(0,cumsum(nb)) (and conversely nb is diff(Gp))

lower

lower bounds on the covariance parameters

Lambdat

transpose of the sparse relative covariance factor

flist

list of grouping factors used in the random-effects terms

cnms

a list of column names of the random effects according to the grouping factors

Ztlist

list of components of the transpose of the random-effects model matrix, separated by random-effects term

nl

names of the terms (in the same order as Zt, i.e. reflecting the reorder.terms argument)

Note

mkNewReTrms is used in the context of prediction, to generate a new "random effects terms" object from an already fitted model

See Also

Other utilities: findbars, mkRespMod, nlformula, nobars, subbars. getME can retrieve these components from a fitted model, although their values and/or forms may be slightly different in the final fitted model from their original values as returned from mkReTrms.

Examples

data("Pixel", package="nlme")
mform <- pixel ~ day + I(day^2) + (day | Dog) + (1 | Side/Dog)
(bar.f <- findbars(mform)) # list with 3 terms
mf <- model.frame(subbars(mform),data=Pixel)
rt <- mkReTrms(bar.f,mf)
names(rt)

lme4 documentation built on July 8, 2022, 9:05 a.m.