Learn R Programming

phonTools (version 0.1-3)

interpolate: Interpolation

Description

Piece-wise cubic or linear spline interpolation.

Usage

interpolate (y, x = 1:length(y), steps = 20, increment = -1, show = FALSE, 
output = TRUE, type = 'cubic', ...)

Arguments

y
a vector of 'knots', between which the function will interpolate points.
x
the 'x' coordinates corresponding to each knot. If not specified, the knots are assumed to be equally spaced.
steps
the number of interpolating steps between each knot. Increasing this number will result in a smoother interpolation. If the knots are not equally spaced along the x-axis, the interpolated points will not be equally spaced.
increment
If this is greater than 0, interpolated points are separated along the x-axis by this value. Note that if the knot locations are not multiples of this increment, there will be irregularities in the spacing of the interpolated points.
show
if TRUE, the result of the interpolation is shown in a plot.
output
if TRUE, the interpolated values are returned.
type
if 'cubic', a natural cubic spline interpolation is performed. If 'linear', a linear interpolation is performed.
...
additional arguments are passed to the internal call of plot if output = TRUE.

Value

  • If output = TRUE, a dataframe with columns corresponding to the x and y columns of the interpolated points is returned.
  • xthe x-axis coordinates of the inerpolated points.
  • ythe y-axis coordinates of the inerpolated points.

Details

By default, this function performs a 'natural' cubic spline interpolation between the points provided by the user. Optionally, a linear interpolation between the points may be carried out.

References

http://en.wikipedia.org/wiki/Spline_interpolation

Examples

Run this code
y = rnorm (10, 0, 5)
interpolate (y, output = FALSE, show = TRUE)
linear = interpolate (y, type = 'linear')
lines (linear, col = 2)

Run the code above in your browser using DataLab