Kernel density estimate for 1- to 6-dimensional data.

1 2 3 4 5 6 7 |

`x` |
matrix of data values |

`H,h` |
bandwidth matrix/scalar bandwidth. If these are missing, |

`gridsize` |
vector of number of grid points |

`gridtype` |
not yet implemented |

`xmin,xmax` |
vector of minimum/maximum values for grid |

`supp` |
effective support for standard normal |

`eval.points` |
vector or matrix of points at which estimate is evaluated |

`binned` |
flag for binned estimation. Default is FALSE. |

`bgridsize` |
vector of binning grid sizes |

`positive` |
flag if 1-d data are positive. Default is FALSE. |

`adj.positive` |
adjustment applied to positive 1-d data |

`w` |
vector of weights. Default is a vector of all ones. |

`compute.cont` |
flag for computing 1% to 99% probability contour levels. Default is TRUE. |

`approx.cont` |
flag for computing approximate probability contour levels. Default is TRUE. |

`unit.interval` |
flag if 1-d data are bounded on unit interval [0,1]. Default is FALSE. |

`verbose` |
flag to print out progress information. Default is FALSE. |

`object` |
object of class |

`zero.flag` |
interploted values |

`...` |
other parameters |

For d=1, if `h`

is missing, the default bandwidth is `hpi`

.
For d>1, if `H`

is missing, the default is `Hpi`

.

For d=1, if `positive=TRUE`

then `x`

is transformed to
`log(x+adj.positive)`

where the default `adj.positive`

is
the minimum of `x`

.

For d=1, 2, 3, 4, and if `eval.points`

is not specified, then the
density estimate is computed over a grid
defined by `gridsize`

(if `binned=FALSE`

) or
by `bgridsize`

(if `binned=TRUE`

). This form is suitable for
visualisation in conjuction with the `plot`

method.

–If `eval.points`

is specified, as a vector (d=1) or
as a matrix (d=2, 3, 4), then the
density estimate is computed at `eval.points`

. This form is
suitable for numerical summaries (e.g. maximum likelilood), and is
not compatible with the `plot`

method.

–For d>4, computing the kernel
density estimate over a grid is not feasible, and so it is computed exactly
and `eval.points`

(as a matrix) must be specified.

Binned kernel estimation is an approximation to the exact kernel estimation and is available for d=1, 2, 3, 4. This makes kernel estimators feasible for large samples.

The default `bgridsize,gridsize`

are d=1: 401; d=2: rep(151, 2);
d=3: rep(51, 3); d=4: rep(21,4).

The effective support for a normal kernel is where
all values outside `[-supp,supp]^d`

are zero.

The default `xmin`

is `min(x)-Hmax*supp`

and `xmax`

is `max(x)+Hmax*supp`

where `Hmax`

is the maximum of the
diagonal elements of `H`

. The grid produced is the outer
product of `c(xmin[1], xmax[1])`

, ..., `c(xmin[d], xmax[d])`

.

A kernel density estimate is an object of class `kde`

which is a
list with fields:

`x` |
data points - same as input |

`eval.points` |
vector or list of points at which the estimate is evaluated |

`estimate` |
density estimate at |

`h` |
scalar bandwidth (1-d only) |

`H` |
bandwidth matrix |

`gridtype` |
"linear" |

`gridded` |
flag for estimation on a grid |

`binned` |
flag for binned estimation |

`names` |
variable names |

`w` |
weights |

`cont` |
probability contour levels (if |

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
## positive data example
set.seed(8192)
x <- 2^rnorm(100)
fhat <- kde(x=x, positive=TRUE)
plot(fhat, col=3)
points(c(0.5, 1), predict(fhat, x=c(0.5, 1)))
## large data example on non-default grid
## 151 x 151 grid = [-5,-4.933,..,5] x [-5,-4.933,..,5]
set.seed(8192)
x <- rmvnorm.mixt(10000, mus=c(0,0), Sigmas=invvech(c(1,0.8,1)))
fhat <- kde(x=x, binned=TRUE, compute.cont=TRUE, xmin=c(-5,-5), xmax=c(5,5), bgridsize=c(151,151))
plot(fhat)
## See other examples in ? plot.kde
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.