| model.matrix.earth {earth} | R Documentation |
Get the basis matrix of an earth model.
## S3 method for class 'earth'
model.matrix(object = stop("no 'object' argument"),
x = NULL, subset = NULL, which.terms = NULL,
trace = 0,
...,
Env = parent.frame(),
Callers.name = "model.matrix.earth")
object |
An |
x |
Default is NULL, meaning use the original data
used to build the Else |
subset |
Which rows to use in |
which.terms |
Which terms to use.
Default is NULL, meaning all terms in the earth model
(i.e. the terms in |
trace |
Default 0. Set to non-zero to see which data |
... |
Unused, but provided for generic/method consistency. |
Env |
For internal use. |
Callers.name |
For internal use (used by earth in trace messages). |
A basis matrix bx of the same form returned by earth.
The format of bx is described in earth.object.
If x, subset, and which.terms are all NULL (the
default), this function returns the model's bx. In this case,
it is perhaps easier to simply use object$bx.
The matrix bx can be used
as the input matrix to lm or glm,
as shown below in the example.
In fact, that is what earth does internally after the pruning pass —
it calls lm.fit,
and additionally glm if earth's glm argument is used.
data(trees)
earth.mod <- earth(Volume ~ ., data = trees)
summary(earth.mod, decomp = "none") # "none" to print terms in same order as lm.mod below
bx <- model.matrix(earth.mod) # equivalent to bx <- earth.mod$bx
lm.mod <- lm(trees$Volume ~ bx[,-1]) # -1 to drop intercept
summary(lm.mod) # yields same coeffs as above summary
# displayed t values are not meaningful