Skip to contents

Linearly Interpolate

Usage

resample_interpolate(x, y, ...)

# S4 method for class 'numeric,numeric'
resample_interpolate(x, y, from, to, by, ...)

# S4 method for class 'ANY,missing'
resample_interpolate(x, y, from, to, by, ...)

Arguments

x, y

A numeric vector. If y is missing, an attempt is made to interpret x in a suitable way (see grDevices::xy.coords()).

...

Extra arguments to be passed to stats::approx().

from

A length-one numeric vector giving the starting value of the sequence where interpolation is to take place.

to

A length-one numeric vector giving the end value of the sequence where interpolation is to take place.

by

A length-one numeric vector specifying the increment of the sequence.

Value

Returns a list with two components x and y.

See also

Other resampling methods: resample_bin(), resample_down()

Author

N. Frerebeau

Examples

## X-ray diffraction
data("XRD")

## Plot spectrum
plot(XRD, type = "l", xlab = expression(2*theta), ylab = "Count")


## Bin by 3
XRD_bin_mean <- resample_bin(XRD, by = 3, f = mean)
XRD_bin_min <- resample_bin(XRD, by = 3, f = min)

plot(XRD, type = "l", xlim = c(25, 35),
     xlab = expression(2*theta), ylab = "Count")
lines(XRD_bin_mean, type = "l", col = "red")
lines(XRD_bin_min, type = "l", col = "green")


## Downsample by 10
XRD_down <- resample_down(XRD, by = 10)

plot(XRD, type = "l", xlim = c(20, 40),
     xlab = expression(2*theta), ylab = "Count")
lines(XRD_down, type = "l", col = "red")


## Linearly interpolate
XRD_approx <- resample_interpolate(XRD, from = 20, to = 40, by = 0.02)

plot(XRD, type = "l", xlim = c(20, 40),
     xlab = expression(2*theta), ylab = "Count")
lines(XRD_approx, type = "l", col = "red")