R: Nonparametric density estimation in one, two or three...

sm.density {sm} | R Documentation

## Nonparametric density estimation in one, two or three dimensions.

### Description

This function creates a density estimate from data in one, two or three dimensions. In two dimensions a variety of graphical displays can be selected, and in three dimensions a contour surface can be plotted. A number of other features of the construction of the estimate, and of its display, can be controlled.

If the `rpanel` package is available, an interactive panel can be activated to control various features of the plot.

If the `rgl` package is also available, rotatable plots are available for the two- and three-dimensional cases. (For three-dimensional data, the `misc3d` package is also required.)

### Usage

    sm.density(x, h, model = "none", weights = NA, group=NA, ...)

### Arguments

`x` | a vector, or a matrix with two or three columns, containing the data.
`h` | a vector of length one, two or three, defining the smoothing parameter. A normal kernel function is used and `h` is its standard deviation. If this parameter is omitted, a normal optimal smoothing parameter is used.
`model` | This argument applies only with one-dimensional data. Its default value is `"none"`. If it is set to `"Normal"` (or indeed any value other than `"none"`) then a reference band, indicating where a density estimate is likely to lie when the data are normally distributed, will be superimposed on any plot.
`weights` | a vector of integers representing frequencies of individual observations. Use of this parameter is incompatible with binning; hence `nbins` must then be set to 0 or left at its default value `NA`.
`group` | a vector of groups indicators (numeric or character values) or a factor.
`...` | other optional parameters are passed to the `sm.options` function, through a mechanism which limits their effect only to this call of the function. Those specifically relevant for this function are the following: `hmult`, `h.weights`, `band`, `add`, `lty`, `display`, `props`, `xlab`, `ylab`, `zlab`, `xlim`, `ylim`, `yht`, `nbins`, `ngrid`, `eval.points`, `panel`, `positive`, `delta`, `theta`, `phi`; see the documentation of `sm.options` for their description.

### Details

see Chapters 1, 2 and 6 of the reference below. In the three-dimensional case, the contours of the density estimate are constructed by the `contour3d` function in the `misc3d` package of Feng & Tierney.

### Value

a list containing the values of the density estimate at the evaluation points, the smoothing parameter, the smoothing parameter weights and the kernel weights. For one- and two-dimensional data, the standard error of the estimate (on the square root scale, where the standard error is approximately constant) and the upper and lower ends of a variability band are also supplied. Less information is supplied when the smoothing parameter weights or kernel weights are not all 1, or when `positive` is set to `TRUE`.

### Side Effects

a plot is produced, unless the option `display="none"` is set.

### References

Bowman, A.W. and Azzalini, A. (1997). Applied Smoothing Techniques for Data Analysis: the Kernel Approach with S-Plus Illustrations. Oxford University Press, Oxford.

### See Also

`h.select`, `hnorm`, `hsj`, `hcv`, `nise`, `nmise`, `sm`, `sm.sphere`, `sm.regression`, `sm.options`

### Examples

    #  A one-dimensional example
    y <- rnorm(50)
    sm.density(y, model = "Normal")
    # sm.density(y, panel = TRUE)

    #  A two-dimensional example
    y <- cbind(rnorm(50), rnorm(50))
    sm.density(y, display = "image")
    # sm.density(y, panel = TRUE)

    #  A three-dimensional example
    # y <- cbind(rnorm(50), rnorm(50), rnorm(50))
    # sm.density(y)

[Package sm version 2.2-5.4 Index]