Skip to contents

1 Abstract

Finlay and Wilkinson’s regression, the variance measures, Shukla’s tests with Kang’s yield-stability statistic, Kang’s rank-sum and Fox’s top-third count.

2 Regression on the environment index

reg <-
  stab_reg(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    )
plot(x = reg, which = "lines")

The red line has slope 1. Lines steeper than it belong to genotypes that profit more than the average from good environments.

3 Variance measures

sm <-
  stab_measures(
      .data = ge_data
    , .y    = Yield
    , .gen  = Gen
    , .env  = Env
    )
head(x = sm$StabMeasures[order(Ecov)], n = 6)
             Gen     Mean   GenSS      Var        CV     Ecov ShuklaVar
          <char>    <num>   <num>    <num>     <num>    <num>     <num>
1: NIBGE GANDUM4 3586.545 2087692 208769.2 12.739632 397444.3  38173.13
2:        V14154 4364.727 1427137 142713.7  8.655173 590274.7  58121.11
3:      TWS12155 4050.000 3217917 321791.7 14.006589 666358.8  65991.87
4:         PR119 4156.727 3378862 337886.2 13.984073 686850.1  68111.66
5:      TWS12464 4136.455 3399688 339968.8 14.095850 877015.1  87783.90
6:        V14225 4194.182 3048761 304876.1 13.164804 928009.3  93059.17
plot(x = sm, which = "ecov")

stab_interpret(
    x             = sm
  , higher_better = TRUE
  , top           = 5
  )
Variance-based stability measures

17 genotype(s) have a mean above average and an ecovalence below the median:
PR115, V14154, V14168, LOCAL CHECK, 013BT034 and 12 more.

Findings:
- Smallest ecovalence (smallest share of the interaction): NIBGE GANDUM4,
  V14154, TWS12155, PR119 and TWS12464.
- Smallest variance over environments (static stability): BARDC1016, V14154,
  V12066, NR448 and NR443.
- Rank correlations of the mean with the variance, ecovalence and stability
  variance: 0.36, 0.03, 0.03.

Recommendations:
- Prefer the dynamic measures (ecovalence, stability variance) for selection:
  they compare each genotype with the average response, not with constancy.
- Rank the genotypes on mean and stability together with stab_kang() or
  stab_par().

Cautions:
- The measures are on the scale of the means; tests of Shukla's variance are
  in stab_par().

4 Shukla’s tests and Kang’s yield-stability statistic

sp <-
  stab_par(
      .data   = ge_data
    , .y      = Yield
    , .rep    = Rep
    , .gen    = Gen
    , .env    = Env
    , alpha   = 0.1
    , .envCov = NULL
    )
sp$ANOVA
                 Df    Sum Sq  Mean Sq  F value    Pr(>F)
Total           659 536939402
Gen              59  71662431  1214617   3.7143 3.937e-16 ***
Env              10 263940496 26394050 266.1568 < 2.2e-16 ***
Gen x Env       590 201336476   341248   3.4411 < 2.2e-16 ***
  Heterogeneity  59  27695329   469412   1.4355   0.02256 *
  Residual      531 173641147   327008   3.2975 < 2.2e-16 ***
Pooled error    649  64359568    99167
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
head(x = sp$SimultSel, n = 10)
             Gen     Mean  Rank Adjustment Adj.Rank     Sigma Stab.Rating   YSi
          <char>    <num> <int>      <int>    <int>     <num>       <int> <int>
 1:       V14154 4364.727    56          2       58  58121.11           0    58
 2:        DN126 4480.864    60          3       63 231116.61          -8    55
 3:       V14170 4463.818    59          3       62 199533.08          -8    54
 4:        PR115 4444.273    58          3       61 122904.01          -8    53
 5:     12B.2511 4414.409    57          2       59 255149.62          -8    51
 6: FAISALABAD08 4360.591    55          2       57 257374.96          -8    49
 7:       V14168 4342.045    54          2       56 152743.33          -8    48
 8:     013BT034 4247.500    50          2       52  94993.42          -4    48
 9:        NR491 4319.500    53          2       55 213377.77          -8    47
10:  LOCAL CHECK 4280.136    52          2       54 142540.51          -8    46
    Select
    <char>
 1:      +
 2:      +
 3:      +
 4:      +
 5:      +
 6:      +
 7:      +
 8:      +
 9:      +
10:      +
plot(x = sp, which = "ys")

stab_interpret(
    x             = sp
  , higher_better = TRUE
  , top           = 5
  )
Shukla's stability variance and Kang's yield-stability statistic

Kang's statistic selects 31 of 60 genotypes; the best are V14154, DN126,
V14170, PR115 and 12B.2511.

Findings:
- Shukla's stability variance is significant for 55 of 60 genotypes
  (unstable): 013BT034, 122557, 122559, 12B.2511, 12FJ26 and 50 more.
- The linear regression on the environment index explains a significant part
  of the interaction (heterogeneity, p = 0.023); the remaining interaction is
  significant (p < 0.001).
- Means are compared with an LSD of 186.4; genotypes more than one or two LSD
  above the grand mean gain 2 or 3 points.

Recommendations:
- Select from V14154, DN126, V14170, PR115 and 12B.2511: they combine yield
  with stability, weighted as Kang proposed.
- Genotypes with significant stability variance should be recommended only
  for the environments where they did well (see ge_means()).

Cautions:
- Kang's weights (stability ratings -2, -4, -8) are a convention; changing
  alpha changes which genotypes lose points.

5 Rank methods

kg <-
  stab_kang(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    )
head(x = kg$Kang, n = 6)
        Gen     Mean ShuklaVar rMean rShukaVar rStab
     <char>    <num>     <num> <int>     <int> <int>
1:   V14154 4364.727  58121.11     5         2     7
2: 013BT034 4247.500  94993.42    11         8    19
3:    PR115 4444.273 122904.01     3        17    20
4:     MSH3 4247.045 110234.85    12        11    23
5:   V14225 4194.182  93059.17    21         6    27
6:    PR119 4156.727  68111.66    24         4    28
fx <-
  stab_fox(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    )
head(x = fx$Fox, n = 6)
        Gen     Mean   TOP  TOP.pct
     <char>    <num> <int>    <num>
1:    DN126 4480.864     9 81.81818
2:   V14170 4463.818     8 72.72727
3:   V14154 4364.727     8 72.72727
4:    PR115 4444.273     7 63.63636
5:    NR491 4319.500     7 63.63636
6: 013BT034 4247.500     7 63.63636

6 Safety-first and superiority

Eskridge (1990) treats the choice of a cultivar as a decision under risk: the breeder accepts a small probability \(\alpha\) of a disastrously low yield and prefers the genotype with the largest lower confidence limit, \[\ybar_{i\cdot} - Z_{1-\alpha}\,\sigma_i,\] where \(\sigma_i\) is the standard deviation of the genotype’s yield under one of four definitions of stability. EV uses the variance over environments, FW the departure of Finlay and Wilkinson’s slope from 1, SH Shukla’s stability variance, and ER the slope with Eberhart and Russell’s deviations. A small \(\alpha\) weighs stability heavily, and \(\alpha = 0.5\) gives the mean.

es <-
  stab_eskridge(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    , alpha = 0.05
    )
head(x = es$Eskridge, n = 6)
        Gen     Mean       EV       FW       SH       ER rMean   rEV   rFW
     <char>    <num>    <num>    <num>    <num>    <num> <int> <int> <int>
1:   V14154 4364.727 3743.343 4136.892 3501.802 3957.406     5     1    11
2:    PR115 4444.273 3604.917 4308.500 3485.151 3842.936     3     2     2
3: 013BT034 4247.500 3355.062 4213.649 3328.587 3714.264    11     5     5
4:    PR119 4156.727 3200.607 4074.380 3278.279 3703.990    24    16    16
5:   V14170 4463.818 3256.493 4258.024 3402.104 3702.917     2    13     3
6:    DN126 4480.864 3047.967 3958.065 3379.643 3693.828     1    29    23
     rSH   rER
   <int> <int>
1:     1     1
2:     2     2
3:     6     3
4:    12     4
5:     3     5
6:     4     6
round(x = es$RankCor, digits = 2)
     Mean   EV   FW   SH   ER
Mean 1.00 0.48 0.63 0.76 0.65
EV   0.48 1.00 0.49 0.52 0.51
FW   0.63 0.49 1.00 0.67 0.62
SH   0.76 0.52 0.67 1.00 0.89
ER   0.65 0.51 0.62 0.89 1.00
plot(x = es, which = "ranks")

stab_interpret(
    x             = es
  , higher_better = TRUE
  , top           = 5
  )
Eskridge's safety-first indices

With alpha = 0.05 (z = 1.64), the safest choices on ER are V14154, PR115 and
013BT034; the highest mean, DN126, ranks 6 on ER.

Findings:
- Best genotype on each index: Mean DN126, EV V14154, FW V14168, SH V14154,
  ER V14154.
- Among the 5 best on every one of the four indices: PR115.
- Kendall's correlation of the mean with EV, FW, SH and ER: 0.48, 0.63, 0.76,
  0.65; a low value means that stability changes the choice.
- EV penalizes any variation over environments (it favours genotypes that do
  not respond to good environments); FW penalizes a slope different from 1;
  SH the share of the interaction; ER both slope and unpredictable
  deviations.

Recommendations:
- When the regression on the environment index describes the responses well
  (see er_anova()), select on ER: V14154, PR115 and 013BT034.
- When farmers cannot afford a poor yield (subsistence farming), use a small
  alpha (0.05 or 0.10); for commercial growers who can average over seasons,
  alpha near 0.25 or the mean itself.

Cautions:
- The indices assume that yields of a genotype over environments are roughly
  normal; with few environments the variances are imprecise.

Annicchiarico’s (1992) reliability index is the same idea on the relative scale (percent of the environment means), so that poor and rich environments weigh alike. Lin and Binns’ (1988) superiority measure is the mean squared distance from the best genotype of every environment.

rl <-
  stab_reliability(
      .data         = ge_data
    , .y            = Yield
    , .rep          = Rep
    , .gen          = Gen
    , .env          = Env
    , alpha         = 0.25
    , higher_better = TRUE
    )
head(x = rl$Reliability, n = 6)
        Gen     Mean Rel.Mean    Rel.SD    Index rIndex
     <char>    <num>    <num>     <num>    <num>  <int>
1:    PR115 4444.273 109.7725  8.936579 103.7449      1
2:   V14154 4364.727 107.9437  6.476023 103.5757      2
3:   V14170 4463.818 109.7141 10.399731 102.6996      3
4:    DN126 4480.864 109.5738 12.062890 101.4375      4
5:   V14168 4342.045 107.0181  9.149658 100.8468      5
6: 12B.2511 4414.409 108.0327 11.363673 100.3680      6
su <-
  stab_superiority(
      .data         = ge_data
    , .y            = Yield
    , .rep          = Rep
    , .gen          = Gen
    , .env          = Env
    , higher_better = TRUE
    )
head(x = su$Superiority, n = 6)
            Gen     Mean       Pi   Pi.Gen     Pi.GE   rPi
         <char>    <num>    <num>    <num>     <num> <int>
1:        PR115 4444.273 244805.8 174721.1  70084.71     1
2:     12B.2511 4414.409 259870.6 192820.5  67050.09     2
3:        DN126 4480.864 263678.2 153760.3 109917.92     3
4: FAISALABAD08 4360.591 284017.6 227689.8  56327.80     4
5:       V14154 4364.727 299476.0 224907.1  74568.92     5
6:       V14168 4342.045 315412.2 240376.6  75035.64     6
plot(x = su)

7 Nonparametric stability

Huehn’s (1979) \(S^{(1)}\) and \(S^{(2)}\) use only the ranks of the genotypes in each environment, after the genotype effect is removed. A stable genotype keeps its rank. Nassar and Huehn (1987) give tests for each genotype and for the whole set.

hu <-
  stab_huehn(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    )
head(x = hu$Huehn, n = 6)
             Gen     Mean MeanRank       S1         Z1      p.Z1       S2
          <char>    <num>    <num>    <num>      <num>     <num>    <num>
1: NIBGE GANDUM4 3586.545 30.45455 12.50909 0.77084781 0.3799549 112.8727
2:         WBG14 3765.455 31.09091 16.32727 0.18501481 0.6670985 201.0909
3:         PR119 4156.727 28.90909 16.83636 0.13721149 0.7110691 220.4909
4:        V14154 4364.727 29.63636 16.94545 0.12789571 0.7206239 214.4545
5:      TWS12245 4100.455 28.54545 16.98182 0.12486322 0.7238186 216.0727
6:         DN117 4045.409 31.27273 17.52727 0.08374189 0.7722891 225.2182
          Z2       p.Z2   rS1   rS2
       <num>      <num> <int> <int>
1: 4.2812291 0.03853547     1     1
2: 1.1951475 0.27429370     2     2
3: 0.7719762 0.37960639     3     5
4: 0.8937757 0.34445618     4     3
5: 0.8602497 0.35366882     5     4
6: 0.6828177 0.40861814     6     7
hu$Tests
  Statistic     Chisq Df   p.value  Expected   Variance
1        S1  6.525828 60 1.0000000  19.99444   72.68687
2        S2 46.577429 60 0.8977291 299.91667 8171.82033
stab_interpret(
    x             = hu
  , higher_better = TRUE
  , top           = 5
  )
Huehn's nonparametric stability

Genotypes do not differ significantly in stability (S1: p = 1.000; S2: p =
0.898); the most stable ranks belong to NIBGE GANDUM4, WBG14 and PR119.

Findings:
- Significantly unstable on S1 (ranks shift more than expected): none.
- Significantly unstable on S2: BARDC1016.
- Mean above average and S1 in the better half: PR119, V14154, TWS12245,
  013BT034, V14225 and 12 more.

Recommendations:
- Genotypes with high means and small S1 (PR119, V14154 and TWS12245) keep
  their position across environments.

Cautions:
- The ranks are computed after removing the genotype effect, so S1 and S2
  measure stability only; read them with the mean. The chi-square tests are
  approximate for few genotypes.

8 Summary

The regression describes how genotypes respond, and the variance measures how much interaction each carries. Kang’s statistics turn yield and stability into one selection rule. Eskridge’s indices make the weight given to stability explicit through the risk \(\alpha\) the grower accepts.

9 References

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.

Eberhart, S. A. and Russell, W. A. (1966). Stability parameters for comparing varieties. Crop Science, 6(1), 36–40.

Wricke, G. (1962). Uber eine Methode zur Erfassung der okologischen Streubreite in Feldversuchen. Zeitschrift fur Pflanzenzuchtung, 47, 92–96.

Shukla, G. K. (1972). Some statistical aspects of partitioning genotype-environmental components of variability. Heredity, 29(2), 237–245.

Kang, M. S. and Pham, H. N. (1991). Simultaneous selection for high yielding and stable crop genotypes. Agronomy Journal, 83(1), 161–165.

Kang, M. S. (1988). A rank-sum method for selecting high-yielding, stable corn genotypes. Cereal Research Communications, 16(1–2), 113–115.

Eskridge, K. M. (1990). Selection of stable cultivars using a safety-first rule. Crop Science, 30(2), 369–374.

Annicchiarico, P. (1992). Cultivar adaptation and recommendation from alfalfa trials in Northern Italy. Journal of Genetics and Breeding, 46, 269–278.

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.

Huehn, M. (1979). Beitrage zur Erfassung der phanotypischen Stabilitat I. EDV in Medizin und Biologie, 10, 112–117.

Nassar, R. and Huehn, M. (1987). Studies on estimation of phenotypic stability: tests of significance for nonparametric measures of phenotypic stability. Biometrics, 43(1), 45–53.

Fox, P. N., Skovmand, B., Thompson, B. K., Braun, H. J. and Cormier, R. (1990). Yield and adaptation of hexaploid spring triticale. Euphytica, 47(1), 57–64.