bkde {KernSmooth}R Documentation

Compute a Binned Kernel Density Estimate


Returns x and y coordinates of the binned kernel density estimate of the probability density of the data.


bkde(x, kernel = "normal", canonical = FALSE, bandwidth,
     gridsize = 401, range.x, truncate = TRUE)


x vector of observations from the distribution whose density is to be estimated. Missing values are not allowed.
bandwidth the kernel bandwidth smoothing parameter. Larger values of bandwidth make smoother estimates, smaller values of bandwidth make less smooth estimates.
kernel character string which determines the smoothing kernel. kernel can be: "normal" - the Gaussian density function (the default). "box" - a rectangular box. "epanech" - the centred beta(2,2) density. "biweight" - the centred beta(3,3) density. "triweight" - the centred beta(4,4) density.
canonical logical flag: if TRUE, canonically scaled kernels are used.
gridsize the number of equally spaced points at which to estimate the density.
range.x vector containing the minimum and maximum values of x at which to compute the estimate. The default is the minimum and maximum data values, extended by the support of the kernel.
truncate logical flag: if TRUE, data with x values outside the range specified by range.x are ignored.


This is the binned approximation to the ordinary kernel density estimate. Linear binning is used to obtain the bin counts. For each x value in the sample, the kernel is centered on that x and the heights of the kernel at each datapoint are summed. This sum, after a normalization, is the corresponding y value in the output.


a list containing the following components:

x vector of sorted x values at which the estimate was computed.
y vector of density estimates at the corresponding x.


Density estimation is a smoothing operation. Inevitably there is a trade-off between bias in the estimate and the estimate's variability: large bandwidths will produce smooth estimates that may hide local features of the density; small bandwidths may introduce spurious bumps into the estimate.


Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and Hall, London.

See Also

density, dpik, hist, ksmooth.


data(geyser, package="MASS")
x <- geyser$duration
est <- bkde(x, bandwidth=0.25)
plot(est, type="l")

[Package KernSmooth version 2.22-20 Index]