Cross-validation for blup prediction.
cv_blup(
.data,
env,
gen,
rep,
resp,
block = NULL,
nboot = 200,
random = "gen",
verbose = TRUE
)
The dataset containing the columns related to Environments, Genotypes, replication/block and response variable(s).
The name of the column that contains the levels of the environments.
The name of the column that contains the levels of the genotypes.
The name of the column that contains the levels of the replications/blocks.
The response variable.
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.
The number of resamples to be used in the cross-validation. Defaults to 200
The effects of the model assumed to be random. See Details for more information.
A logical argument to define if a progress bar is shown.
Default is TRUE
.
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.
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.
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
# 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