Construct design matrices
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 factor s.
|
xlev
|
to be used as argument of model.frame if
data has no "terms" attribute.
|
Description
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 and Hastie: "Statistical Models in S".See Also
model.frame
,
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