Learn R Programming

abdiv (version 0.2.0)

bray_curtis: Bray-Curtis distance

Description

The Bray-Curtis distance is the Manhattan distance divided by the sum of both vectors.

Usage

bray_curtis(x, y)

Arguments

x, y

Numeric vectors

Value

The Bray-Curtis distance between x and y. The Bray-Curtis distance is undefined if the sum of all elements in x and y is zero, in which case we return NaN.

Details

For two vectors x and y, the Bray-Curtis distance is defined as $$d(x, y) = \frac{\sum_i |x_i - y_i|}{\sum_i x_i + y_i}.$$ The Bray-Curtis distance is connected to many other distance measures in this package; we try to list some of the more important connections here. Relation to other definitions:

  • Equivalent to vegdist() with method = "bray".

  • Equivalent to the braycurtis() function in scipy.spatial.distance for positive vectors. They take the absolute value of \(x_i + y_i\) in the denominator.

  • Equivalent to the braycurtis and odum calculators in Mothur.

  • Equivalent to \(D_{14} = 1 - S_{17}\) in Legendre & Legendre.

  • The Bray-Curtis distance on proportions is equal to half the Manhattan distance.

  • The Bray-Curtis distance on presence/absence vectors is equal to the Sorenson index of dissimilarity.

Examples

Run this code
# NOT RUN {
x <- c(15, 6, 4, 0, 3, 0)
y <- c(10, 2, 0, 1, 1, 0)
bray_curtis(x, y)

# For proportions, equal to half the Manhattan distance
bray_curtis(x / sum(x), y / sum(y))
manhattan(x / sum(x), y / sum(y)) / 2
# }

Run the code above in your browser using DataLab