interp1: Interpolation

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/interp1.R

Description

Interpolation methods, including linear, spline, and cubic interpolation.

Usage

1
2
interp1(x, y, xi, method = c("linear", "nearest", "pchip", "cubic", "spline"), 
        extrap = NA, ...)

Arguments

x,y

vectors giving the coordinates of the points to be interpolated. x is assumed to be strictly monotonic.

xi

points at which to interpolate.

method

one of "linear", "nearest", "pchip", "cubic", "spline".

extrap

if TRUE or 'extrap', then extrapolate values beyond the endpoints. If extrap is a number, replace values beyond the endpoints with that number (defaults to NA).

...

for method='spline', additional arguments passed to splinefun.

Details

The following methods of interpolation are available:

'nearest': return nearest neighbour

'linear': linear interpolation from nearest neighbours

'pchip': piecewise cubic hermite interpolating polynomial

'cubic': cubic interpolation from four nearest neighbours

'spline': cubic spline interpolation–smooth first and second derivatives throughout the curve

Value

The interpolated signal, an array of length(xi).

Author(s)

Original Octave version by Paul Kienzle pkienzle@user.sf.net. Conversion to R by Tom Short.

References

Octave Forge https://octave.sourceforge.io/

See Also

approx, filter, resample, interp, spline

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
xf <- seq(0, 11, length=500)
yf <- sin(2*pi*xf/5)
#xp <- c(0:1,3:10)
#yp <- sin(2*pi*xp/5)
xp <- c(0:10)
yp <- sin(2*pi*xp/5)
extrap <- TRUE
lin  <- interp1(xp, yp, xf, 'linear', extrap = extrap)
spl  <- interp1(xp, yp, xf, 'spline', extrap = extrap)
pch  <- interp1(xp, yp, xf, 'pchip', extrap = extrap)
cub  <- interp1(xp, yp, xf, 'cubic', extrap = extrap)
near <- interp1(xp, yp, xf, 'nearest', extrap = extrap)
plot(xp, yp, xlim = c(0, 11))
lines(xf, lin, col = "red")
lines(xf, spl, col = "green")
lines(xf, pch, col = "orange")
lines(xf, cub, col = "blue")
lines(xf, near, col = "purple")

Example output

Attaching package: 'signal'

The following objects are masked from 'package:stats':

    filter, poly

signal documentation built on May 25, 2021, 3 p.m.

Related to interp1 in signal...