Learn R Programming

splines (version 3.4.0)

predict.bSpline: Evaluate a Spline at New Values of x

Description

The predict methods for the classes that inherit from the virtual classes bSpline and polySpline are used to evaluate the spline or its derivatives. The plot method for a spline object first evaluates predict with the x argument missing, then plots the resulting xyVector with type = "l".

Usage

# S3 method for bSpline
predict(object, x, nseg = 50, deriv = 0, …)
# S3 method for nbSpline
predict(object, x, nseg = 50, deriv = 0, …)
# S3 method for pbSpline
predict(object, x, nseg = 50, deriv = 0, …)
# S3 method for npolySpline
predict(object, x, nseg = 50, deriv = 0, …)
# S3 method for ppolySpline
predict(object, x, nseg = 50, deriv = 0, …)

Arguments

object
An object that inherits from the bSpline or the polySpline class.
x
A numeric vector of x values at which to evaluate the spline. If this argument is missing a suitable set of x values is generated as a sequence of nseq segments spanning the range of the knots.
nseg
A positive integer giving the number of segments in a set of equally-spaced x values spanning the range of the knots in object. This value is only used if x is missing.
deriv
An integer between 0 and splineOrder(object) - 1 specifying the derivative to evaluate.
further arguments passed to or from other methods.

Value

an xyVector with components
x
the supplied or inferred numeric vector of x values
y
the value of the spline (or its deriv'th derivative) at the x vector

See Also

xyVector, interpSpline, periodicSpline

Examples

Run this code
require(graphics); require(stats)
ispl <- interpSpline( weight ~ height,  women )
opar <- par(mfrow = c(2, 2), las = 1)
plot(predict(ispl, nseg = 201),     # plots over the range of the knots
     main = "Original data with interpolating spline", type = "l",
     xlab = "height", ylab = "weight")
points(women$height, women$weight, col = 4)
plot(predict(ispl, nseg = 201, deriv = 1),
     main = "First derivative of interpolating spline", type = "l",
     xlab = "height", ylab = "weight")
plot(predict(ispl, nseg = 201, deriv = 2),
     main = "Second derivative of interpolating spline", type = "l",
     xlab = "height", ylab = "weight")
plot(predict(ispl, nseg = 401, deriv = 3),
     main = "Third derivative of interpolating spline", type = "l",
     xlab = "height", ylab = "weight")
par(opar)

Run the code above in your browser using DataLab