ps {lazy.stat} R Documentation

## Generate Piecewise Spline Basis

### Description

Generate Piecewise Spline Basis

### Usage

```ps(x, degree = 3, nknots = 0, knots = NULL, intercept = TRUE,
xmin = NULL, xmax = NULL, rescale = 0, orth = 0, xrange = NULL,
xrange0 = NULL, Xrange0 = NULL, print = 0, xlab = "new",
xlim = NULL, ylim = NULL, title = "p-spline", plot = 0)
```

### Arguments

 `x` Input vector. `degree` Degree of polynomial to be used. `nknots` # of knots to be used in [xmin, xmax]. `knots` vector consisting of (internal) knots to be used. `intercept` = 0 to omit the intercept. `xmin` minimum of internal knots. `xmax` maximum of internal knots. `rescale` = 1 to rescale all the basis in [0,1]. `orth` = 1 to orthogonalize the basis. `xrange` New range of x: When present, x will be transformed as x=xrange[1]+(x-xrange0[1])*(xrange[2]-xrange[1])/(xrange0[2]-xrange0[1]) `xrange0` Current range of x `Xrange0` A matrix containing mimimum and maximum values of each column of X before range conversion. `print` = 1 to print the result. `xlab` ="org" to label x with original scale when xrange is present. `xlim` xlim for plot. `ylim` ylim for plot. `title` Plot title. `plot` = 1 to plot the result.

### Details

When knots are present, it has priority over nknots.
When rescale = 1, the spline basis matrix will be rescaled as
X=t( (t(X)-Xrange0[1,])/(Xrange0[2,]-Xrange0[1,]) )

The old minmax will be stored in Xrange0.

When xrange is present, x will be transformed as
x=xrange[1]+(x-xrange0[1])*(xrange[2]-xrange[1])/(xrange0[2]-xrange0[1])
so that the new range will be xrange[1] <= x xrange[2].

The old range will be stored in xrange0.

xrange0 and Xrange0 will be used in predict_sp.

### Value

List of: x
X=length(x) x (nknots+degree+1) spline basis matrix
knots ( boundary + inside )
interior.knots, boundary.knots, degree, nknots rescale, orth x_org and knots_org: x and knots in original x scale before range change.

### Examples

```
n <- 50
x <- seq(10,20,length=n)
res <- ps( x, nknots=4, plot=1 )
res <- ps( x, nknots=4, plot=1, rescale=1 )
res <- ps( x, nknots=4, plot=1, rescale=1, xrange=c(-1,1) )
res <- ps( x, nknots=4, plot=1, rescale=1, xrange=c(-1,1), xlab="org" )

```

[Package lazy.stat version 0.1.3 Index]