predict.bSpline           package:splines           R Documentation

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 class 'bSpline':
     predict(object, x, nseg=50, deriv=0, ...)
     ## S3 method for class 'nbSpline':
     predict(object, x, nseg=50, deriv=0, ...)
     ## S3 method for class 'pbSpline':
     predict(object, x, nseg=50, deriv=0, ...)
     ## S3 method for class 'npolySpline':
     predict(object, x, nseg=50, deriv=0, ...)
     ## S3 method for class '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

Author(s):

     Douglas Bates and Bill Venables

See Also:

     'xyVector', 'interpSpline', 'periodicSpline'

Examples:

     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)

