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: There were 4 warnings in `mutate()`.
#> The first warning was:
#> ℹ In argument: `data = purrr::map(.data$data, .fun, ...)`.
#> Caused by warning in `sqrt()`:
#> ! NaNs produced
#> ℹ Run `dplyr::last_dplyr_warnings()` to see the 3 remaining warnings.
# }
