# MonteCarloRep: Parametric repeatabilities with covariance or correlation... In evolqg: Tools for Evolutionary Quantitative Genetics

## Description

Using a multivariate normal model, random populations are generated using the suplied covariance matrix. A statistic is calculated on the random population and compared to the statistic calculated on the original matrix.

## Usage

 ```1 2``` ```MonteCarloRep(cov.matrix, sample.size, ComparisonFunc, ..., iterations = 1000, correlation = FALSE, parallel = FALSE) ```

## Arguments

 `cov.matrix` Covariance matrix. `sample.size` Size of the random populations. `ComparisonFunc` comparison function. `...` Aditional arguments passed to ComparisonFunc. `iterations` Number of random populations. `correlation` If TRUE, correlation matrix is used, else covariance matrix. MantelCor and MatrixCor should always uses correlation matrix. `parallel` If is TRUE and list is passed, computations are done in parallel. Some foreach backend must be registered, like doParallel or doMC.

## Details

Since this function uses multivariate normal model to generate populations, only covariance matrices should be used, even when computing repeatabilities for covariances matrices.

## Value

returns the mean repeatability, or mean value of comparisons from samples to original statistic.

## Author(s)

Diogo Melo Guilherme Garcia

`BootstrapRep`, `AlphaRep`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21``` ```cov.matrix <- RandomMatrix(5, 1, 1, 10) MonteCarloRep(cov.matrix, sample.size = 30, RandomSkewers, iterations = 20) MonteCarloRep(cov.matrix, sample.size = 30, RandomSkewers, num.vectors = 100, iterations = 20, correlation = TRUE) MonteCarloRep(cov.matrix, sample.size = 30, MatrixCor, correlation = TRUE) MonteCarloRep(cov.matrix, sample.size = 30, KrzCor, iterations = 20) MonteCarloRep(cov.matrix, sample.size = 30, KrzCor, correlation = TRUE) #Creating repeatability vector for a list of matrices mat.list <- RandomMatrix(5, 3, 1, 10) laply(mat.list, MonteCarloRep, 30, KrzCor, correlation = TRUE) ##Multiple threads can be used with doMC library #library(doParallel) ##Windows: #cl <- makeCluster(2) #registerDoParallel(cl) ##Mac and Linux: #registerDoParallel(cores = 2) #MonteCarloRep(cov.matrix, 30, RandomSkewers, iterations = 100, parallel = TRUE) ```