locpoly {KernSmooth} | R Documentation |
Estimates a probability density function, regression function or their derivatives using local polynomials. A fast binned implementation over an equally-spaced grid is used.
locpoly(x, y, drv = 0L, degree, kernel = "normal", bandwidth, gridsize = 401L, bwdisc = 25, range.x, binned = FALSE, truncate = TRUE)
x |
numeric vector of x data. Missing values are not accepted. |
bandwidth |
the kernel bandwidth smoothing parameter.
It may be a single number or an array having
length |
y |
vector of y data.
This must be same length as |
drv |
order of derivative to be estimated. |
degree |
degree of local polynomial used. Its value
must be greater than or equal to the value
of |
kernel |
|
gridsize |
number of equally-spaced grid points over which the function is to be estimated. |
bwdisc |
number of logarithmically-equally-spaced bandwidths
on which |
range.x |
vector containing the minimum and maximum values of |
binned |
logical flag: if |
truncate |
logical flag: if |
if y
is specified, a local polynomial regression estimate of
E[Y|X] (or its derivative) is computed.
If y
is missing, a local polynomial estimate of the density
of x
(or its derivative) is computed.
a list containing the following components:
x |
vector of sorted x values at which the estimate was computed. |
y |
vector of smoothed estimates for either the density or the regression
at the corresponding |
Local polynomial fitting with a kernel weight is used to
estimate either a density, regression function or their
derivatives. In the case of density estimation, the
data are binned and the local fitting procedure is applied to
the bin counts. In either case, binned approximations over
an equally-spaced grid is used for fast computation. The
bandwidth may be either scalar or a vector of length
gridsize
.
Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and Hall, London.
bkde
, density
, dpill
,
ksmooth
, loess
, smooth
,
supsmu
.
data(geyser, package = "MASS") # local linear density estimate x <- geyser$duration est <- locpoly(x, bandwidth = 0.25) plot(est, type = "l") # local linear regression estimate y <- geyser$waiting plot(x, y) fit <- locpoly(x, y, bandwidth = 0.25) lines(fit)