euclidean.dist {vcvComp}R Documentation

Euclidean distance between two covariance matrices

Description

Computes the Euclidean distance (Frobenius norm) between two variance-covariance matrices of same dimensions

Usage

euclidean.dist(S1, S2)

Arguments

S1

a variance-covariance matrix

S2

a variance-covariance matrix

Value

Euclidean distance between S1 and S2 following Dryden et al. (2009).

References

Dryden IL, Koloydenko A, Zhou D (2009) Non-Euclidean statistics for covariance matrices, with applications to diffusion tensor imaging. The Annals of Applied Statistics 3:1102-1123. https://projecteuclid.org/euclid.aoas/1254773280

Examples


# Data matrix of 2D landmark coordinates
data("Tropheus.IK.coord")
coords <- which(names(Tropheus.IK.coord) == "X1"):which(names(Tropheus.IK.coord) == "Y19")
proc.coord <- as.matrix(Tropheus.IK.coord[coords])

# Data reduction
phen.pca <- prcomp(proc.coord, rank. = 5, tol = sqrt(.Machine$double.eps))
pc.scores <- phen.pca$x

# Covariance matrix of each population
S.phen.pop <- cov.group(pc.scores, groups = Tropheus.IK.coord$POP.ID)

# Euclidean distance between the covariance matrices of 2 populations
# (IKA1 relative to IKS5)
dist.a1s5 <- euclidean.dist(S.phen.pop[, , "IKA1"], S.phen.pop[, , "IKS5"])


[Package vcvComp version 1.0.2 Index]