approx (x, y, xout, method="linear", n=50,
yleft, yright, rule=1, f=0)
approxfun(x, y, method="linear",
yleft, yright, rule=1, f=0)
x,y
| vectors giving the coordinates of the points to be interpolated. Alternatively a single plotting structure can be specified. |
xout
| an optional set of values specifying where interpolation is to take place. |
method
|
specifies the interpolation method to be used. Choices
are "linear" or "constant".
|
n
|
If xout is not specified, interpolation takes place at
n equally spaced points spanning the interval [min(x),
max(x)].
|
yleft
|
the value to be returned when input x values
less than min(x). The default is defined by the value
of rule given below.
|
yright
|
the value to be returned when input x values
greater than max(x). The default is defined by the value
of rule given below.
|
rule
|
an integer describing how interpolation is to take place
outside the interval [min(x), max(x)].
If rule is 1 then NAs are returned for such
points and if it is 2, the value at the closest data extreme
is used.
|
f
|
For method="constant" a number between 0 and 1
inclusive, indicating a compromise between left- and
right-continuous step functions. If y0 and y1 are the
values to the left and right of the point then the value is
y0*f+y1*(1-f) so that f=0 is right-continuous and
f=1 is left-continuous.
|
approx returns a list with components x and y,
containing n coordinates which interpolate the given data
points according to the method (and rule) desired.
The function approxfun returns a function performing (linear or
constant) interpolation of the given data points. For a given set of
x values, this function will return the corresponding
interpolated values. This is often more useful than approx.
spline and splinefun for spline
interpolation.x <- 1:10 y <- rnorm(10) par(mfrow = c(2,1)) plot(x, y, main = "approx(.) and approxfun(.)") points(approx(x, y), col = 2, pch = "*") points(approx(x, y, method = "constant"), col = 4, pch = "*") f <- approxfun(x, y) curve(f(x), 0, 10, col = "green") points(x, y) is.function(fc <- approxfun(x, y, method = "const")) # T curve(fc(x), 0, 10, col = "darkblue", add = TRUE)