# ispline: I-spline basis of each column of a given matrix In SVMMaj: SVMMaj algorithm

## Description

Create a I-spline basis for an array. \ will equally distribute the knots over the value range using quantiles.

## Usage

 `1` ```isb(x, spline.knots = 0 , knots=NULL, spline.degree = 1) ```

## Arguments

 `x` The predictor variable, which will be tranformed into I-spline basis. `spline.knots` Number of inner knots to use. `isb` will equally distribute the knots over the value range using quantiles. `spline.knots` will only be used if `knots` is not given. `knots` An array consisting all knots (boundary knots as well as the interior knots) to be used to create the spline basis. `spline.degree` The polynomial degree of the spline basis.

## Value

Returns the I-spline with the used spline settings as attribute. The spline settings attribute can transform the same attribute of any other objects using the same knots.

## Author(s)

Hok San Yip, Patrick J.F. Groenen, Georgi Nalbantov

## References

P.J.F. Groenen, G. Nalbantov and J.C. Bioch (2008) SVM-Maj: a majorization approah to linear support vector machines with different hinge errors. J.O. Ramsay (1988) Monotone regression splines in action. Statistical Science, 3(4):425-461

`svmmaj`
 ```1 2 3 4 5 6 7``` ```## create I-spline basis for the first 50 observations x <- iris\$Sepal.Length B1 <- isb(x[1:50],spline.knots=4,spline.degree=3) ## extracting the spline transformation settings spline.param <- attr(B1,'splineInterval') ## use the same settings to apply to the next 50 observations B2 <- isb(x[-(1:50)],spline.degree=3,knots=spline.param) ```