This function generates the B-spline basis matrix for a polynomial spline.

bSpline(x, df = NULL, knots = NULL, degree = 3L, intercept = FALSE,
Boundary.knots = range(x, na.rm = TRUE), ...)

## Arguments

x |
The predictor variable. Missing values are allowed and will be
returned as they were. |

df |
Degrees of freedom. One can specify `df` rather than
`knots` , then the function chooses "df - degree" (minus one if
there is an intercept) knots at suitable quantiles of `x` (which
will ignore missing values). The default, `NULL` , corresponds to
no inner knots, i.e., "degree - intercept". If `knots` was
specified, `df` specified will be ignored. |

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 |
Non-negative integer degree of the piecewise polynomial. The
default value is 3 for cubic splines. Zero degree is allowed for this
function, which is the only difference compared with
`bs` in package `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.
By default, they are the range of the non-`NA` data. If both
`knots` and `Boundary.knots` are supplied, the basis
parameters do not depend on `x` . Data can extend beyond
`Boundary.knots` . |

... |
Optional arguments for future usage. |

## Value

A matrix of dimension `length(x)`

by
`df = degree + length(knots)`

(plus one if intercept is included).
Attributes that correspond to the arguments specified are returned
for usage of other functions in this package.

## Details

It is an augmented function of `bs`

in package
`splines`

for B-spline basis that allows piecewise constant (close on
the left, open on the right) spline basis with zero degree. When the
argument `degree`

is greater than zero, it internally calls
`bs`

and generates a basis matrix for representing the
family of piecewise polynomials with the specified interior knots and
degree, evaluated at the values of `x`

. The function has the same
arguments with `bs`

for ease usage.

## See also

## Examples