Skip to contents

[Stable]

Computes the multi-trait stability index proposed by Olivoto et al. (2019)

Usage

mtsi(
  .data,
  index = "waasby",
  ideotype = NULL,
  SI = 15,
  mineval = 1,
  verbose = TRUE
)

Arguments

.data

An object of class waasb or waas.

index

If index = 'waasby' (default) both stability and mean performance are considered. If index = 'waasb' the multi-trait index will be computed considering the stability of genotypes only. More details can be seen in waasb() and waas() functions.

ideotype

A vector of length nvar where nvar is the number of variables used to plan the ideotype. Use 'h' to indicate the traits in which higher values are desired or 'l' to indicate the variables in which lower values are desired. For example, ideotype = c("h, h, h, h, l") will consider that the ideotype has higher values for the first four traits and lower values for the last trait.

SI

An integer (0-100). The selection intensity in percentage of the total number of genotypes.

mineval

The minimum value so that an eigenvector is retained in the factor analysis.

verbose

If verbose = TRUE (Default) then some results are shown in the console.

Value

An object of class mtsi with the following items:

  • data The data used to compute the factor analysis.

  • cormat The correlation matrix among the environments.

  • PCA The eigenvalues and explained variance.

  • FA The factor analysis.

  • KMO The result for the Kaiser-Meyer-Olkin test.

  • MSA The measure of sampling adequacy for individual variable.

  • communalities The communalities.

  • communalities_mean The communalities' mean.

  • initial_loadings The initial loadings.

  • finish_loadings The final loadings after varimax rotation.

  • canonical_loadings The canonical loadings.

  • scores_gen The scores for genotypes in all retained factors.

  • scores_ide The scores for the ideotype in all retained factors.

  • MTSI The multi-trait stability index.

  • contri_fac The relative contribution of each factor on the MTSI value. The lower the contribution of a factor, the close of the ideotype the variables in such factor are.

  • contri_fac_rank, contri_fac_rank_sel The rank for the contribution of each factor for all genotypes and selected genotypes, respectively.

  • sel_dif_trait, sel_dif_stab, sel_dif_mps A data frame containing the selection differential (gains) for the traits, for the stability (WAASB index) WAASB, and for the mean performance and stability (WAASBY indexes). The following variables are shown.

    • VAR: the trait's name.

    • Factor: The factor that traits where grouped into.

    • Xo: The original population mean.

    • Xs: The mean of selected genotypes.

    • SD and SDperc: The selection differential and selection differential in percentage, respectively.

    • h2: The broad-sense heritability.

    • SG and SGperc: The selection gains and selection gains in percentage, respectively.

    • sense: The desired selection sense.

    • goal: selection gains match desired sense? 100 for yes and 0 for no.

  • stat_dif_var, stat_dif_stab, stat_dif_mps A data frame with the descriptive statistic for the selection gains for the traits, for the stability (WAASB index) WAASB, and for the mean performance and stability (WAASBY index). The following variables are shown.

    • sense: The desired selection sense.

    • variable: the trait's name.

    • min: the minimum value for the selection gain.

    • mean: the mean value for the selection gain.

    • ci: the confidence interval for the selection gain.

    • sd.amo: the standard deviation for the selection gain.

    • max: the maximum value for the selection gain.

    • sum: the sum of the selection gain.

  • sel_gen The selected genotypes.

References

Olivoto, T., A.D.C. Lúcio, J.A.G. da silva, B.G. Sari, and M.I. Diel. 2019. Mean performance and stability in multi-environment trials II: Selection based on multiple traits. Agron. J. 111:2961-2969. doi:10.2134/agronj2019.03.0220

Author

Tiago Olivoto tiagoolivoto@gmail.com

Examples

# \donttest{
library(metan)
# Based on stability only, for both GY and HM, higher is better
mtsi_model <-
    waasb(data_ge,
    env = ENV,
    gen = GEN,
    rep = REP,
    resp = c(GY, HM))
#> Evaluating trait GY |======================                      | 50% 00:00:01 
Evaluating trait HM |============================================| 100% 00:00:02 

#> Method: REML/BLUP
#> Random effects: GEN, GEN:ENV
#> Fixed effects: ENV, REP(ENV)
#> Denominador DF: Satterthwaite's method
#> ---------------------------------------------------------------------------
#> P-values for Likelihood Ratio Test of the analyzed traits
#> ---------------------------------------------------------------------------
#>     model       GY       HM
#>  COMPLETE       NA       NA
#>       GEN 1.11e-05 5.07e-03
#>   GEN:ENV 2.15e-11 2.27e-15
#> ---------------------------------------------------------------------------
#> All variables with significant (p < 0.05) genotype-vs-environment interaction
mtsi_index <-
    mtsi(mtsi_model, index = 'waasb')
#> Warning: Row(s) 2 with NA values deleted.
#> Warning: Non-numeric variable(s) ENV, GEN, Y will not be selected.
#> Use 'find_text_in_num()' to see rows with non-numeric characteres.
#> 
#> -------------------------------------------------------------------------------
#> Principal Component Analysis
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 4
#>   PC    Eigenvalues `Variance (%)` `Cum. variance (%)`
#>   <chr>       <dbl>          <dbl>               <dbl>
#> 1 PC1         1.66            82.8                82.8
#> 2 PC2         0.343           17.2               100  
#> -------------------------------------------------------------------------------
#> Factor Analysis - factorial loadings after rotation-
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 4
#>   VAR     FA1 Communality Uniquenesses
#>   <chr> <dbl>       <dbl>        <dbl>
#> 1 GY    0.910       0.828        0.172
#> 2 HM    0.910       0.828        0.172
#> -------------------------------------------------------------------------------
#> Comunalit Mean: 0.8283129 
#> -------------------------------------------------------------------------------
#> Selection differential for the  waasb index
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 6
#>   VAR   Factor    Xo    Xs     SD SDperc
#>   <chr> <chr>  <dbl> <dbl>  <dbl>  <dbl>
#> 1 GY    FA 1   0.250 0.117 -0.134  -53.5
#> 2 HM    FA 1   0.614 0.373 -0.241  -39.2
#> -------------------------------------------------------------------------------
#> Selection differential for the mean of the variables
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 11
#>   VAR   Factor    Xo    Xs     SD SDperc    h2      SG SGperc sense     goal
#>   <chr> <chr>  <dbl> <dbl>  <dbl>  <dbl> <dbl>   <dbl>  <dbl> <chr>    <dbl>
#> 1 GY    FA 1    2.67  2.78  0.105   3.94 0.815  0.0858   3.21 increase   100
#> 2 HM    FA 1   48.1  47.3  -0.747  -1.55 0.686 -0.512   -1.07 increase     0
#> ------------------------------------------------------------------------------
#> Selected genotypes
#> -------------------------------------------------------------------------------
#> G3 G1
#> -------------------------------------------------------------------------------
#> Warning: Row(s) 4 with NA values deleted.
#> Warning: Non-numeric variable(s) ENV, GEN, Y will not be selected.
#> Use 'find_text_in_num()' to see rows with non-numeric characteres.


# Based on mean performance and stability (using pipe operator %>%)
# GY: higher is better
# HM: lower is better

mtsi_index2 <-
 data_ge %>%
 waasb(ENV, GEN, REP,
       resp = c(GY, HM),
       mresp = c("h, l")) %>%
 mtsi()
#> Evaluating trait GY |======================                      | 50% 00:00:01 
Evaluating trait HM |============================================| 100% 00:00:02 

#> Method: REML/BLUP
#> Random effects: GEN, GEN:ENV
#> Fixed effects: ENV, REP(ENV)
#> Denominador DF: Satterthwaite's method
#> ---------------------------------------------------------------------------
#> P-values for Likelihood Ratio Test of the analyzed traits
#> ---------------------------------------------------------------------------
#>     model       GY       HM
#>  COMPLETE       NA       NA
#>       GEN 1.11e-05 5.07e-03
#>   GEN:ENV 2.15e-11 2.27e-15
#> ---------------------------------------------------------------------------
#> All variables with significant (p < 0.05) genotype-vs-environment interaction
#> Warning: There were 2 warnings in `mutate()`.
#> The first warning was:
#>  In argument: `across(...)`.
#> Caused by warning:
#> ! There were 2 warnings in `summarise()`.
#> The first warning was:
#>  In argument: `across(...)`.
#>  In group 1: `variable = "SDperc"`.
#> Caused by warning in `qt()`:
#> ! NaNs produced
#>  Run dplyr::last_dplyr_warnings() to see the 1 remaining warning.
#>  Run dplyr::last_dplyr_warnings() to see the 1 remaining warning.
#> 
#> -------------------------------------------------------------------------------
#> Principal Component Analysis
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 4
#>   PC    Eigenvalues `Variance (%)` `Cum. variance (%)`
#>   <chr>       <dbl>          <dbl>               <dbl>
#> 1 PC1         1.58            79.2                79.2
#> 2 PC2         0.415           20.8               100  
#> -------------------------------------------------------------------------------
#> Factor Analysis - factorial loadings after rotation-
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 4
#>   VAR     FA1 Communality Uniquenesses
#>   <chr> <dbl>       <dbl>        <dbl>
#> 1 GY    0.890       0.792        0.208
#> 2 HM    0.890       0.792        0.208
#> -------------------------------------------------------------------------------
#> Comunalit Mean: 0.7922501 
#> -------------------------------------------------------------------------------
#> Selection differential for the  waasby index
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 6
#>   VAR   Factor    Xo    Xs    SD SDperc
#>   <chr> <chr>  <dbl> <dbl> <dbl>  <dbl>
#> 1 GY    FA 1    48.3  76.5  28.2   58.3
#> 2 HM    FA 1    54.1  86.2  32.1   59.3
#> -------------------------------------------------------------------------------
#> Selection differential for the mean of the variables
#> -------------------------------------------------------------------------------
#> # A tibble: 2 × 11
#>   VAR   Factor    Xo    Xs     SD SDperc    h2      SG SGperc sense     goal
#>   <chr> <chr>  <dbl> <dbl>  <dbl>  <dbl> <dbl>   <dbl>  <dbl> <chr>    <dbl>
#> 1 GY    FA 1    2.67  2.78  0.105   3.94 0.815  0.0858   3.21 increase   100
#> 2 HM    FA 1   48.1  47.3  -0.747  -1.55 0.686 -0.512   -1.07 decrease   100
#> ------------------------------------------------------------------------------
#> Selected genotypes
#> -------------------------------------------------------------------------------
#> G3 G1
#> -------------------------------------------------------------------------------
# }