euclidean.dist | R Documentation |
Computes the Euclidean distance (Frobenius norm) between two variance-covariance matrices of same dimensions
euclidean.dist(S1, S2)
S1 |
a variance-covariance matrix |
S2 |
a variance-covariance matrix |
Euclidean distance between S1 and S2 following Dryden et al. (2009).
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
# 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"])