dist.binary {ade4}R Documentation

Computation of Distance Matrices for Binary Data

Description

computes for binary data some distance matrice.

Usage

dist.binary(df, method = NULL, diag = FALSE, upper = FALSE)

Arguments

df a data frame with positive or zero values. Used with as.matrix(1 * (df > 0))
method an integer between 1 and 10 . If NULL the choice is made with a console message. See details
diag a logical value indicating whether the diagonal of the distance matrix should be printed by `print.dist'
upper a logical value indicating whether the upper triangle of the distance matrix should be printed by `print.dist'

Details

Let be the contingency table of binary data such as n11 = a, n10 = b, n01 = c and n00 = d. All these distances are of type d = sqrt(1 - s) with s a similarity coefficient.

1 = Jaccard index (1901)
S3 coefficient of Gower & Legendre s1 = a / (a+b+c)
2 = Sockal & Michener index (1958)
S4 coefficient of Gower & Legendre s2 = (a+d) / (a+b+c+d)
3 = Sockal & Sneath(1963)
S5 coefficient of Gower & Legendre s3 = a / (a + 2(b + c))
4 = Rogers & Tanimoto (1960)
S6 coefficient of Gower & Legendre s4 = (a + d) / (a + 2(b + c) +d)
5 = Czekanowski (1913) or Sorensen (1948)
S7 coefficient of Gower & Legendre s5 = 2a / (2a + b + c)
6 = S9 index of Gower & Legendre (1986)
s6 = (a - (b + c) + d) / (a + b + c + d)
7 = Ochiai (1957)
S12 coefficient of Gower & Legendre s7 = a / sqrt((a + b)(a + c))
8 = Sockal & Sneath (1963)
S13 coefficient of Gower & Legendre s8 = ad / sqrt((a + b)(a + c)(d + b)(d + c))
9 = Phi of Pearson
S14 coefficient of Gower & Legendre s9 = (ad - bc) / sqrt((a + b)(a + c)(d + b)(d + c))
10 = S2 coefficient of Gower & Legendre
s10 = a / (a + b + c + d)

Value

returns a distance matrix of class dist between the rows of the data frame

Author(s)

Daniel Chessel chessel@biomserv.univ-lyon1.fr
Stéphane Dray dray@biomserv.univ-lyon1.fr

References

Gower, J.C. and Legendre, P. (1986) Metric and Euclidean properties of dissimilarity coefficients. Journal of Classification, 3, 5–48.

Examples

data(aviurba)
for (i in 1:10) {
    d <- dist.binary(aviurba$fau, method = i)
    cat(attr(d, "method"), is.euclid(d), "\n")}

[Package ade4 version 1.4-0 Index]