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 factors.
|
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, model.data.frame,
termsExamples
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