Learn R Programming

ddalpha (version 1.3.16)

depth.zonoid: Calculate Zonoid Depth

Description

Calculates the zonoid depth of points w.r.t. a multivariate data set.

Usage

depth.zonoid(x, data, seed = 0)

Value

Numerical vector of depths, one for each row in x; or one depth value if x is a numerical vector.

Arguments

x

Matrix of objects (numerical vector as one object) whose depth is to be calculated; each row contains a \(d\)-variate point. Should have the same dimension as data.

data

Matrix of data where each row contains a \(d\)-variate point, w.r.t. which the depth is to be calculated.

seed

the random seed. The default value seed=0 makes no changes.

Details

Calculates zonoid depth (Koshevoy and Mosler, 1997; Mosler, 2002) exactly based on the algorithm of Dyckerhoff, Koshevoy and Mosler (1996), implemented in C++ (and provided) by Rainer Dyckerhoff.

References

Dyckerhoff, R., Koshevoy, G., and Mosler, K. (1996). Zonoid data depth: theory and computation. In: Prat A. (ed), COMPSTAT 1996. Proceedings in computational statistics, Physica-Verlag (Heidelberg), 235--240.

Koshevoy, G. and Mosler, K. (1997). Zonoid trimming for multivariate distributions Annals of Statistics 25 1998--2017.

Mosler, K. (2002). Multivariate dispersion, central regions and depth: the lift zonoid approach Springer (New York).

See Also

depth.halfspace for calculation of the Tukey depth.

depth.Mahalanobis for calculation of Mahalanobis depth.

depth.projection for calculation of projection depth.

depth.simplicial for calculation of simplicial depth.

depth.simplicialVolume for calculation of simplicial volume depth.

depth.spatial for calculation of spatial depth.

depth.potential for calculation of data potential.

Examples

Run this code
# 5-dimensional normal distribution
data <- mvrnorm(1000, rep(0, 5), 
                matrix(c(1, 0, 0, 0, 0, 
                         0, 2, 0, 0, 0, 
                         0, 0, 3, 0, 0, 
                         0, 0, 0, 2, 0, 
                         0, 0, 0, 0, 1),
                nrow = 5))
x <- mvrnorm(10, rep(1, 5), 
             matrix(c(1, 0, 0, 0, 0, 
                      0, 1, 0, 0, 0, 
                      0, 0, 1, 0, 0, 
                      0, 0, 0, 1, 0, 
                      0, 0, 0, 0, 1),
             nrow = 5))
                
depths <- depth.zonoid(x, data)
cat("Depths: ", depths, "\n")

Run the code above in your browser using DataLab