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:

     predict(object, x, nseg=50, deriv=0, ...)
     plot.spline(x, ...)

Arguments:

  object: An object that inherits from the `bSpline' or the
          `polySpline' class.  For `plot.spline' this argument is
          called `x'.

       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.  For `plot.spline' the `x' argument
          is as described under `object' above.

    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.

     ...: `predict': further arguments passed to or from other methods.

          `plot': additional graphical parameters (see `link{par}'). 

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:

     data( women )
     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)

