Skip to contents
  • ammi_indexes() [Stable] computes several AMMI-based stability statistics. See Details for a detailed overview.

  • AMMI_indexes() [Deprecated] use ammi_indexes() instead.

Usage

ammi_indexes(.data, order.y = NULL, level = 0.95)

AMMI_indexes(.data, order.y = NULL, level = 0.95)

Arguments

.data

An object of class waas or performs_ammi

order.y

A vector of the same length of x used to order the response variable. Each element of the vector must be one of the 'h' or 'l'. If 'h' is used, the response variable will be ordered from maximum to minimum. If 'l' is used then the response variable will be ordered from minimum to maximum. Use a comma-separated vector of names. For example, order.y = c("h, h, l, h, l").

level

The confidence level. Defaults to 0.95.

Value

A list where each element contains the result AMMI-based stability indexes for one variable.

Details

First, let's define some symbols: \(N'\) is the number of significant interation principal component axis (IPCs) that were retained in the AMMI model via F tests); \(\lambda_{n}\) is the singular value for th IPC and correspondingly \(\lambda_{n}^{2}\) its eigen value; \(\gamma_{in}\) is the eigenvector value for ith genotype; \(\delta_{jn}\) is the eigenvector value for the th environment. \(PC_{1}\), \(PC_{2}\), and \(PC_{n}\) are the scores of 1st, 2nd, and nth IPC; respectively; \(\theta_{1}\), \(\theta_{2}\), and \(\theta_{n}\) are percentage sum of squares explained by the 1st, 2nd, and nth IPC, respectively.

  • AMMI Based Stability Parameter (ASTAB) (Rao and Prabhakaran 2005). \[ASTAB = \sum_{n=1}^{N'}\lambda_{n}\gamma_{in}^{2}\]

  • AMMI Stability Index (ASI) (Jambhulkar et al. 2017) \[ASI = \sqrt{\left [ PC_{1}^{2} \times \theta_{1}^{2} \right ]+\left[ PC_{2}^{2} \times \theta_{2}^{2} \right ]}\]

  • AMMI-stability value (ASV) (Purchase et al., 2000). \[ASV_{i}=\sqrt{\frac{SS_{IPCA1}}{SS_{IPCA2}}(\mathrm{IPC} \mathrm{A} 1)^{2}+(\mathrm{IPCA} 2)^{2}}\]

  • Sum Across Environments of Absolute Value of GEI Modelled by AMMI (AVAMGE) (Zali et al. 2012) \[AV_{(AMGE)} = \sum_{j=1}^{E} \sum_{n=1}^{N'} \left |\lambda_{n}\gamma_{in} \delta_{jn} \right |\]

  • Annicchiarico's D Parameter values (Da) (Annicchiarico 1997) \[D_{a} = \sqrt{\sum_{n=1}^{N'}(\lambda_{n}\gamma_{in})^2}\]

  • Zhang's D Parameter (Dz) (Zhang et al. 1998) \[D_{z} = \sqrt{\sum_{n=1}^{N'}\gamma_{in}^{2}}\]

  • Sums of the Averages of the Squared Eigenvector Values (EV) (Zobel 1994) \[EV = \sum_{n=1}^{N'}\frac{\gamma_{in}^2}{N'}\]

  • Stability Measure Based on Fitted AMMI Model (FA) (Raju 2002) \[FA = \sum_{n=1}^{N'}\lambda_{n}^{2}\gamma_{in}^{2}\]

  • Modified AMMI Stability Index (MASI) (Ajay et al. 2018) \[MASI = \sqrt{ \sum_{n=1}^{N'} PC_{n}^{2} \times \theta_{n}^{2}}\]

  • Modified AMMI Stability Value (MASV) (Ajay et al. 2019) \[MASV = \sqrt{\sum_{n=1}^{N'-1}\left (\frac{SSIPC_{n}}{SSIPC_{n+1}} \right ) \times (PC_{n})^2 + \left (PC_{N'}\right )^2}\]

  • Sums of the Absolute Value of the IPC Scores (SIPC) (Sneller et al. 1997) \[SIPC = \sum_{n=1}^{N'} | \lambda_{n}^{0.5}\gamma_{in}|\]

  • Absolute Value of the Relative Contribution of IPCs to the Interaction (Za) (Zali et al. 2012) \[Za = \sum_{i=1}^{N'} | \theta_{n}\gamma_{in} |\]

  • Weighted average of absolute scores (WAAS) (Olivoto et al. 2019) \[WAAS_i = \sum_{k = 1}^{p} |IPCA_{ik} \times \theta_{k}/ \sum_{k = 1}^{p}\theta_{k}\]

For all the statistics, simultaneous selection indexes (SSI) are also computed by summation of the ranks of the stability and mean performance, Y_R, (Farshadfar, 2008).

References

Ajay BC, Aravind J, Abdul Fiyaz R, Bera SK, Kumar N, Gangadhar K, Kona P (2018). “Modified AMMI Stability Index (MASI) for stability analysis.” ICAR-DGR Newsletter, 18, 4–5.

Ajay BC, Aravind J, Fiyaz RA, Kumar N, Lal C, Gangadhar K, Kona P, Dagla MC, Bera SK (2019). “Rectification of modified AMMI stability value (MASV).” Indian Journal of Genetics and Plant Breeding (The), 79, 726–731. https://www.isgpb.org/article/rectification-of-modified-ammi-stability-value-masv.

Annicchiarico P (1997). “Joint regression vs AMMI analysis of genotype-environment interactions for cereals in Italy.” Euphytica, 94(1), 53–62. doi: 10.1023/A:1002954824178

Farshadfar E (2008) Incorporation of AMMI stability value and grain yield in a single non-parametric index (GSI) in bread wheat. Pakistan J Biol Sci 11:1791–1796. doi: 10.3923/pjbs.2008.1791.1796

Jambhulkar NN, Rath NC, Bose LK, Subudhi HN, Biswajit M, Lipi D, Meher J (2017). “Stability analysis for grain yield in rice in demonstrations conducted during rabi season in India.” Oryza, 54(2), 236–240. doi: 10.5958/2249-5266.2017.00030.3

Olivoto T, LUcio ADC, Silva JAG, et al (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

Raju BMK (2002). “A study on AMMI model and its biplots.” Journal of the Indian Society of Agricultural Statistics, 55(3), 297–322.

Rao AR, Prabhakaran VT (2005). “Use of AMMI in simultaneous selection of genotypes for yield and stability.” Journal of the Indian Society of Agricultural Statistics, 59, 76–82.

Sneller CH, Kilgore-Norquest L, Dombek D (1997). “Repeatability of yield stability statistics in soybean.” Crop Science, 37(2), 383–390. doi: 10.2135/cropsci1997.0011183X003700020013x

Zali H, Farshadfar E, Sabaghpour SH, Karimizadeh R (2012). “Evaluation of genotype × environment interaction in chickpea using measures of stability from AMMI model.” Annals of Biological Research, 3(7), 3126–3136.

Zhang Z, Lu C, Xiang Z (1998). “Analysis of variety stability based on AMMI model.” Acta Agronomica Sinica, 24(3), 304–309. http://zwxb.chinacrops.org/EN/Y1998/V24/I03/304.

Zobel RW (1994). “Stress resistance and root systems.” In Proceedings of the Workshop on Adaptation of Plants to Soil Stress. 1-4 August, 1993. INTSORMIL Publication 94-2, 80–99. Institute of Agriculture and Natural Resources, University of Nebraska-Lincoln.

Author

Tiago Olivoto tiagoolivoto@gmail.com

Examples

# \donttest{
library(metan)
model <-
  performs_ammi(data_ge,
                env = ENV,
                gen = GEN,
                rep = REP,
                resp = c(GY, HM))
#> variable GY 
#> ---------------------------------------------------------------------------
#> AMMI analysis table
#> ---------------------------------------------------------------------------
#>     Source  Df  Sum Sq Mean Sq F value   Pr(>F) Proportion Accumulated
#>        ENV  13 279.574 21.5057   62.33 0.00e+00         NA          NA
#>   REP(ENV)  28   9.662  0.3451    3.57 3.59e-08         NA          NA
#>        GEN   9  12.995  1.4439   14.93 2.19e-19         NA          NA
#>    GEN:ENV 117  31.220  0.2668    2.76 1.01e-11         NA          NA
#>        PC1  21  10.749  0.5119    5.29 0.00e+00       34.4        34.4
#>        PC2  19   9.924  0.5223    5.40 0.00e+00       31.8        66.2
#>        PC3  17   4.039  0.2376    2.46 1.40e-03       12.9        79.2
#>        PC4  15   3.074  0.2049    2.12 9.60e-03        9.8        89.0
#>        PC5  13   1.446  0.1113    1.15 3.18e-01        4.6        93.6
#>        PC6  11   0.932  0.0848    0.88 5.61e-01        3.0        96.6
#>        PC7   9   0.567  0.0630    0.65 7.53e-01        1.8        98.4
#>        PC8   7   0.362  0.0518    0.54 8.04e-01        1.2        99.6
#>        PC9   5   0.126  0.0252    0.26 9.34e-01        0.4       100.0
#>  Residuals 252  24.367  0.0967      NA       NA         NA          NA
#>      Total 536 389.036  0.7258      NA       NA         NA          NA
#> ---------------------------------------------------------------------------
#> 
#> variable HM 
#> ---------------------------------------------------------------------------
#> AMMI analysis table
#> ---------------------------------------------------------------------------
#>     Source  Df  Sum Sq Mean Sq F value   Pr(>F) Proportion Accumulated
#>        ENV  13 5710.32 439.255   57.22 1.11e-16         NA          NA
#>   REP(ENV)  28  214.93   7.676    2.70 2.20e-05         NA          NA
#>        GEN   9  269.81  29.979   10.56 7.41e-14         NA          NA
#>    GEN:ENV 117 1100.73   9.408    3.31 1.06e-15         NA          NA
#>        PC1  21  381.13  18.149    6.39 0.00e+00       34.6        34.6
#>        PC2  19  319.43  16.812    5.92 0.00e+00       29.0        63.6
#>        PC3  17  114.26   6.721    2.37 2.10e-03       10.4        74.0
#>        PC4  15   81.96   5.464    1.92 2.18e-02        7.4        81.5
#>        PC5  13   68.11   5.240    1.84 3.77e-02        6.2        87.7
#>        PC6  11   59.07   5.370    1.89 4.10e-02        5.4        93.0
#>        PC7   9   46.69   5.188    1.83 6.33e-02        4.2        97.3
#>        PC8   7   26.65   3.808    1.34 2.32e-01        2.4        99.7
#>        PC9   5    3.41   0.682    0.24 9.45e-01        0.3       100.0
#>  Residuals 252  715.69   2.840      NA       NA         NA          NA
#>      Total 536 9112.21  17.000      NA       NA         NA          NA
#> ---------------------------------------------------------------------------
#> 
#> All variables with significant (p < 0.05) genotype-vs-environment interaction
#> Done!
model_indexes <- ammi_indexes(model)


# Alternatively (and more intuitively) using %>%
# If resp is not declared, all traits are analyzed
res_ind <- data_ge %>%
           performs_ammi(ENV, GEN, REP, verbose = FALSE) %>%
           ammi_indexes()

rbind_fill_id(res_ind, .id = "TRAIT")
#> # A tibble: 20 x 43
#>    TRAIT GEN       Y   Y_R  ASTAB ASTAB_R ssiASTAB    ASI ASI_R ASI_SSI   ASV
#>    <chr> <chr> <dbl> <dbl>  <dbl>   <dbl>    <dbl>  <dbl> <dbl>   <dbl> <dbl>
#>  1 GY    G1     2.60     6 0.108        2        8 0.110      4      10 0.346
#>  2 GY    G10    2.47    10 1.47        10       20 0.389     10      20 1.23 
#>  3 GY    G2     2.74     3 0.820        7       10 0.0792     2       5 0.249
#>  4 GY    G3     2.96     2 0.0959       1        3 0.0359     1       3 0.113
#>  5 GY    G4     2.64     5 0.363        4        9 0.189      7      12 0.594
#>  6 GY    G5     2.54     7 0.259        3       10 0.137      5      12 0.430
#>  7 GY    G6     2.53     8 0.440        6       14 0.0843     3      11 0.265
#>  8 GY    G7     2.74     4 0.971        9       13 0.211      8      12 0.663
#>  9 GY    G8     3.00     1 0.416        5        6 0.182      6       7 0.574
#> 10 GY    G9     2.51     9 0.947        8       17 0.312      9      18 0.983
#> 11 HM    G1    47.1      9 3.49         5       14 0.166      2      11 0.571
#> 12 HM    G10   48.5      4 7.51        10       14 0.819     10      14 2.83 
#> 13 HM    G2    46.7     10 5.35         8       18 0.564      8      18 1.95 
#> 14 HM    G3    47.6      8 2.86         3       11 0.132      1       9 0.455
#> 15 HM    G4    48.0      5 4.26         6       11 0.538      7      12 1.86 
#> 16 HM    G5    49.3      1 6.35         9       10 0.623      9      10 2.15 
#> 17 HM    G6    48.7      3 2.22         1        4 0.202      3       6 0.698
#> 18 HM    G7    48.0      6 3.39         4       10 0.443      6      12 1.53 
#> 19 HM    G8    49.1      2 2.42         2        4 0.360      4       6 1.24 
#> 20 HM    G9    47.9      7 4.36         7       14 0.372      5      12 1.28 
#> # ... with 32 more variables: ASV_R <dbl>, ASV_SSI <dbl>, AVAMGE <dbl>,
#> #   AVAMGE_R <dbl>, AVAMGE_SSI <dbl>, DA <dbl>, DA_R <dbl>, DA_SSI <dbl>,
#> #   DZ <dbl>, DZ_R <dbl>, DZ_SSI <dbl>, EV <dbl>, EV_R <dbl>, EV_SSI <dbl>,
#> #   FA <dbl>, FA_R <dbl>, FA_SSI <dbl>, MASI <dbl>, MASI_R <dbl>,
#> #   MASI_SSI <dbl>, MASV <dbl>, MASV_R <dbl>, MASV_SSI <dbl>, SIPC <dbl>,
#> #   SIPC_R <dbl>, SIPC_SSI <dbl>, ZA <dbl>, ZA_R <dbl>, ZA_SSI <dbl>,
#> #   WAAS <dbl>, WAAS_R <dbl>, WAAS_SSI <dbl>
# }