euclidean: Euclidean and related distances

euclideanR Documentation

Euclidean and related distances

Description

These distance and diversity measures are mathematically similar to the Euclidean distance between two vectors.

Usage

euclidean(x, y)

rms_distance(x, y)

chord(x, y)

hellinger(x, y)

geodesic_metric(x, y)

Arguments

x, y

Numeric vectors

Details

For vectors x and y, the Euclidean distance is defined as

d(x, y) = \sqrt{\sum_i (x_i - y_i) ^ 2}.

Relation of euclidean() to other definitions:

  • Equivalent to R's built-in dist() function with method = "euclidean".

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

  • Equivalent to the euclidean() function in scipy.spatial.distance.

  • Equivalent to the structeuclidean calculator in Mothur, to speciesprofile if x and y are transformed to relative abundance, and to memeuclidean if x and y are transformed to presence/absence.

  • Equivalent to D_1 in Legendre & Legendre.

  • Equivalent to the distance between species profiles, D_{18} in Legendre & Legendre if x and y are transformed to relative abundance.

The root-mean-square distance or average distance is similar to Euclidean distance. As the name implies, it is computed as the square root of the mean of the squared differences between elements of x and y:

d(x, y) = \sqrt{\frac{1}{n} \sum_i^n (x_i - y_i) ^ 2}.

Relation of rms_distance() to other definitions:

  • Equivalent to D_2 in Legendre & Legendre.

The chord distance is the Euclidean distance after scaling each vector by its root sum of squares, \sqrt{\sum_i x_i^2}. The chord distance between any two vectors ranges from 0 to \sqrt{2}. Relation of chord() to other definitions:

  • Equivalent to D_3 in Legendre & Legendre.

The Hellinger distance is equal to the chord distance computed after a square-root transformation. Relation of hellinger() to other definitions:

  • Equivalent to D_{17} in Legendre & Legendre.

  • Equivalent to the hellinger calculator in Mothur.

The geodesic metric is a transformed version of the chord distance.

d(x, y) = \textrm{arccos} \left(1 - \frac{d_c^2(x, y)}{2} \right),

where d_c is the chord distance. It gives the length of the arc on a hypersphere between the vectors, if the vectors are normalized to unit length. Relation of geodesic_metric() to other definitions:

  • Equivalent to D_4 in Legendre & Legendre.

Value

The distance between x and y. The chord distance, Hellinger distance, and geodesic metric are not defined if all elements of either vector are zero. We return NaN in this case.

Examples

x <- c(15, 6, 4, 0, 3, 0)
y <- c(10, 2, 0, 1, 1, 0)
euclidean(x, y)
# The "distance between species profiles"
euclidean(x / sum(x), y / sum(y))
rms_distance(x, y)
chord(x, y)
hellinger(x, y)
# Hellinger is chord distance after square root transform
chord(sqrt(x), sqrt(y))
geodesic_metric(x, y)

# No species in common with x
v <- c(0, 0, 0, 5, 0, 5)
chord(v, x)
sqrt(2)

kylebittinger/abdiv documentation built on Nov. 22, 2023, 8:16 p.m.