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. Ify
is missing, an attempt is made to interpretx
in a suitable way (seegrDevices::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()
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")