metan (version 1.2.1)

cv_blup: Cross-validation procedure

Description

Cross-validation for blup prediction.

Usage

cv_blup(
  .data,
  env,
  gen,
  rep,
  resp,
  block = NULL,
  nboot = 200,
  random = "gen",
  verbose = TRUE
)

Arguments

.data

The dataset containing the columns related to Environments, Genotypes, replication/block and response variable(s).

env

The name of the column that contains the levels of the environments.

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 variable.

block

Defaults to NULL. In this case, a randomized complete block design is considered. If block is informed, then a resolvable alpha-lattice design (Patterson and Williams, 1976) is employed. See how fixed and random effects are considered, see the section Details.

nboot

The number of resamples to be used in the cross-validation. Defaults to 200

random

The effects of the model assumed to be random. See Details for more information.

verbose

A logical argument to define if a progress bar is shown. Default is TRUE.

Value

An object of class cv_blup with the following items: * RMSPD: A vector with nboot-estimates of the root mean squared prediction difference between predicted and validating data. * RMSPDmean The mean of RMSPDmean estimates.

Details

This function provides a cross-validation procedure for mixed models using replicate-based data. By default, complete blocks are randomly selected within each environment. In each iteration, the original dataset is split up into two datasets: training and validation data. The 'training' set has all combinations (genotype x environment) with R - 1 replications. The 'validation' set has the remaining replication. The estimated values are compared with the 'validation' data and the Root Means Square Prediction Difference (Olivoto et al. 2019) is computed. At the end of boots, a list is returned.

Six models may be fitted depending upon the values in block and random arguments. * Model 1: block = NULL and random = "gen" (The default option). This model considers a Randomized Complete Block Design assuming genotype and genotype-vs-environment as random effects. Environment and blocks nested within environments are treated as fixed factors.

  • Model 2: block = NULL and random = "env". This model considers a Randomized Complete Block Design treating environment, genotype-vs-environment, and blocks-within-environments as random factors. Genotypes are assumed to be fixed factors.

  • Model 3: block = NULL and random = "all". This model considers a Randomized Complete Block Design assuming all effects (genotypes, environments, genotype-vs-environment interaction and blocks nested within environments) as random.

  • Model 4: block != NULL and random = "gen". This model considers an alpha-lattice design assuming genotype, genotype-vs-environment interaction, and incomplete block nested within replicates as random to make use of inter-block information (Mohring et al., 2015). Complete replicates nested within environments and environments are treated as fixed factors.

  • Model 5: block != NULL and random = "env". This model considers an alpha-lattice design assuming genotype as fixed. All other sources of variation (environment, complete replicates nested within environments, and incomplete blocks nested within replicates) as treated as random factors.

  • Model 6: block != NULL and random = "all". This model considers an alpha-lattice design assuming all effects, except the intercept, as random factors.

References

Olivoto, T., A.D.C. L\'ucio, J.A.G. da silva, V.S. Marchioro, V.Q. de Souza, and E. Jost. 2019. Mean performance and stability in multi-environment trials I: Combining features of AMMI and BLUP techniques. Agron. J. 111:2949-2960. doi:10.2134/agronj2019.03.0220

Patterson, H.D., and E.R. Williams. 1976. A new class of resolvable incomplete block designs. Biometrika 63:83-92.

Mohring, J., E. Williams, and H.-P. Piepho. 2015. Inter-block information: to recover or not to recover it? TAG. Theor. Appl. Genet. 128:1541-54. doi:10.1007/s00122-015-2530-0

See Also

cv_ammi, cv_ammif

Examples

Run this code
# NOT RUN {
# }
# NOT RUN {
library(metan)
model <- cv_blup(data_ge,
                 env = ENV,
                 gen = GEN,
                 rep = REP,
                 resp = GY,
                 nboot = 10)

# Alternatively using the pipe operator %>%
model <- data_ge %>%
         cv_blup(ENV, GEN, REP, GY, nboot = 10)
# }
# NOT RUN {
# }

Run the code above in your browser using DataCamp Workspace