"smooth.Pspline" which is a natural
polynomial smooth of the input data of order fixed by the user.smooth.Pspline(x, y, w=rep(1, length(x)), norder=2, df=norder + 2,
spar=0, method=1)
sm.spline(x, y, w, cv=FALSE, ...)"smooth.Pspline" is returned, consisting of the fitted
smoothing spline evaluated at the supplied data, some fitting criteria
and constants. This object contains the information necessary to evaluate
the smoothing spline or one of its derivatives at arbitrary argument
values using predict.smooth.Pspline. The components of the returned
list arelength(x) rows, each column of which contains
the smoothed response variable values for the corresponding column of y.method = 1, but adjusted otherwise.smooth.spline, but
the smoothing function is a natural smoothing spline rather than a B-spline
smooth, and as a consequence will differ slightly for norder = 2 over the
initial and final intervals.
The main extension is the possibility of setting the order of
derivative to be penalized, so that derivatives of any order can be
computed using the companion function predict.smooth.Pspline. The
algorithm is of order N, meaning that the number of floating point
operations is proportional to the number of values being smoothed.
Note that the argument values must be strictly increasing, a condition
that is not required by smooth.spline.
Note that the appropriate or minimized value of the smoothing parameter
spar will depend heavily on the order; the larger the order, the smaller
this parameter will tend to be.
predict.smooth.Pspline, smooth.splinedata(cars)
attach(cars)
plot(speed, dist, main = "data(cars) & smoothing splines")
cars.spl <- sm.spline(speed, dist)
cars.spl
lines(cars.spl, col = "blue")
lines(sm.spline(speed, dist, df=10), lty=2, col = "red")Run the code above in your browser using DataLab