Calculates the Hellinger distances or the rows or columns of a numeric matrix or for two numeric vectors.

CalcHellingerDist(x, y = NULL, by_rows = TRUE)

Arguments

x

A numeric matrix or numeric vector

y

A numeric vector. y must be specified if x is a numeric vector.

by_rows

Logical. If x is a matrix, should distances be calculated by rows?

Value

If x is a matrix, this returns an square and symmetric matrix. The i,j entries correspond to the Hellinger Distance between the rows of x

(or the columns of x if by_rows = FALSE). If x and y

are vectors, this returns a numeric scalar whose value is the Hellinger Distance between x and y.

Examples

x <- rchisq(n = 100, df = 8)
y <- x^2
CalcHellingerDist(x = x, y = y)
#> [1] 0.1704241

mymat <- rbind(x, y)
CalcHellingerDist(x = mymat)
#>           x         y
#> x 0.0000000 0.1704241
#> y 0.1704241 0.0000000