Regression Spline Functions and Classes

Constructs B-splines and its integral, monotone splines (M-splines) and its integral (I-splines), convex splines (C-splines), and their derivatives of given order. Piecewise constant basis is allowed for B-splines and M-splines. See De Boor (1978) , Ramsay (1988) , and Meyer (2008) for more information.

The R package splines2 is a complementary package on splines providing functions constructing B-splines, monotone splines (M-splines) and its integral (I-splines), convex splines (C-splines), and integral of B-splines. Piecewise constant basis of degree zero is allowed for B-spline and M-spline basis.

You can install the released version from CRAN.


The latest version of package is under development at GitHub in branch 'dev'. If it is able to pass the building check by Travis CI, you may consider installing it with the help of devtools by

devtools::install_github("wenjie2wang/splines2", ref = "dev")

or cloning this reposotory to local and install by makefile as follows:

git clone
cd splines2
make install

The R package splines2 is free software: You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version (at your option). See the GNU General Public License for details.

The R package splines2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


CHANGES IN splines2 VERSION 0.2.3

  • Fixed one-piece constant basis for M-splines.

CHANGES IN splines2 VERSION 0.2.2

  • Fixed the NA's handling in all the functions constructing spline bases.

CHANGES IN splines2 VERSION 0.2.1

  • Added function bSpline generating B-spline basis allowing zero degree or piecewise constant basis based on function bs in package splines.

  • Introduced function bSpline to allow M-splines of degree zero.

  • Added function cSpline constructing convex spline (C-spline) basis.

  • Added predict methods for bSpline2 object and cSpline object generated by bSpline and cSpline, respectively.

  • Added print methods for all splines2 objects developed so far.

  • Improved the function iSpline to construct I-spline basis directly from B-spline basis instead of M-spline basis.
  • Updated all CRAN URL to a canonical form suggested.

CHANGES IN splines2 VERSION 0.1.0

  • The first version of splines2 providing functions constructing M-spline, I-spline, and integral of B-spline basis.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.2.6 by Wenjie Wang, 2 months ago

Report a bug at

Browse source code at

Authors: Wenjie Wang [aut, cre], Jun Yan [aut]

Documentation:   PDF Manual  

GPL (>= 3) license

Imports splines, stats

Suggests knitr, rmarkdown, testthat

Imported by reda.

Depended on by momentuHMM.

See at CRAN