Compute variance-covariance and correlation matrices using data from a designed (RCBD or CRD) experiment.

## Arguments

- .data
The data to be analyzed. It can be a data frame, possible with grouped data passed from

`dplyr::group_by()`

.- gen
The name of the column that contains the levels of the genotypes.

- rep
The name of the column that contains the levels of the replications/blocks.

- resp
The response variables. For example

`resp = c(var1, var2, var3)`

.- design
The experimental design. Must be RCBD or CRD.

- by
One variable (factor) to compute the function by. It is a shortcut to

`dplyr::group_by()`

. To compute the statistics by more than one grouping variable use that function.- type
What the matrices should return? Set to

`NULL`

, i.e., a list of matrices is returned. The argument type allow the following values`'pcor', 'gcor', 'rcor'`

, (which will return the phenotypic, genotypic and residual correlation matrices, respectively) or`'pcov', 'gcov', 'rcov'`

(which will return the phenotypic, genotypic and residual variance-covariance matrices, respectively). Alternatively, it is possible to get a matrix with the means of each genotype in each trait, by using`type = 'means'`

.

## Value

An object of class `covcor_design`

containing the following
items:

**geno_cov**The genotypic covariance.**phen_cov**The phenotypic covariance.**resi_cov**The residual covariance.**geno_cor**The phenotypic correlation.**phen_cor**The phenotypic correlation.**resi_cor**The residual correlation.

If `.data`

is a grouped data passed from `dplyr::group_by()`

then the results will be returned into a list-column of data frames.

## Author

Tiago Olivoto tiagoolivoto@gmail.com

## Examples

```
# \donttest{
library(metan)
# List of matrices
data <- subset(data_ge2, ENV == 'A1')
matrices <- covcor_design(data,
gen = GEN,
rep = REP,
resp = c(PH, EH, NKE, TKW))
# Genetic correlations
gcor <- covcor_design(data,
gen = GEN,
rep = REP,
resp = c(PH, EH, NKE, TKW),
type = 'gcor')
# Residual (co)variance matrix for each environment
rcov <- covcor_design(data_ge2,
gen = GEN,
rep = REP,
resp = c(PH, EH, CD, CL),
by = ENV,
type = "rcov")
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
#> Warning: NaNs produced
# }
```