splines2 0.5.4
Minor changes
- Suppressed the warning message for data outside boundary from the
plot()methods.
Bug fixes
- Fixed the implementation of natural cubic splines with one internal
knot: issue
18.
splines2 0.5.3
Minor changes
- Incorporated changes suggested by GCC compiler for C++20 to suppress
the warning:
warning: template-id not allowed for constructor in C++20.
splines2 0.5.2
New features
- Added a new argument named coefto theplot()method forsplines2objects, allowing
visualization of the fitted spline function with a given coefficient
vector.
Minor changes
- Made the error message more clear for duplicated internal
knots.
splines2 0.5.1
Minor changes
- Fixed broken @docType packagedocumentation.
splines2 0.5.0
New features
- Added a new function named nsk()for natural cubic
spline basis functions following the functionsurvival::nsk()(introduced in survival
package version 3.2-8).
- Added plot()methods to quickly visualize the spline
basis functions.
- Added $method to extract an attribute of the returnedsplines2object.
- Added a new argument named periodictobSpline()for periodic B-splines and a new class namedPeriodicBSplineto the Rcpp interface: issue
19.
- Added a new argument named coefto thepredict()methods to compute the responding spline function
and made it possible to obtain the derivatives or update spline basis
functions by passing...to theupdate()methods.
- Added a new argument named trimtonaturalSpline()to set the default boundary knots after
trimming a fraction of observations.
- Added a new argument named warn.outsideand a package
option namedsplines2.warn.outsideto specify if a warning
should be thrown out for B-splines, etc. when anyxis
placed outside the boundary.
- Added the following function aliases to encourage the use in a model
formula:
- bsp()=- bSpline()
- msp()=- mSpline()
- isp()=- iSpline()
- csp()=- cSpline()
- nsp()=- naturalSpline()
- bpoly()=- bernsteinPoly()
 
- Added a matrix named Hto the attribution of objects
for natural cubic splines so that users may transform cubic B-splines
(from other software/packages) to the natural cubic splines (returned bynaturalSpline()/nsp()ornsk()).
Major changes
- Adjusted the class order of the returned objects.
- Adjusted the default placement of the internal knots from the
specified dfto be equidistant if the internal knots
resulting from quantiles are problematic. A warning will be thrown out
in that case.
splines2 0.4.8
Bug fixes
- Fixed the Rcpp interface of PeriodicMSplineso that a
simple knot sequence can be specified throughset_knot_sequence: issue
18.
splines2 0.4.7
Minor changes
- Adjusted the column arrangement of the natural cubic spline basis
matrix so that it matches the equations given in the JDS paper: issue
17.
splines2 0.4.6
New features
- Added update()methods to produce new spline basis
functions based on the given object with specified updates in terms ofdegreeandknots, etc.
Minor changes
- Appended a new class named splines2to the output
matrices to simplify some common S3 methods.
splines2 0.4.5
Minor changes
- Improved the computational efficiency of finding the knot intervals
for x(by replacing the naive binary search implementation
withstd::upper_boundandstd::distance).
splines2 0.4.4
New features
- Added the makepredictcall()methods for all available
spline basis functions to helpmodel.frame.default()create
the right matrices when predicting from models with terms such asbSpline(), etc. Thanks Zheyuan Li for suggesting this
feature.
- Added arguments derivsandintegaltobSpline()for consistency withmSpline()andbernsteinPoly(), 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 forcSplineobjects whenscale = 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 BernsteinPolyandPeriodicMSplineobjects 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) >= degreetolength(knots) >= degree - 1.
splines2 0.4.1
New features
- Added function naturalSpline()providing implementation
of nonnegative natural cubic splines.
- Added argument periodicto functionmSpline()for periodic M-splines.
- Added argument integralto functionmSpline()for integrals of M-splines or periodic
M-splines.
- Added deriv(),predict(), andprint()method fornaturalSplineclass
object.
Minor changes
- Updated the deriv()method formSplineclass 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 interceptin
functioniSpline()andcSpline()toTRUEfor a complete set of spline basis functions in
shape-restricted regression.
- Removed the corresponding M-spline basis from attributes of outputs
from iSpline()andcSpline().
- 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 dffor piecewise
constant basis functions whenknots = 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 whenscale = TRUE.
splines2 0.2.4
New features
- Added function dbs()generating derivative of given
order of B-splines. It is a similar function withsplines::splineDesign(). However, it provides a more
user-friendly interface and more consistent handling onNA’s.
- Added deriv()methods for derivatives of given order of
any existing splines2 object that can be generated
currently.
Major changes
- Added argument derivsto functionmSpline()andiSpline()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 functionbs()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 forbSpline2object andcSplineobject generated bybSpline()andcSpline(), 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.