# density.circular: Kernel Density Estimation for Circular Data In circular: Circular Statistics

## Description

The function `density.circular` computes kernel density estimates with the given kernel and bandwidth for circular data.

## Usage

 ```1 2 3 4 5 6 7``` ```## S3 method for class 'circular' density(x, z=NULL, bw, adjust = 1, type = c("K", "L"), kernel = c("vonmises", "wrappednormal"), na.rm = FALSE, from = circular(0), to = circular(2 * pi), n = 512, K = NULL, min.k=10, control.circular=list(), ...) ## S3 method for class 'density.circular' print(x, digits = NULL, ...) ```

## Arguments

 `x` the data from which the estimate is to be computed. The object is coerced to class `circular`. `z` the points where the density is estimated. If `NULL` equally spaced points are used according to the parameters `from`, `to` and `n`. `bw` the smoothing bandwidth to be used. When the `kernel` is `vonmises` the bandwidth is equal to the concentration parameter. `adjust` the bandwidth used is actually `adjust*bw`. This makes it easy to specify values like “half the default bandwidth”. `type` Not Yet Used. `kernel` a character string giving the smoothing kernel to be used. This must be one of `"vonmises"` or `"wrappednormal"`, that are kernels of `type` `"K"`. `na.rm` logical; if `TRUE`, missing values are removed from `x`. If `FALSE` any missing values cause an error. `from, to` the left and right-most points of the grid at which the density is to be estimated. The objects are coerced to class `circular`. `n` the number of equally spaced points at which the density is to be estimated. `K` number of terms to be used in approximating the density. `min.k` minimum number of terms used in approximating the density. `control.circular` the attribute of the resulting objects (`x` component). `digits` integer indicating the precision to be used. `...` further arguments passed to or from other methods.

## Value

an object with class `"density.circular"` whose underlying structure is a list containing the following components.

 `data` original dataset. `x` the `n` coordinates of the points where the density is estimated. It is a circular objects with coordinate system setting using `control.circular`. `y` the estimated density values. `bw` the bandwidth used. `N` the sample size after elimination of missing values. `call` the call which produced the result. `data.name` the deparsed name of the `x` argument. `has.na` logical, for compatibility (always FALSE).

## Author(s)

Claudio Agostinelli

## References

Z.D. Bai and C.R. Rao and L.C. Zhao (1988). Kernel Estimators of Density Function of Directional Data, Journal of Multivariate Analysis, 27, 24-39.

J. Klemel\"a (2000). Estimation of densities and derivatives of densities with directioinal data, Journal of Multivariate Analysis, 73, 18-40.

V.R. Prayag and A.P. Gore (1990). Density Estimation for Randomly Distributed Circular Objects, Metrika, 1990, 37, 63-69.

P. Hall and G.S. Watson and J. Cabrera (1987). Kernel Density Estimation with Spherical Data, Biometrika, 74, 4, 751–762.

`plot.density.circular` and `lines.density.circular`

## Examples

 ```1 2 3 4 5 6 7 8``` ```x <- rvonmises(n=100, mu=circular(pi), kappa=2) res25 <- density(x, bw=25, control.circular=list(units="degrees")) circularp(res25\$x) plot(res25, points.plot=TRUE, xlim=c(-1.6,1)) res50 <- density(x, bw=25, adjust=2) lines(res50, col=2) lines(res50, col=3, shrink=0.9) #shrink the plot wrt the function :-) lines(res50, col=4, offset=0.5) #draw it with a reference circle of 0.5 ```

### Example output ```Attaching package: 'circular'

The following objects are masked from 'package:stats':

sd, var

\$type
 "angles"

\$units
 "degrees"

\$template
 "none"

\$modulo
 "asis"

\$zero
 0

\$rotation
 "counter"
```

circular documentation built on May 1, 2019, 7:57 p.m.