ksmooth
Kernel Regression Smoother
The Nadaraya--Watson kernel regression estimate.
- Keywords
- smooth
Usage
ksmooth(x, y, kernel = c("box", "normal"), bandwidth = 0.5, range.x = range(x), n.points = max(100L, length(x)), x.points)
Arguments
- x
- input x values. Long vectors are supported.
- y
- input y values. Long vectors are supported.
- kernel
- the kernel to be used. Can be abbreviated.
- bandwidth
- the bandwidth. The kernels are scaled so that their
quartiles (viewed as probability densities) are at
$+/-$
0.25*bandwidth
. - range.x
- the range of points to be covered in the output.
- n.points
- the number of points at which to evaluate the fit.
- x.points
- points at which to evaluate the smoothed fit. If
missing,
n.points
are chosen uniformly to coverrange.x
. Long vectors are supported.
Value
-
A list with components
- x
- values at which the smoothed fit is evaluated. Guaranteed to be in increasing order.
- y
- fitted values corresponding to
x
.
Note
This function was implemented for compatibility with S, although it is nowhere near as slow as the S function. Better kernel smoothers are available in other packages such as \href{https://CRAN.R-project.org/package=#1}{\pkg{#1}}KernSmoothKernSmooth.
Examples
library(stats)
require(graphics)
with(cars, {
plot(speed, dist)
lines(ksmooth(speed, dist, "normal", bandwidth = 2), col = 2)
lines(ksmooth(speed, dist, "normal", bandwidth = 5), col = 3)
})
Community examples
Looks like there are no examples yet.