| bs {splines} | R Documentation |
Generate a Basis for Polynomial Splines
Usage
bs(x, df, knots, degree=3, intercept=FALSE, Boundary.knots)
Arguments
x |
the predictor variable. |
df |
degrees of freedom; one can specify |
knots |
the internal breakpoints that define the
spline. The default is |
degree |
degree of the piecewise polynomial—default is 3 for cubic splines. |
intercept |
if |
Boundary.knots |
boundary points at which to anchor the B-spline
basis (default the range of the data). If both |
Value
a matrix of dimension length(x) * df, where either df
was supplied or if knots were supplied,
df = length(knots) + 3 + intercept. Attributes are returned
that correspond to the arguments to bs, and explicitly give
the knots, Boundary.knots etc for use by
predict.bs().
bs() is based on the function spline.des() written by
Douglas Bates. It generates a basis matrix for representing the family
of piecewise polynomials with the specified interior knots and degree,
evaluated at the values of x. A primary use is in modeling
formulas to directly specify a piecewise polynomial term in a model.
Beware of making predictions with new x values when df
is used as an argument. Either use safe.predict.gam(), or else
specify knots and Boundary.knots.
See Also
ns, poly, lo, s, smooth.spline,
predict.bs.
Examples
library(splines)
data(women)
bs(women$height, df = 5)
summary(fm1 <- lm(weight ~ bs(height, df = 5), data = women))