Learn R Programming

evolqg (version 0.3-4)

KrzCor: Compare matrices via Krzanowski Correlation

Description

Calculates covariance matrix correlation via Krzanowski Correlation

Usage

KrzCor(cov.x, cov.y, ...)

# S3 method for default KrzCor(cov.x, cov.y, ret.dim = NULL, ...)

# S3 method for list KrzCor( cov.x, cov.y = NULL, ret.dim = NULL, repeat.vector = NULL, parallel = FALSE, ... )

# S3 method for mcmc_sample KrzCor(cov.x, cov.y, ret.dim = NULL, parallel = FALSE, ...)

Value

If cov.x and cov.y are passed, returns Krzanowski correlation

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

If only a list is passed to cov.x, a matrix of Krzanowski correlation values. If repeat.vector is passed, comparison matrix is corrected above diagonal and repeatabilities returned in diagonal.

Arguments

cov.x

Single covariance matrix or list of covariance matrices. If single matrix is supplied, it is compared to cov.y. If list is supplied and no cov.y is suplied, all matrices are compared to each other. If cov.y is supplied, all matrices in list are compared to it.

cov.y

First argument is compared to cov.y. Optional if cov.x is a list.

...

additional arguments passed to other methods

ret.dim

number of retained dimensions in the comparison, default for nxn matrix is n/2-1

repeat.vector

Vector of repeatabilities for correlation correction.

parallel

if TRUE and a list is passed, computations are done in parallel. Some foreach back-end must be registered, like doParallel or doMC.

Author

Diogo Melo, Guilherme Garcia

References

Krzanowski, W. J. (1979). Between-Groups Comparison of Principal Components. Journal of the American Statistical Association, 74(367), 703. doi:10.2307/2286995

See Also

RandomSkewers,KrzProjection,MantelCor

Examples

Run this code
c1 <- RandomMatrix(10, 1, 1, 10)
c2 <- RandomMatrix(10, 1, 1, 10)
c3 <- RandomMatrix(10, 1, 1, 10)
KrzCor(c1, c2)

KrzCor(list(c1, c2, c3))
# \donttest{
reps <- unlist(lapply(list(c1, c2, c3), MonteCarloRep, 10, KrzCor, iterations = 10))
KrzCor(list(c1, c2, c3), repeat.vector = reps)

c4 <- RandomMatrix(10)
KrzCor(list(c1, c2, c3), c4)
# }

if (FALSE) {
#Multiple threads can be used with some foreach backend library, like doMC or doParallel
library(doMC)
registerDoMC(cores = 2)
KrzCor(list(c1, c2, c3), parallel = TRUE)
}

Run the code above in your browser using DataLab