Generate the B-spline basis matrix for a polynomial spline.

1 2 |

`x` |
the predictor variable. Missing values are allowed. |

`df` |
degrees of freedom; one can specify |

`knots` |
the |

`degree` |
degree of the piecewise polynomial—default is |

`intercept` |
if |

`Boundary.knots` |
boundary points at which to anchor the B-spline
basis (default the range of the non- |

`bs`

is based on the function `spline.des`

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

When `Boundary.knots`

are set *inside* `range(x)`

,
`bs()`

now uses a ‘pivot’ inside the respective boundary
knot which is important for derivative evaluation. In **R** versions
*<=* 3.2.2, the boundary knot itself had been used as
pivot, which lead to somewhat wrong extrapolations.

A matrix of dimension `c(length(x), df)`

, where either `df`

was supplied or if `knots`

were supplied, ```
df =
length(knots) + degree
```

plus one if there is an intercept. Attributes
are returned that correspond to the arguments to `bs`

, and
explicitly give the `knots`

, `Boundary.knots`

etc for use by
`predict.bs()`

.

Douglas Bates and Bill Venables. Tweaks by R Core, and a patch
fixing extrapolation “outside” `Boundary.knots`

by Trevor
Hastie.

Hastie, T. J. (1992)
Generalized additive models.
Chapter 7 of *Statistical Models in S*
eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

`ns`

, `poly`

, `smooth.spline`

,
`predict.bs`

, `SafePrediction`

1 2 3 4 5 6 7 8 |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.