\HeaderA{interpSpline}{Create an Interpolation Spline}{interpSpline}
\keyword{models}{interpSpline}
\begin{Description}\relax
Create an interpolation spline, either from \code{x} and \code{y}
vectors, or from a formula/data.frame combination.
\end{Description}
\begin{Usage}
\begin{verbatim}
interpSpline(obj1, obj2, bSpline = FALSE, period = NULL,
             na.action = na.fail)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{obj1}] Either a numeric vector of \code{x} values or a formula.
\item[\code{obj2}] If \code{obj1} is numeric this should be a numeric vector
of the same length.  If \code{obj1} is a formula this can be an
optional data frame in which to evaluate the names in the formula.
\item[\code{bSpline}] If \code{TRUE} the b-spline representation is returned,
otherwise the piecewise polynomial representation is returned.
Defaults to \code{FALSE}.
\item[\code{period}] An optional positive numeric value giving a period for a
periodic interpolation spline.
\item[\code{na.action}] a optional function which indicates what should happen
when the data contain \code{NA}s.  The default action
(\code{na.omit}) is to omit any incomplete observations.  The
alternative action \code{na.fail} causes \code{interpSpline} to print
an error message and terminate if there are any incomplete
observations.
\end{ldescription}
\end{Arguments}
\begin{Value}
An object that inherits from class \code{spline}. The object can be in
the B-spline representation, in which case it will be of class
\code{nbSpline} for natural B-spline, or in the piecewise polynomial
representation, in which case it will be of class \code{npolySpline}.
\end{Value}
\begin{Author}\relax
Douglas Bates and Bill Venables
\end{Author}
\begin{SeeAlso}\relax
\code{\LinkA{splineKnots}{splineKnots}},
\code{\LinkA{splineOrder}{splineOrder}},
\code{\LinkA{periodicSpline}{periodicSpline}}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
require(graphics); require(stats)
ispl <- interpSpline( women$height, women$weight )
ispl2 <- interpSpline( weight ~ height,  women )
# ispl and ispl2 should be the same
plot( predict( ispl, seq( 55, 75, len = 51 ) ), type = "l" )
points( women$height, women$weight )
plot( ispl )    # plots over the range of the knots
points( women$height, women$weight )
splineKnots( ispl )
\end{ExampleCode}
\end{Examples}

