## 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 `df` rather than `knots`; `bs()` then chooses `df-degree-1` knots at suitable quantiles of `x`.
`knots` | the internal breakpoints that define the spline. The default is `NULL`, which results in a basis for ordinary polynomial regression. Typical values are the mean or median for one knot, quantiles for more knots. See also `Boundary.knots`.
`degree` | degree of the piecewise polynomial---default is 3 for cubic splines.
`intercept` | if `TRUE`, an intercept is included in the basis; default is `FALSE`.
`Boundary.knots` | boundary points at which to anchor the B-spline basis (default the range of the data). If both `knots` and `Boundary.knots` are supplied, the basis parameters do not depend on `x`. Data can extend beyond `Boundary.knots`

## 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

    lm(y ~ bs(age, 4) + bs(income, 4)) # an additive model
    fit <- lm(y ~ bs(age, knots=c(20,30), B=c(0,100)))
    predict(fit, new.age) #safe predictions because explicit knot sequence was supplied.

[Package Contents]