Learn R Programming

MortalitySmooth (version 2.3.4)

MortSmooth_bbase: Construct B-spline basis

Description

This is an internal function of package MortalitySmooth which creates equally-spaced B-splines basis over an abscissa of data within the function Mort1Dsmooth.

Usage

MortSmooth_bbase(x, xl, xr, ndx, deg)

Arguments

x
vector for the abscissa of data.
xl
left boundary.
xr
right boundary.
ndx
number of internal knots minus one or number of internal intervals.
deg
degree of the splines.

Value

A matrix containing equally-spaced B-splines of degree deg along x for each column.

Details

The function reproduce an algorithm presented by Eilers and Marx (2010) using differences of truncated power functions (see MortSmooth_tpower). The final matrix has a single B-spline for each of the [ndx + deg] columns. The number of rows is equal to the length of x.

The function differs from bs in the package splines since it automatically constructed B-splines with identical shape. This would allow a simple interpretation of coefficients and application of simple differencing.

References

Eilers P. H. C. and B. D. Marx (2010). Splines, Knots, and Penalties. Wiley Interdisciplinary Reviews: Computational Statistics. 2, 637-653.

See Also

MortSmooth_tpower.

Examples

Run this code
x <- seq(0,1,length=500)
## B-splines basis of degree 1
B1 <- MortSmooth_bbase(x=x, xl=min(x), xr=max(x),
                       ndx=10, deg=1)
matplot(x, B1, t="l", main="B-splines basis of degree 1")
## B-splines basis of degree 3
B3 <- MortSmooth_bbase(x=x, xl=min(x), xr=max(x),
                       ndx=10, deg=3)
matplot(x, B3, t="l", main="B-splines basis of degree 3")

Run the code above in your browser using DataLab