
Stability Analysis for Multi-Environment Trials (Seven Methods)
Source:R/stability.R
stability_analysis.RdStability analysis of genotypes (or treatments) tested in several environments, with the combined ANOVA and seven established methods:
Eberhart and Russell (1966) joint regression: \(b_i\), \(S^2_{di}\), tests of \(b_i = 1\) and \(S^2_{di} = 0\), and the Eberhart-Russell ANOVA
AMMI: ANOVA with Gollob's degrees of freedom for each IPCA, IPCA scores, AMMI stability value (ASV) and yield stability index
Finlay and Wilkinson (1963) regression on the environment mean
Shukla (1972) stability variance with its F-test
Wricke (1962) ecovalence
Coefficient of variation (Francis and Kannenberg, 1978)
Cultivar superiority index (Lin and Binns, 1988)
An integrated ranking averages the stability ranks of the seven methods.
Usage
stability_analysis(
data,
genotype,
environment,
replication,
trait,
method = "all",
verbose = TRUE,
alpha = 0.05,
fw_log = FALSE
)Arguments
- data
Data frame with genotype, environment, replication and trait columns (one row per plot). Genotype x environment means (one row per combination) can be used with
replication = NULL; tests that need the pooled error are then omitted.- genotype
Name of the genotype (or treatment) column.
- environment
Name of the environment (location, year or season) column.
- replication
Name of the replication column, or
NULL.- trait
Name of the trait (response) column.
- method
"all"(default) or one or more of"eberhart","ammi","finlay","shukla","wricke","cv","superiority".- verbose
Logical. If TRUE (default), prints the report.
- alpha
Significance level for the tests. Default 0.05.
- fw_log
Logical. If TRUE, the Finlay-Wilkinson regression uses log10-transformed means as in the original paper. Default FALSE (on the original scale, where the slope equals the Eberhart-Russell \(b_i\)).
Value
An object of class aridagri_stability containing
anova (combined ANOVA, when replications are given),
genotype_means, environment_means, ge_matrix
and, depending on method, eberhart (with
eberhart_anova), ammi (anova, components,
stability, genotype_scores, environment_scores),
finlay, shukla, wricke, cv_stability,
superiority, integrated and concordance
(Kendall's W among the seven stability rankings).
Details
Calculations use the genotype x environment table of means (\(g\) genotypes, \(e\) environments, \(r\) replications). The environmental index is \(I_j = \bar{y}_{.j} - \bar{y}_{..}\).
Eberhart-Russell. \(b_i = \sum_j y_{ij} I_j / \sum_j I_j^2\); \(S^2_{di} = \sum_j \delta^2_{ij}/(e - 2) - MSE/r\), where \(\delta_{ij}\) are deviations from the regression and MSE is the pooled error. \(b_i = 1\) is tested with \(t = (b_i - 1)/SE(b_i)\) on \(e - 2\) df, and \(S^2_{di} = 0\) with \(F = [\sum_j \delta^2_{ij}/(e-2)] / (MSE/r)\).
Shukla. \(\sigma^2_i = [g(g-1)W_i - \sum W] / [(e-1)(g-1)(g-2)]\), where \(W_i\) is Wricke's ecovalence \(\sum_j (\bar{y}_{ij} - \bar{y}_{i.} - \bar{y}_{.j} + \bar{y}_{..})^2\); tested with \(F = \sigma^2_i / (MSE/r)\) on \(e - 1\) and the error df. Values are on the scale of the means.
AMMI. The interaction matrix is decomposed by singular value decomposition. IPCA \(k\) has sum of squares \(r \lambda_k^2\) and \(g + e - 1 - 2k\) df (Gollob, 1968). Scores are \(u_{ik}\sqrt{\lambda_k}\). ASV = \(\sqrt{[(SS_1/SS_2) IPCA1]^2 + IPCA2^2}\) (Purchase et al., 2000) and the yield stability index is the sum of the ranks of mean (high = 1) and ASV.
Lin-Binns. \(P_i = \sum_j (y_{ij} - M_j)^2 / (2e)\), with \(M_j\) the highest mean in environment \(j\).
References
Eberhart, S.A. and Russell, W.A. (1966). Stability parameters for comparing varieties. Crop Science, 6(1), 36-40. doi:10.2135/cropsci1966.0011183X000600010011x
Finlay, K.W. and Wilkinson, G.N. (1963). The analysis of adaptation in a plant-breeding programme. Australian Journal of Agricultural Research, 14(6), 742-754. doi:10.1071/AR9630742
Shukla, G.K. (1972). Some statistical aspects of partitioning genotype-environmental components of variability. Heredity, 29(2), 237-245. doi:10.1038/hdy.1972.87
Wricke, G. (1962). Uber eine Methode zur Erfassung der okologischen Streubreite in Feldversuchen. Zeitschrift fur Pflanzenzuchtung, 47, 92-96.
Gollob, H.F. (1968). A statistical model which combines features of factor analytic and analysis of variance techniques. Psychometrika, 33(1), 73-115. doi:10.1007/BF02289676
Purchase, J.L., Hatting, H. and van Deventer, C.S. (2000). Genotype x environment interaction of winter wheat (Triticum aestivum L.) in South Africa: II. Stability analysis of yield performance. South African Journal of Plant and Soil, 17(3), 101-107. doi:10.1080/02571862.2000.10634878
Francis, T.R. and Kannenberg, L.W. (1978). Yield stability studies in short-season maize. I. A descriptive method for grouping genotypes. Canadian Journal of Plant Science, 58(4), 1029-1034. doi:10.4141/cjps78-157
Lin, C.S. and Binns, M.R. (1988). A superiority measure of cultivar performance for cultivar x location data. Canadian Journal of Plant Science, 68(1), 193-198. doi:10.4141/cjps88-018
Examples
data(pearlmillet_met)
st <- stability_analysis(pearlmillet_met, genotype = "genotype",
environment = "environment", replication = "rep",
trait = "grain_yield")
#>
#> ======================================================================
#> STABILITY ANALYSIS
#> ======================================================================
#> Trait : grain_yield
#> Genotypes : 10
#> Environments : 6
#> Replications : 3
#> Grand mean : 1850.89
#>
#> Combined analysis of variance
#> Source Df Sum Sq Mean Sq F value Pr(>F)
#> Environment 5 21126520.38 4225304.08 198.051 0.0000 ***
#> Rep(Environment) 12 256012.80 21334.40 2.042 0.0271 *
#> Genotype 9 1529257.11 169917.46 16.265 0.0000 ***
#> Genotype x Environment 45 1479461.62 32876.92 3.147 0.0000 ***
#> Pooled error 108 1128267.87 10446.92
#> Total 179 25519519.78
#> Signif. codes: *** p < 0.001, ** p < 0.01, * p < 0.05, NS not significant
#>
#> Eberhart and Russell (1966)
#> Genotype Mean bi SE_bi p_bi S2di p_S2di R2
#> PM-04 2016 1.1880 0.14110 0.25330 10530.0 0.004411 0.9466
#> PM-07 1972 1.2740 0.06970 0.01717 -60.9 0.420300 0.9882
#> PM-01 1923 1.0490 0.05697 0.44160 -1196.0 0.623600 0.9883
#> PM-02 1856 1.0370 0.12790 0.78790 8030.0 0.013470 0.9427
#> PM-06 1841 0.8868 0.06148 0.13950 -820.5 0.550700 0.9811
#> PM-09 1830 1.1690 0.06507 0.06032 -500.7 0.492800 0.9878
#> PM-10 1827 1.1220 0.10760 0.31840 4666.0 0.059670 0.9646
#> PM-03 1792 0.6853 0.09957 0.03415 3499.0 0.098940 0.9221
#> PM-08 1757 0.8286 0.09566 0.14770 2962.0 0.124400 0.9494
#> PM-05 1694 0.7608 0.05551 0.01255 -1313.0 0.647100 0.9792
#> bi = 1 and non-significant S2di indicate average, stable response.
#>
#> AMMI analysis of variance
#> Source Df Sum Sq Mean Sq F value Pr(>F)
#> Environment 5 21126520.38 4225304.08 198.051 0.0000 ***
#> Rep(Environment) 12 256012.80 21334.40 2.042 0.0271 *
#> Genotype 9 1529257.11 169917.46 16.265 0.0000 ***
#> Genotype x Environment 45 1479461.62 32876.92 3.147 0.0000 ***
#> IPCA1 13 823910.41 63377.72 6.067 0.0000 ***
#> IPCA2 11 329345.65 29940.51 2.866 0.0025 **
#> IPCA3 9 155354.79 17261.64 1.652 0.1096 NS
#> IPCA4 7 113089.95 16155.71 1.546 0.1594 NS
#> IPCA5 5 57760.82 11552.16 1.106 0.3617 NS
#> Pooled error 108 1128267.87 10446.92
#> Signif. codes: *** p < 0.001, ** p < 0.01, * p < 0.05, NS not significant
#>
#> AMMI stability value (ASV) and yield stability index (YSI)
#> Genotype Mean Mean_Rank IPCA1 IPCA2 ASV ASV_Rank YSI
#> PM-01 1923 3 -2.2080 1.4590 5.712 1 4
#> PM-02 1856 4 0.4647 9.3350 9.407 2 6
#> PM-04 2016 1 -9.9670 -8.3640 26.300 9 10
#> PM-07 1972 2 -9.8530 0.3348 24.650 8 10
#> PM-06 1841 5 5.3100 2.9820 13.620 5 10
#> PM-10 1827 7 -1.5470 9.3170 10.090 3 10
#> PM-09 1830 6 -7.4320 -2.4650 18.760 6 12
#> PM-08 1757 9 4.6960 -6.2630 13.310 4 13
#> PM-05 1694 10 8.8890 -0.8317 22.250 7 17
#> PM-03 1792 8 11.6500 -5.5050 29.650 10 18
#>
#> Shukla (1972) stability variance
#> Genotype Mean Sigma2_i F_value p_value Rank
#> PM-01 1923 1332 0.3825 8.598e-01 1
#> PM-06 1841 3546 1.0180 4.106e-01 2
#> PM-09 1830 6634 1.9050 9.936e-02 3
#> PM-10 1827 9419 2.7050 2.418e-02 4
#> PM-08 1757 10240 2.9420 1.575e-02 5
#> PM-02 1856 10380 2.9810 1.467e-02 6
#> PM-05 1694 10880 3.1230 1.133e-02 7
#> PM-07 1972 15230 4.3740 1.153e-03 8
#> PM-04 2016 18880 5.4210 1.733e-04 9
#> PM-03 1792 23050 6.6190 2.062e-05 10
#>
#> Integrated stability ranking (1 = most stable)
#> Genotype Mean ER AMMI FW Shukla Wricke CV LB Rank
#> PM-01 1923 2 1 2 1 1 5 3 1
#> PM-06 1841 3 5 3 2 2 4 6 2
#> PM-09 1830 4 6 5 3 3 9 4 3
#> PM-02 1856 9 2 1 6 6 6 5 4
#> PM-10 1827 8 3 4 4 4 8 7 5
#> PM-08 1757 6 4 6 5 5 3 9 5
#> PM-05 1694 1 7 8 7 7 2 10 7
#> PM-07 1972 5 8 9 8 8 10 2 8
#> PM-04 2016 10 9 7 9 9 7 1 9
#> PM-03 1792 7 10 10 10 10 1 8 10
#> Agreement among the seven rankings: Kendall's W = 0.346
#>
#> Full tables: $eberhart, $eberhart_anova, $finlay, $shukla, $wricke, $ammi, $cv_stability, $superiority
st$eberhart
#> Genotype Mean bi SE_bi t_bi_eq_1 p_bi S2di
#> 1 PM-04 2016.000 1.1880996 0.14108165 1.3332677 0.25330783 10534.45696
#> 2 PM-07 1971.778 1.2736153 0.06970257 3.9254693 0.01716838 -60.90468
#> 3 PM-01 1923.444 1.0486126 0.05697295 0.8532581 0.44159847 -1196.47687
#> 4 PM-02 1856.389 1.0367699 0.12785525 0.2875902 0.78794498 8029.50826
#> 5 PM-06 1840.556 0.8868424 0.06147967 -1.8405692 0.13950632 -820.54307
#> 6 PM-09 1829.944 1.1689030 0.06506821 2.5957840 0.06031524 -500.74246
#> 7 PM-10 1826.722 1.1224747 0.10756573 1.1386034 0.31843257 4665.75834
#> 8 PM-03 1792.222 0.6852660 0.09956594 -3.1610615 0.03414925 3498.86293
#> 9 PM-08 1757.389 0.8286463 0.09566438 -1.7911966 0.14774463 2962.45905
#> 10 PM-05 1694.444 0.7607702 0.05550523 -4.3100417 0.01254563 -1312.73413
#> p_S2di R2 Response Stable
#> 1 0.004410734 0.9466092 average (bi = 1) FALSE
#> 2 0.420305801 0.9881612 above average (bi > 1) TRUE
#> 3 0.623619365 0.9883300 average (bi = 1) TRUE
#> 4 0.013473999 0.9426563 average (bi = 1) FALSE
#> 5 0.550702395 0.9811392 average (bi = 1) TRUE
#> 6 0.492837445 0.9877569 average (bi = 1) TRUE
#> 7 0.059666052 0.9645686 average (bi = 1) TRUE
#> 8 0.098943369 0.9221324 below average (bi < 1) TRUE
#> 9 0.124425636 0.9493866 average (bi = 1) TRUE
#> 10 0.647062473 0.9791517 below average (bi < 1) TRUE
st$ammi$anova
#> Df Sum Sq Mean Sq F value Pr(>F)
#> Environment 5 21126520.38 4225304.08 198.051226 4.253250e-11
#> Rep(Environment) 12 256012.80 21334.40 2.042170 2.705284e-02
#> Genotype 9 1529257.11 169917.46 16.264830 1.408097e-16
#> Genotype x Environment 45 1479461.62 32876.92 3.147043 6.349451e-07
#> IPCA1 13 823910.41 63377.72 6.066639 2.245488e-08
#> IPCA2 11 329345.65 29940.51 2.865964 2.457518e-03
#> IPCA3 9 155354.79 17261.64 1.652318 1.095895e-01
#> IPCA4 7 113089.95 16155.71 1.546456 1.594051e-01
#> IPCA5 5 57760.82 11552.16 1.105796 3.616571e-01
#> Pooled error 108 1128267.87 10446.92 NA NA