IsplineBasis: I-Spline Basis for Monotonic Polynomial Splines

View source: R/IsplineBasis.R

IsplineBasisR Documentation

I-Spline Basis for Monotonic Polynomial Splines

Description

Generate the I-spline basis matrix for a monotonic polynomial spline.

Usage

IsplineBasis(x, df = NULL, knots = NULL, degree = 3, intercept = FALSE,
             Boundary.knots = range(x))

Arguments

x

the predictor variable. Missing values are not allowed.

df

degrees of freedom; if specified the number of knots is defined as df - degree - ifelse(intercept, 1, 0); the knots are placed at the quantiles of x

knots

the internal breakpoints that define the spline (typically the quantiles of x)

degree

degree of the M-spline basis—default is 3 for cubic splines

intercept

if TRUE, the basis includes an intercept column

Boundary.knots

boundary points for M-spline basis; defaults to min and max of x

Details

Syntax is adapted from the bs function in the splines package (R Core Team, 2021).

Used for implementing monotonic smoothness constraints in the cmls fucntion.

Value

A matrix of dimension c(length(x), df) where either df was supplied or df = length(knots) + degree + ifelse(intercept, 1, 0)

Note

I-spline basis functions are created by integrating M-spline basis functions.

Author(s)

Nathaniel E. Helwig <helwig@umn.edu>

References

R Core Team (2023). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project.org/

Ramsay, J. O. (1988). Monotone regression splines in action. Statistical Science, 3, 425-441. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1214/ss/1177012761")}

See Also

MsplineBasis

Examples

x <- seq(0, 1, length.out = 101)
I <- IsplineBasis(x, df = 8, intercept = TRUE)
plot(x, I[,1], ylim = c(0, 1), t = "l")
for(j in 2:8) lines(x, I[,j], col = j)

CMLS documentation built on April 3, 2023, 5:24 p.m.