Learn R Programming

circular (version 0.5-1)

density.circular: Kernel Density Estimation for Circular Data

Description

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

Usage

# S3 method for 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 density.circular
print(x, digits = NULL, ...)

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).

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.

Author

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 directional 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.

See Also

plot.density.circular and lines.density.circular

Examples

Run this code
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 

Run the code above in your browser using DataLab