depth {DepthProc}R Documentation

Depth calculation


Calculate depth functions.


depth(u, X, method = "Projection", threads = -1, ...)



Numerical vector or matrix whose depth is to be calculated. Dimension has to be the same as that of the observations.


The data as a matrix, data frame or list. If it is a matrix or data frame, then each row is viewed as one multivariate observation. If it is a list, all components must be numerical vectors of equal length (coordinates of observations).


Character string which determines the depth function. method can be "Projection" (the default), "Mahalanobis", "Euclidean" or "Tukey". For details see depth.


number of threads used in parallel computations. Default value -1 means that all possible cores will be used.


parameters specific to method — see depthEuclid


The Mahalanobis depth

{D}_{MAH}(y, {X} ^ {n}) = \frac{ 1 }{ 1 + {{(y - \bar{x})} ^ {T}}{{S} ^ {-1}}(y - \bar{x}) },

where S denotes the sample covariance matrix {X} ^ {n} .

A symmetric projection depth D≤ft( x, X\right) of a point x \in {{{R}} ^ {d}} , d ≥ 1 is defined as

D≤ft( x, X\right)_{PRO} = {{≤ft[ 1 + su{{p}_{≤ft\| u \right\| = 1}}\frac{ ≤ft| {{u} ^ {T}}x - Med≤ft( {{u} ^ {T}}X\right)\right| }{ MAD≤ft( {{u} ^ {T}}X\right) }\right]} ^ {-1}},

where Med denotes the univariate median, MAD≤ft( Z \right) = Med≤ft(≤ft| Z - Med≤ft( Z \right)\right|\right) . Its sample version denoted by D≤ft( x, {X} ^ {n} \right) or D≤ft( x, {X} ^ {n} \right) is obtained by replacing F by its empirical counterpart {{F}_{n}} calculated from the sample {X} ^ {n} .

Next interesting depth is the weighted {L} ^ {p} depth. The weighted {L} ^ {p} depth D({x}, F) of a point {x} \in {R} ^ {d} , d ≥ 1 generated by d dimensional random vector {X} with distribution F , is defined as D({x}, F) = \frac{1 }{ 1 + Ew({{≤ft\| x - X \right\| }_{p}}) }, where w is a suitable weight function on [0, ∞) , and {{≤ft\| \cdot \right\| }_{p}} stands for the {L} ^ {p} norm (when p = 2 we have usual Euclidean norm). We assume that w is non-decreasing and continuous on [0, ∞) with w(∞-) = ∞ , and for a, b \in {{{R}} ^ {d}} satisfying w(≤ft\| a + b \right\|) ≤ w(≤ft\| a \right\|) + w(≤ft\| b \right\|) . Examples of the weight functions are: w(x) = a + bx , a, b > 0 or w(x) = {x} ^ {α} . The empirical version of the weighted {L} ^ {p} depth is obtained by replacing distribution F of {X} in Ew({{≤ft\| {x} - {X} \right\| }_{p}}) = \int {w({{≤ft\| x - t \right\| }_{p}})}dF(t) by its empirical counterpart calculated from the sample {{{X}} ^ {n}} ...

The Projection and Tukey's depths are calculated using an approximate algorithm. Calculations of Mahalanobis, Euclidean and L ^ p depths are exact. Returns the depth of multivariate point u with respect to data set X.


Daniel Kosiorowski, Mateusz Bocian, Anna Wegrzynkiewicz and Zygmunt Zawadzki from Cracow University of Economics.


Liu, R.Y., Parelius, J.M. and Singh, K. (1999), Multivariate analysis by data depth: Descriptive statistics, graphics and inference (with discussion), Ann. Statist., 27, 783–858.

Mosler K (2013). Depth statistics. In C Becker, R Fried, K S (eds.), Robustness and Complex Data Structures, Festschrift in Honour of Ursula Gather, pp. 17–34. Springer.

Rousseeuw, P.J. and Struyf, A. (1998), Computing location depth and regression depth in higher dimensions, Stat. Comput., 8, 193–203.

Zuo, Y. and Serfling, R. (2000), General Notions of Statistical Depth Functions, Ann. Statist., 28, no. 2, 461–482.

See Also

depthContour and depthPersp for depth graphics.



# Calculation of Projection depth
data(starsCYG, package = "robustbase")
depth(t(colMeans(starsCYG)), starsCYG)

# Also for matrices
depth(starsCYG, starsCYG)

# Projection depth applied to a large bivariate data set
x <- matrix(rnorm(9999), nc = 3)
depth(x, x)

[Package DepthProc version 2.1.3 Index]