splines2 0.4.5
Minor changes
- Improved the computational efficiency of finding the knot intervals for
x
(by replacing the naive binary search implementation with std::upper_bound
and std::distance
).
splines2 0.4.4
New features
- Added the
makepredictcall()
methods for all available spline basis functions to help model.frame.default()
create the right matrices when predicting from models with terms such as bSpline()
, etc. Thanks Zheyuan Li for suggesting this feature.
- Added arguments
derivs
and integal
to bSpline()
for consistency with mSpline()
and bernsteinPoly()
, etc.
Minor changes
- Made the internal checking procedure more strict to throw an error if any internal knots are placed at or outside boundary: issue 5.
Bug fixes
- Fixed the
predict()
method for cSpline
objects when scale = FALSE
.
splines2 0.4.3
New features
- Enabled extended knot sequence that allows multiplicity of internal knots for B-splines, M-splines, I-splines, and C-splines in the C++ interface.
- Added type conversion to
BernsteinPoly
and PeriodicMSpline
objects to the C++ interface.
Minor changes
- Added testing examples for constructing spline basis functions via the C++ interface.
splines2 0.4.2
New features
- Added
knots()
methods to extract internal knots and boundary knots from a given splines2 object.
Major changes
- Updated the generation of the knot sequence for periodic M-splines following Piegl and Tiller (1997), which relaxed the previous requirement that
length(knots) >= degree
to length(knots) >= degree - 1
.
splines2 0.4.1
New features
- Added function
naturalSpline()
providing implementation of nonnegative natural cubic splines.
- Added argument
periodic
to function mSpline()
for periodic M-splines.
- Added argument
integral
to function mSpline()
for integrals of M-splines or periodic M-splines.
- Added
deriv()
, predict()
, and print()
method for naturalSpline
class object.
Minor changes
- Updated the
deriv()
method for mSpline
class object for periodic M-splines.
splines2 0.3.1
Minor changes
- Modified testing examples for CRAN tests on r-patched-solaris-x86 and r-oldrel-macos-x86_64.
splines2 0.3.0
New features
- Added function
bernsteinPoly()
providing implementation of generalized Bernstein polynomials.
- Added C++ interface that can be easily integrated with Rcpp.
Major changes
- Changed most implementations from R to C++ with help of Rcpp and RcppArmadillo to boost the performance.
Minor changes
- Made piece-wise constant basis functions continuous at right boundary knot for consistency with spline basis matrix of non-zero degrees.
- Changed the default value of argument
intercept
in function iSpline()
and cSpline()
to TRUE
for a complete set of spline basis functions in shape-restricted regression.
- Removed the corresponding M-spline basis from attributes of outputs from
iSpline()
and cSpline()
.
- Removed the corresponding B-spline basis from attributes of outputs from
bSpline()
.
Bug fixes
- Fixed
deriv.mSpline()
method for third derivatives of scaled C-splines.
splines2 0.2.8
Bug fixes
- Fixed inconsistency of argument
df
for piecewise constant basis functions when knots = NULL
.
Minor changes
- Rewrote testing suite for using the tinytest package instead of testthat.
splines2 0.2.7
Minor changes
- Updated tests for R development version.
splines2 0.2.6
Minor changes
- Added checks for any internal knot incorrectly placed outside of the boundary knots and added warnings for users’ reference.
splines2 0.2.5
Minor changes
- Added more tests and increased code coverage.
Bug fixes
- Fixed evaluation of derivatives of M-splines for a single value. Thanks Ina Jazic for reporting the bug and providing possible fix.
- Fixed
deriv.cSpline()
method for derivatives of order greater than two when scale = TRUE
.
splines2 0.2.4
New features
- Added function
dbs()
generating derivative of given order of B-splines. It is a similar function with splines::splineDesign()
. However, it provides a more user-friendly interface and more consistent handling on NA
’s.
- Added
deriv()
methods for derivatives of given order of any existing splines2 object that can be generated currently.
Major changes
- Added argument
derivs
to function mSpline()
and iSpline()
for derivatives.
- Changed all the classes of object generated for a better dispatching on methods.
Minor changes
- Added tests for all major functions with the help of package testthat.
Bug fixes
- Fixed the generation of splines without any internal knot.
splines2 0.2.3
Bug fixes
- Fixed one-piece constant basis for M-splines.
splines2 0.2.2
Bug fixes
- Fixed the NA’s handling in all the functions constructing spline basis matrix.
splines2 0.2.1
New features
- Added function
bSpline()
generating B-spline basis allowing zero degree or piecewise constant basis based on function bs()
in the splines package.
- 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.
Major changes
- Improved the function
iSpline()
to construct I-spline basis directly from B-spline basis instead of M-spline basis.
Minor changes
- Updated all CRAN URL to a canonical form suggested.
splines2 0.1.0
New features
- The first version of splines2 providing functions constructing M-spline, I-spline, and integral of B-spline basis.