Returns the set of grid points in each coordinate direction, and the matrix of density estimates over the mesh induced by the grid points. The kernel is the standard bivariate normal density.
bkde2D(x, bandwidth, gridsize = c(51L, 51L), range.x, truncate = TRUE)
a two-column numeric matrix containing the observations from the distribution whose density is to be estimated. Missing values are not allowed.
numeric vector oflength 2, containing the bandwidth to be used in each coordinate direction.
vector containing the number of equally spaced points in each direction over which the density is to be estimated.
a list containing two vectors, where each vector
contains the minimum and maximum values of x
at which to compute the estimate for each direction.
The default minimum in each direction is minimum
data value minus 1.5 times the bandwidth for
that direction. The default maximum is the maximum
data value plus 1.5 times the bandwidth for
that direction
logical flag: if TRUE, data with x
values outside the
range specified by range.x
are ignored.
a list containing the following components:
vector of values of the grid points in the first coordinate direction at which the estimate was computed.
vector of values of the grid points in the second coordinate direction at which the estimate was computed.
matrix of density estimates
over the mesh induced by x1
and x2
.
This is the binned approximation to the 2D kernel density estimate.
Linear binning is used to obtain the bin counts and the
Fast Fourier Transform is used to perform the discrete convolutions.
For each x1
,x2
pair the bivariate Gaussian kernel is
centered on that location and the heights of the
kernel, scaled by the bandwidths, at each datapoint are summed.
This sum, after a normalization, is the corresponding
fhat
value in the output.
Wand, M. P. (1994). Fast Computation of Multivariate Kernel Estimators. Journal of Computational and Graphical Statistics, 3, 433-445.
Wand, M. P. and Jones, M. C. (1995). Kernel Smoothing. Chapman and Hall, London.
# NOT RUN {
data(geyser, package="MASS")
x <- cbind(geyser$duration, geyser$waiting)
est <- bkde2D(x, bandwidth=c(0.7, 7))
contour(est$x1, est$x2, est$fhat)
persp(est$fhat)
# }
Run the code above in your browser using DataLab