Learn R Programming

evolqg (version 0.2-2)

MatrixDistance: Matrix distance

Description

Calculates Distances between covariance matrices.

Usage

MatrixDistance(cov.x, cov.y, distance, ...)

## S3 method for class 'default': MatrixDistance(cov.x, cov.y, distance = c("OverlapDist", "RiemannDist"), ...)

## S3 method for class 'list': MatrixDistance(cov.x, cov.y = NULL, distance = c("OverlapDist", "RiemannDist"), ..., parallel = FALSE)

Arguments

cov.x
Single covariance matrix or list of covariance matrices. If single matrix is suplied, it is compared to cov.y. If list is suplied and no cov.y is suplied, all matrices are compared. If cov.y is suplied, all matrices in list are compared to it.
cov.y
First argument is compared to cov.y. Optional if cov.x is a list.
distance
distance function for use in calculation. Currently supports "Riemann" and "Overlap".
...
aditional arguments passed to other methods
parallel
if TRUE and a list is passed, computations are done in parallel. Some foreach backend must be registered, like doParallel or doMC.

Value

  • If cov.x and cov.y are passed, returns distance between them.

    If is a list cov.x and cov.y are passed, same as above, but for all matrices in cov.x.

    If only a list is passed to cov.x, a matrix of Distances is returned

See Also

RiemannDist,OverlapDist

Examples

Run this code
c1 <- RandomMatrix(10)
c2 <- RandomMatrix(10)
c3 <- RandomMatrix(10)
MatrixDistance(c1, c2, "OverlapDist")
MatrixDistance(c1, c2, "RiemannDist")

MatrixDistance(list(c1, c2, c3), distance = "OverlapDist")


c4 <- RandomMatrix(10)
MatrixDistance(list(c1, c2, c3), c4)

Run the code above in your browser using DataLab