model.matrix {base}R Documentation

Construct Design Matrices

Description

model.matrix creates a design matrix.

Usage

model.matrix   (object, ...)
model.matrix.lm(object, ...)
model.matrix.default(formula, data, contrasts.arg = NULL, xlev = NULL)

Arguments

formula a model formula or terms object.
data a data frame created with model.frame.
contrasts.arg A list, whose entries are contrasts suitable for input to the contrasts function and whose names are the names of columns of data containing factors.
xlev to be used as argument of model.frame if data has no "terms" attribute.
x a model frame.

Details

model.matrix creates a design matrix from the description given in terms(formula), using the data in data which must contain columns with the same names as would be created by a call to model.frame(formula) or, more precisely, by evaluating attr(terms(formula), "variables"). There may be other columns and the order is not important. If contrasts is specified it overrides the default factor coding for that variable.

Value

The design matrix for a regression model with the specified formula and data.

References

Chambers, J. M. and Hastie, T. J. eds (1992) Statistical Models in S. Chapman & Hall, London.

See Also

model.frame, model.extract, terms

Examples

data(trees)
ff <- log(Volume) ~ log(Height) + log(Girth)
str(m <- model.frame(ff, trees))
mat <- model.matrix(ff, m)

dd <- data.frame(a = gl(3,4), b = gl(4,1,12))# balanced 2-way
options("contrasts")
model.matrix(~ a + b, dd)
model.matrix(~ a + b, dd, contrasts = list(a="contr.sum"))
model.matrix(~ a + b, dd, contrasts = list(a="contr.sum", b="contr.poly"))
m.orth <- model.matrix(~a+b, dd, contrasts = list(a="contr.helmert"))
crossprod(m.orth)# m.orth is  ALMOST  orthogonal

[Package Contents]