RandomSkewers function

Compare matrices via RandomSkewers

Compare matrices via RandomSkewers

Calculates covariance matrix correlation via random skewers

RandomSkewers(cov.x, cov.y, ...) ## Default S3 method: RandomSkewers(cov.x, cov.y, num.vectors = 10000, ...) ## S3 method for class 'list' RandomSkewers( cov.x, cov.y = NULL, num.vectors = 10000, repeat.vector = NULL, parallel = FALSE, ... ) ## S3 method for class 'mcmc_sample' RandomSkewers(cov.x, cov.y, num.vectors = 10000, parallel = FALSE, ...)

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 supplied, all matrices are compared. 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.
  • num.vectors: Number of random vectors used in comparison.
  • repeat.vector: Vector of repeatabilities for correlation correction.
  • parallel: if TRUE computations are done in parallel. Some foreach back-end must be registered, like doParallel or doMC.

Returns

If cov.x and cov.y are passed, returns average value of response vectors correlation ('correlation'), significance ('probability') and standard deviation of response vectors correlation ('correlation_sd')

If 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 RandomSkewers average values and probabilities of all comparisons. If repeat.vector is passed, comparison matrix is corrected above diagonal and repeatabilities returned in diagonal.

Examples

c1 <- RandomMatrix(10, 1, 1, 10) c2 <- RandomMatrix(10, 1, 1, 10) c3 <- RandomMatrix(10, 1, 1, 10) RandomSkewers(c1, c2) RandomSkewers(list(c1, c2, c3)) reps <- unlist(lapply(list(c1, c2, c3), MonteCarloRep, sample.size = 10, RandomSkewers, num.vectors = 100, iterations = 10)) RandomSkewers(list(c1, c2, c3), repeat.vector = reps) c4 <- RandomMatrix(10) RandomSkewers(list(c1, c2, c3), c4) ## Not run: #Multiple threads can be used with some foreach backend library, like doMC or doParallel library(doMC) registerDoMC(cores = 2) RandomSkewers(list(c1, c2, c3), parallel = TRUE) ## End(Not run)

References

Cheverud, J. M., and Marroig, G. (2007). Comparing covariance matrices: Random skewers method compared to the common principal components model. Genetics and Molecular Biology, 30, 461-469.

See Also

KrzCor,MantelCor,DeltaZCorr

Author(s)

Diogo Melo, Guilherme Garcia

  • Maintainer: Diogo Melo
  • License: MIT + file LICENSE
  • Last published: 2023-12-05

Useful links