splineDesign
Design Matrix for B-splines

### Description

Evaluate the design matrix for non-zero B-spline basis functions (or their derivatives).

### Usage

    splineDesign(knots, x, ord = 4, derivs = integer(nx), outer.ok = FALSE, sparse = FALSE)

### Arguments

knots | a numeric vector specifying the knots position of a B-spline. This vector is sorted by non-decreasing, and the number of knots must be at least ord. If outer.ok is FALSE, the number of knots must be at least 2*ord-1.
x | a numeric vector specifying the values at which the B-spline functions or derivatives are evaluated. If outer.ok is FALSE, the values of x must be in the range of knots[ord] and knots[length(knots) - ord +1].
ord | a positive integer specifying the order of the spline. Its value must be at most the number of knots. The default is 4.
derivs | an integer vector with the same length as x, and with values between 0 and ord - 1. The default is a vector of zeroes with the same length as x.
outer.ok | a logical value. allow values of x that are below knots[ord] or above knots[length(knots)-ord+1]. The basis functions will not add to 1 outside of this range, in fact they will add to 0 outside the range of all the knots, so this is not recommended for use in regresion.
sparse | a logical value. This argument is assumed to be FALSE until sparse matrices are supported. Until then, if sparse is set to TRUE, splineDesign returns a warning.

### Details

This function returns a design matrix with length(x) rows and length(knots)-ord columns. Each row of the matrix contains the coefficients of the B-splines or the derivative of the B-splines. These splines are defined by the knots vector and evaluated at the values of x. The total number of B-splines is length(knots)-ord because each B-spline is defined by a set of ord successive knots.
Value
returns a matrix described in the DETAILS section.
See Also
bs and ns use splineDesign to construct spline basis functions useful for regression.
Examples

    x <- seq(1, 5, by=1/4)
    basis <- splineDesign(knots = c(1, 1, 1, 1, 3, 4, 5, 5, 5, 5), x = x)
    dbasis <- splineDesign(knots = c(1, 1, 1, 1, 3, 4, 5, 5, 5, 5), x = x,
                           derivs = rep(1,17))

Package splines version 6.1.5-18
Package Index