# B-Spline Basis for Polynomial Splines

### Description

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

### Usage

1 2 |

### Arguments

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

### Details

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

### Value

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()`

.

### Author(s)

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

by Trevor
Hastie.

### References

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.

### See Also

`ns`

, `poly`

, `smooth.spline`

,
`predict.bs`

, `SafePrediction`

### Examples

1 2 3 4 5 6 7 8 |