MortSmooth_bbase: Construct B-spline basis

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/MortSmooth_bbase.R

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

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

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.

Value

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

Author(s)

Carlo G Camarda

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

1
2
3
4
5
6
7
8
9
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")

MortalitySmooth documentation built on May 29, 2017, 7:11 p.m.