Skip to contents

1 Abstract

gge_biplot() has four views (.which) and three scalings (.svp), twelve plots in all. This vignette draws every one of them for the wheat trial ge_data (60 genotypes in 11 environments), interprets each with stab_interpret(), and says which combination answers which question. The short version: a view asks the question and the scaling decides whether the distances in the plot measure what the view needs. Which won where is drawn with symmetric scaling, mean against stability with genotype-focused scaling, and discrimination and representativeness with environment-focused scaling. Some readings (the winner of each environment, the ranking of genotypes on the average environment axis) are the same under every scaling; others (the polygon, the instability of genotypes, the lengths and angles of environment vectors) are not.

2 The biplot and its scalings

The GGE biplot (Yan et al. 2000) displays the table of means centred on the environment means, \[\mX = \left(\ybar_{ij} - \ybar_{\cdot j}\right), \qquad i = 1, \ldots, G, \quad j = 1, \ldots, E,\] which holds the genotype main effect G and the interaction GE together. With the singular value decomposition \(\mX = \mU\mD\mV^\top\) and its first two components, genotype \(i\) is plotted at the point \(\vgs_i\) and environment \(j\) at the end of the vector \(\ves_j\), the rows of \[\mathbf{G}_P = \mU_2\mD_2^{P}, \qquad \mathbf{E}_P = \mV_2\mD_2^{1-P},\] where \(P\) is the singular value partition:

.svp \(P\) the singular values go to the plot preserves
"genotype" 1 the genotypes distances between genotypes (genotype metric)
"symmetric" 0.5 both, equally neither metric exactly; a balanced picture
"environment" 0 the environments lengths of environment vectors and the angles between them

For every \(P\) the inner product is the same, \[\vgs_i^\top\ves_j = \sum_{n=1}^{2} u_{in}\lambda_n^{P}\lambda_n^{1-P}v_{jn} = \hat{x}_{ij},\] the two-component fit of genotype \(i\) in environment \(j\). Everything that rests on inner products alone is therefore invariant to the scaling:

  • the winner of each environment (the largest \(\hat{x}_{ij}\) in column \(j\)). In these data the winners are indeed identical under the three scalings;
  • the ranking of genotypes on the average environment axis. The axis has the direction \(\va \propto \bar{\ves} = \mathbf{E}_P^\top\mathbf{1}/E\), and the projection \(\vgs_i^\top\bar{\ves} = \sum_j\hat{x}_{ij}/E\) is the two-component mean of genotype \(i\) whatever \(P\) is. In these data the order on the axis is identical under the three scalings.

What depends on the scaling are distances and angles:

  • the polygon of which won where. A genotype that wins somewhere is always a vertex, but non-winning vertices can come or go. Here the vertices happen to be the same under the three scalings;
  • instability, the distance of a genotype from the average environment axis. Its rank correlation between genotype-focused and symmetric scaling is 0.98, and between genotype-focused and environment-focused scaling 0.96;
  • discrimination, the length of an environment vector. Under environment-focused scaling it equals the standard deviation of the fitted genotype differences in that environment multiplied by \(\sqrt{G-1}\), because \(\lVert\ves_j\rVert^2 = \sum_n\lambda_n^2v_{jn}^2 = \sum_i\hat{x}_{ij}^2\). The rank correlation of the lengths between environment-focused and symmetric scaling is 1, and between environment-focused and genotype-focused scaling 0.99;
  • representativeness, the angle of an environment with the average environment axis. Under environment-focused scaling the cosine of the angle between two vectors is the correlation of the two environments in the two-component fit. Rank correlations of the angles with the environment-focused angles: 0.99 (symmetric) and 0.97 (genotype-focused).

How large the distortion is depends on the ratio of the singular values: changing \(P\) by one stretches PC1 relative to PC2 by the factor \(\lambda_1/\lambda_2\). In these data the two components hold 45.1% of G + GE (PC1 32.3%, PC2 12.8%), so \(\lambda_1/\lambda_2 = 1.59\), a mild ratio: the rankings above change little, although the distances themselves do change. In trials where PC1 dominates more, the choice of scaling matters more. Two components holding less than half of G + GE is a modest share, so every view below is an approximation; stab_interpret() adds a caution whenever the share is below 60 percent.

For display, gge_biplot() multiplies the less spread set of points (environments under genotype-focused scaling, genotypes under environment-focused scaling) by one constant so that both sets fill the plot. A common constant changes neither directions nor rankings, so the readings below are unaffected.

3 Choosing the view and the scaling

question .which .svp
first look at the data; which genotypes and environments go together "basic" "symmetric"
how similar are the genotypes (clustering, parents for crossing) "basic" "genotype"
how similar are the environments (correlations, redundant sites) "basic" "environment"
which genotype wins where; are there mega-environments "which-won-where" "symmetric"
which genotypes are high-yielding and stable (wide recommendation) "mean-stability" "genotype"
which environments are good test sites; which are redundant or contrary "discrimination" "environment"

The other combinations are not wrong, but they show the question in a distorted metric. They are shown below so that the differences can be seen, and stab_interpret() names the scaling that suits a view when another one is used.

4 Basic biplot

The basic view shows the genotype points and the environment vectors without any construction. It answers the questions that rest on inner products directly: a genotype does well, relative to the environment mean, in an environment whose vector points towards it. The farther it projects along the vector, the better it does there; a projection on the opposite side means a yield below the environment mean.

4.1 Genotype-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "basic"
    , .svp   = "genotype"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot

The biplot shows 45.1% of G + GE; 5 winning genotype(s); DN126 is closest to
the ideal genotype.

Findings:
- Which won where (from the two-component fit, the same for every scaling):
  FAISALABAD08 wins in FSD; DN126 wins in FSDR and Okara; V14170 wins in
  Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and Bahawalnagar; IVII wins
  in Gujranwala; SD1013 wins in KSK.
- On the average environment axis the highest means are DN126, 12B.2511,
  V14170, FAISALABAD08 and PR115 (the ranking of the projections is that of
  the two-component means, the same for every scaling).
- DN126 is closest to the ideal genotype (the best mean with no instability).
- Most discriminating environments (longest vectors): Gujranwala, FSD and
  Sargodha; least discriminating: KSK, Bahawalnagar and Bhakkar.
- Most representative environments (smallest angle with the average
  environment axis): FSDR, Okara and Khanewal.

Recommendations:
- Sargodha is the best test environment.
- DN126 is the closest to the ideal genotype.
- Draw the views which-won-where, mean-stability and discrimination for the
  full reading.

Cautions:
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
- Mega-environments must be repeatable across years before they guide
  recommendations.

Reading. The distance between two genotype points approximates the distance between their rows of \(\mX\), that is, how differently the two genotypes perform over all environments. Genotypes close together are similar, and genotypes far from the origin are the most responsive. The environment vectors keep their directions, but their lengths are not comparable.

When to use. To compare genotypes with each other: grouping genotypes, choosing dissimilar parents, or checking that two entries are duplicates.

4.2 Symmetric scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "basic"
    , .svp   = "symmetric"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot

The biplot shows 45.1% of G + GE; 5 winning genotype(s); DN126 is closest to
the ideal genotype.

Findings:
- Which won where (from the two-component fit, the same for every scaling):
  FAISALABAD08 wins in FSD; DN126 wins in FSDR and Okara; V14170 wins in
  Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and Bahawalnagar; IVII wins
  in Gujranwala; SD1013 wins in KSK.
- On the average environment axis the highest means are DN126, 12B.2511,
  V14170, FAISALABAD08 and PR115 (the ranking of the projections is that of
  the two-component means, the same for every scaling).
- DN126 is closest to the ideal genotype (the best mean with no instability).
- Most discriminating environments (longest vectors): Gujranwala, FSD and
  Sargodha; least discriminating: KSK, Bahawalnagar and Bhakkar.
- Most representative environments (smallest angle with the average
  environment axis): FSDR, Okara and Khanewal.

Recommendations:
- FSD is the best test environment.
- DN126 is the closest to the ideal genotype.
- Draw the views which-won-where, mean-stability and discrimination for the
  full reading.

Cautions:
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
- Mega-environments must be repeatable across years before they guide
  recommendations.

Reading. Genotypes and environments spread alike, so neither set crowds near the origin. Neither distances between genotypes nor angles between environments are exact, but the picture is balanced.

When to use. For the first look at a trial, for presentations, and as the base of which won where.

4.3 Environment-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "basic"
    , .svp   = "environment"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot

The biplot shows 45.1% of G + GE; 5 winning genotype(s); DN126 is closest to
the ideal genotype.

Findings:
- Which won where (from the two-component fit, the same for every scaling):
  FAISALABAD08 wins in FSD; DN126 wins in FSDR and Okara; V14170 wins in
  Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and Bahawalnagar; IVII wins
  in Gujranwala; SD1013 wins in KSK.
- On the average environment axis the highest means are DN126, 12B.2511,
  V14170, FAISALABAD08 and PR115 (the ranking of the projections is that of
  the two-component means, the same for every scaling).
- DN126 is closest to the ideal genotype (the best mean with no instability).
- Most discriminating environments (longest vectors): Gujranwala, FSD and
  Sargodha; least discriminating: KSK, Bahawalnagar and Bhakkar.
- Most representative environments (smallest angle with the average
  environment axis): FSDR, Okara and Khanewal.

Recommendations:
- FSD is the best test environment.
- DN126 is the closest to the ideal genotype.
- Draw the views which-won-where, mean-stability and discrimination for the
  full reading.

Cautions:
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
- Mega-environments must be repeatable across years before they guide
  recommendations.

Reading. The length of an environment vector is proportional to the spread of the genotypes in that environment, and the cosine of the angle between two vectors approximates the correlation between the two environments. An acute angle means the two environments rank genotypes alike, a right angle means no relation, and an obtuse angle means opposite rankings (crossover interaction).

When to use. To compare environments: finding groups of correlated sites, redundant sites, or sites that rank the genotypes against the rest.

5 Which won where

The convex hull of the genotype points is drawn, with lines (rays) from the origin perpendicular to its sides. The rays divide the plane into sectors. The vertex genotype of a sector has the largest inner product with every environment that falls in it, so it is the winner there. Sectors that hold environments define candidate mega-environments. A vertex whose sector holds no environment wins nowhere and is among the poorest in some environments. Genotypes inside the polygon, near the origin, respond little to the environments.

In this trial the winners are FAISALABAD08, DN126, V14170, IVII and SD1013, under every scaling.

5.1 Genotype-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "which-won-where"
    , .svp   = "genotype"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: which won where

The biplot shows 45.1% of G + GE; 5 winning genotype(s) divide the
environments into 5 sector(s) with environments.

Findings:
- Which won where (from the two-component fit, the same for every scaling):
  FAISALABAD08 wins in FSD; DN126 wins in FSDR and Okara; V14170 wins in
  Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and Bahawalnagar; IVII wins
  in Gujranwala; SD1013 wins in KSK.
- Vertex genotypes of the polygon: DN126, V14170, V13348, KT325, SD1013,
  IVII, FAISALABAD08 and 12B.2511; they are the most responsive genotypes,
  best or poorest in some environments.
- Vertex genotypes whose sectors hold no environment (they win nowhere and
  are among the poorest in some environments): V13348, KT325 and 12B.2511.
- Genotypes near the origin respond little to the environments: 9496,
  TWS12464 and TWS12155; they are neither winners nor losers.

Recommendations:
- More than one sector holds environments: consider a separate recommendation
  for each group (mega-environment), once the grouping recurs over years.
- Recommend FAISALABAD08 for FSD.
- Recommend DN126 for FSDR and Okara.
- Recommend V14170 for Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and
  Bahawalnagar.
- Recommend IVII for Gujranwala.
- Recommend SD1013 for KSK.

Cautions:
- The genotype-focused scaling moves the polygon and its sectors; the winners
  listed are the same for every scaling, but symmetric scaling (.svp =
  "symmetric") is the usual choice for this view.
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
- Mega-environments must be repeatable across years before they guide
  recommendations.

Reading. The winners and their environments are those of the symmetric plot. The polygon is stretched along PC1, because PC1 carries \(\lambda_1\) rather than \(\sqrt{\lambda_1}\), so the sectors of genotypes that differ mainly on PC2 become narrow and their environments are hard to see.

When to use. When which won where is wanted on the same plot as distances between genotypes. Otherwise prefer symmetric scaling.

5.2 Symmetric scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "which-won-where"
    , .svp   = "symmetric"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: which won where

The biplot shows 45.1% of G + GE; 5 winning genotype(s) divide the
environments into 5 sector(s) with environments.

Findings:
- Which won where (from the two-component fit, the same for every scaling):
  FAISALABAD08 wins in FSD; DN126 wins in FSDR and Okara; V14170 wins in
  Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and Bahawalnagar; IVII wins
  in Gujranwala; SD1013 wins in KSK.
- Vertex genotypes of the polygon: DN126, V14170, V13348, KT325, SD1013,
  IVII, FAISALABAD08 and 12B.2511; they are the most responsive genotypes,
  best or poorest in some environments.
- Vertex genotypes whose sectors hold no environment (they win nowhere and
  are among the poorest in some environments): V13348, KT325 and 12B.2511.
- Genotypes near the origin respond little to the environments: 9496, AUR0810
  and TWS12464; they are neither winners nor losers.

Recommendations:
- More than one sector holds environments: consider a separate recommendation
  for each group (mega-environment), once the grouping recurs over years.
- Recommend FAISALABAD08 for FSD.
- Recommend DN126 for FSDR and Okara.
- Recommend V14170 for Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and
  Bahawalnagar.
- Recommend IVII for Gujranwala.
- Recommend SD1013 for KSK.

Cautions:
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
- Mega-environments must be repeatable across years before they guide
  recommendations.

Reading. This is the standard which-won-where plot (Yan and Tinker 2006). Read every sector with its vertex genotype and its environments; each group of environments with one winner is a candidate mega-environment.

When to use. To investigate mega-environments and specific adaptation, and to decide whether one recommendation covers the region (one winner) or the region needs to be split (several winners). The grouping must recur over years before it guides recommendations.

5.3 Environment-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "which-won-where"
    , .svp   = "environment"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: which won where

The biplot shows 45.1% of G + GE; 5 winning genotype(s) divide the
environments into 5 sector(s) with environments.

Findings:
- Which won where (from the two-component fit, the same for every scaling):
  FAISALABAD08 wins in FSD; DN126 wins in FSDR and Okara; V14170 wins in
  Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and Bahawalnagar; IVII wins
  in Gujranwala; SD1013 wins in KSK.
- Vertex genotypes of the polygon: DN126, V14170, V13348, KT325, SD1013,
  IVII, FAISALABAD08 and 12B.2511; they are the most responsive genotypes,
  best or poorest in some environments.
- Vertex genotypes whose sectors hold no environment (they win nowhere and
  are among the poorest in some environments): V13348, KT325 and 12B.2511.
- Genotypes near the origin respond little to the environments: 9496, AUR0810
  and TWS12464; they are neither winners nor losers.

Recommendations:
- More than one sector holds environments: consider a separate recommendation
  for each group (mega-environment), once the grouping recurs over years.
- Recommend FAISALABAD08 for FSD.
- Recommend DN126 for FSDR and Okara.
- Recommend V14170 for Sargodha, KotNaina, Khanewal, Sahiwal, Bhakkar and
  Bahawalnagar.
- Recommend IVII for Gujranwala.
- Recommend SD1013 for KSK.

Cautions:
- The environment-focused scaling moves the polygon and its sectors; the
  winners listed are the same for every scaling, but symmetric scaling (.svp
  = "symmetric") is the usual choice for this view.
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
- Mega-environments must be repeatable across years before they guide
  recommendations.

Reading. The winners are again unchanged. The genotype points crowd along the second axis and the polygon becomes flatter. The environment vectors now show correlations, so one plot shows both the sectors and how strongly the environments of a sector agree.

When to use. When the grouping of environments is the main interest and the polygon is secondary.

6 Mean against stability

The average environment axis (the arrow) runs through the origin and the average of the environment points. The projection of a genotype on it estimates the genotype’s mean, and the arrow points to higher means. The dotted line from a genotype to the axis measures instability: its contribution to the interaction beyond the average response. The ideal genotype sits far along the arrow and on the axis.

6.1 Genotype-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "mean-stability"
    , .svp   = "genotype"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: mean against stability

The biplot shows 45.1% of G + GE; DN126 combines the best mean with
stability.

Findings:
- On the average environment axis the highest means are DN126, 12B.2511,
  V14170, FAISALABAD08 and PR115 (the ranking of the projections is that of
  the two-component means, the same for every scaling).
- DN126 is closest to the ideal genotype (the best mean with no instability).
- Means above average and short projections onto the ordinate (stable):
  DN126, PR115, NR491, V14154, NRL1123 and 16 more.
- Means above average but unstable (long projections onto the ordinate):
  12B.2511, V14170, FAISALABAD08, V14168, NW181838 and 8 more.
- Most unstable: IVII, V13348 and PAKISTAN13.

Recommendations:
- For wide recommendation choose among DN126, PR115 and NR491.
- 12B.2511, V14170 and FAISALABAD08 are productive but unstable: recommend
  them only where they did well (which-won-where view).

Cautions:
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
head(x = attr(x = p, which = "gge")$atc, n = 8)
            Gen     Mean     ATC.x       ATC.y Instability
         <char>    <num>     <num>       <num>       <num>
1:        DN126 4480.864 1820.7897  227.924984  227.924984
2:     12B.2511 4414.409 1661.8980  471.036647  471.036647
3:       V14170 4463.818 1475.7643 -409.935029  409.935029
4: FAISALABAD08 4360.591 1284.5877 1042.955491 1042.955491
5:        PR115 4444.273 1079.6675  226.824665  226.824665
6:        NR491 4319.500  987.0395    4.907225    4.907225
7:       V14168 4342.045  967.3885  490.029737  490.029737
8:     NW181838 4245.818  923.4102 -491.821075  491.821075

Reading. The genotype metric makes the dotted distances comparable across genotypes. A genotype with a long projection along the arrow and a short dotted line is high-yielding and stable. A long dotted line marks specific adaptation; the which-won-where plot shows where.

When to use. To select genotypes for wide recommendation, combining mean and stability (Yan and Kang 2003). This is the scaling for this view.

6.2 Symmetric scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "mean-stability"
    , .svp   = "symmetric"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: mean against stability

The biplot shows 45.1% of G + GE; DN126 combines the best mean with
stability.

Findings:
- On the average environment axis the highest means are DN126, 12B.2511,
  V14170, FAISALABAD08 and PR115 (the ranking of the projections is that of
  the two-component means, the same for every scaling).
- DN126 is closest to the ideal genotype (the best mean with no instability).
- Means above average and short projections onto the ordinate (stable):
  DN126, PR115, NR491, V14154, NRL1123 and 17 more.
- Means above average but unstable (long projections onto the ordinate):
  12B.2511, V14170, FAISALABAD08, V14168, NW181838 and 7 more.
- Most unstable: IVII, V13348 and PAKISTAN13.

Recommendations:
- For wide recommendation choose among DN126, PR115 and NR491.
- 12B.2511, V14170 and FAISALABAD08 are productive but unstable: recommend
  them only where they did well (which-won-where view).

Cautions:
- Mean against stability is read with genotype-focused scaling (.svp =
  "genotype"): with symmetric scaling the ranking on the axis is unchanged,
  but the distances from it are not in units of the genotype differences, so
  the instability is distorted.
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.

Reading. The order of the projections on the arrow is that of the genotype-focused plot, so the ranking of the means can still be read. The dotted distances are no longer in the genotype metric: PC2 is relatively enlarged, and genotypes that differ on PC2 look less stable than they are. In these data the rank correlation of instability with the genotype-focused plot is 0.98.

When to use. Only when one plot has to carry several views. For selection, redraw with .svp = "genotype".

6.3 Environment-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "mean-stability"
    , .svp   = "environment"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: mean against stability

The biplot shows 45.1% of G + GE; DN126 combines the best mean with
stability.

Findings:
- On the average environment axis the highest means are DN126, 12B.2511,
  V14170, FAISALABAD08 and PR115 (the ranking of the projections is that of
  the two-component means, the same for every scaling).
- DN126 is closest to the ideal genotype (the best mean with no instability).
- Means above average and short projections onto the ordinate (stable):
  DN126, 12B.2511, PR115, NR491, V14154 and 16 more.
- Means above average but unstable (long projections onto the ordinate):
  V14170, FAISALABAD08, V14168, NW181838, PAKISTAN13 and 8 more.
- Most unstable: IVII, V13348 and PAKISTAN13.

Recommendations:
- For wide recommendation choose among DN126, 12B.2511 and PR115.
- V14170, FAISALABAD08 and V14168 are productive but unstable: recommend them
  only where they did well (which-won-where view).

Cautions:
- Mean against stability is read with genotype-focused scaling (.svp =
  "genotype"): with environment-focused scaling the ranking on the axis is
  unchanged, but the distances from it are not in units of the genotype
  differences, so the instability is distorted.
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.

Reading. The ranking on the arrow still holds. The genotype points carry no singular values, so both axes count equally and the instability is measured in the wrong metric: a genotype that deviates on PC2 is penalized as much as one that deviates equally on PC1, although PC1 carries 1.59 times as much variation. In these data the rank correlation of instability with the genotype-focused plot is still 0.96, because the ratio of the singular values is mild; with a dominant PC1 it can be much lower.

When to use. Not for judging stability. It is shown here to make the point that the scaling matters for this view.

7 Discriminativeness and representativeness

The environment vectors are drawn from the origin, with the average environment axis. A long vector discriminates well between genotypes. A small angle with the axis marks a representative environment. The ideal test environment is long and on the axis.

Four kinds of environment can be told apart:

  • long and representative: the best test sites, for selecting superior genotypes;
  • long but at a wide angle: useful for culling unstable genotypes, not for selecting the best ones;
  • short: little information, and candidates for dropping if they stay short over years;
  • at more than 90 degrees from the axis: they rank the genotypes against the other environments, a sign of crossover or of a different mega-environment.

7.1 Genotype-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "discrimination"
    , .svp   = "genotype"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: discriminativeness and representativeness

The biplot shows 45.1% of G + GE; Sargodha is the best test environment,
Gujranwala the most discriminating.

Findings:
- Most discriminating environments (longest vectors): Gujranwala, FSD and
  Sargodha; least discriminating: KSK, Bahawalnagar and Bhakkar.
- Most representative environments (smallest angle with the average
  environment axis): FSDR, Okara and Khanewal.
- Discriminating but not representative (angle above 45 degrees): Gujranwala;
  useful to cull unstable genotypes, not to select superior ones.
- At more than 90 degrees from the average environment (they rank the
  genotypes against the others): KSK.
- 15 of 55 pairs of environments are at an obtuse angle (negatively
  correlated in the biplot).
- Sargodha is closest to the ideal test environment (long vector on the
  average environment axis).

Recommendations:
- Keep Sargodha as test environment: discriminating and representative.
- KSK, Bahawalnagar and Bhakkar add little information (short vectors); they
  could be dropped from future trials, if this recurs over years.

Cautions:
- Discrimination and representativeness are read with environment-focused
  scaling (.svp = "environment"): only then do vector lengths approximate the
  standard deviations within environments and the cosines of angles the
  correlations between them; with genotype-focused scaling they are
  distorted.
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.

Reading. The environment vectors carry no singular values, so their lengths reflect only how each environment loads on the two components, not how strongly it separates the genotypes, and the angles no longer give correlations. In these data the ranks of lengths and angles still agree closely with the environment-focused plot (rank correlations 0.99 and 0.97), because the ratio of the singular values is mild; this cannot be counted on in general.

When to use. Not for evaluating test environments.

7.2 Symmetric scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "discrimination"
    , .svp   = "symmetric"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: discriminativeness and representativeness

The biplot shows 45.1% of G + GE; FSD is the best test environment,
Gujranwala the most discriminating.

Findings:
- Most discriminating environments (longest vectors): Gujranwala, FSD and
  Sargodha; least discriminating: KSK, Bahawalnagar and Bhakkar.
- Most representative environments (smallest angle with the average
  environment axis): FSDR, Okara and Khanewal.
- Discriminating but not representative (angle above 45 degrees): Gujranwala;
  useful to cull unstable genotypes, not to select superior ones.
- At more than 90 degrees from the average environment (they rank the
  genotypes against the others): KSK.
- 15 of 55 pairs of environments are at an obtuse angle (negatively
  correlated in the biplot).
- FSD is closest to the ideal test environment (long vector on the average
  environment axis).

Recommendations:
- Keep FSD as test environment: discriminating and representative.
- KSK, Bahawalnagar and Bhakkar add little information (short vectors); they
  could be dropped from future trials, if this recurs over years.

Cautions:
- Discrimination and representativeness are read with environment-focused
  scaling (.svp = "environment"): only then do vector lengths approximate the
  standard deviations within environments and the cosines of angles the
  correlations between them; with symmetric scaling they are distorted.
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.

Reading. This is a compromise: the lengths and angles are between those of the genotype-focused and the environment-focused plots. In these data their ranks agree with the environment-focused plot (rank correlations 1 and 0.99), so the same environments come out as most discriminating and most representative; the cosines are still not correlations.

When to use. For a quick look at the test sites when one symmetric plot is used for all views.

7.3 Environment-focused scaling

p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "discrimination"
    , .svp   = "environment"
    )
p

stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 5
  )
GGE biplot: discriminativeness and representativeness

The biplot shows 45.1% of G + GE; FSD is the best test environment,
Gujranwala the most discriminating.

Findings:
- Most discriminating environments (longest vectors): Gujranwala, FSD and
  Sargodha; least discriminating: KSK, Bahawalnagar and Bhakkar.
- Most representative environments (smallest angle with the average
  environment axis): FSDR, Okara and Khanewal.
- Discriminating but not representative (angle above 45 degrees): Gujranwala;
  useful to cull unstable genotypes, not to select superior ones.
- At more than 90 degrees from the average environment (they rank the
  genotypes against the others): KSK.
- 10 of 55 pairs of environments are at an obtuse angle (negatively
  correlated in the biplot).
- FSD is closest to the ideal test environment (long vector on the average
  environment axis).

Recommendations:
- Keep FSD as test environment: discriminating and representative.
- KSK, Bahawalnagar and Bhakkar add little information (short vectors); they
  could be dropped from future trials, if this recurs over years.

Cautions:
- The two components hold less than 60% of G + GE; conclusions from the
  biplot are tentative.
head(x = attr(x = p, which = "gge")$envs[order(-Length)], n = 6)
          Env   Length    Angle
       <char>    <num>    <num>
1: Gujranwala 4036.967 56.61221
2:        FSD 3789.346 22.23198
3:   Sargodha 3085.109 22.36305
4:    Sahiwal 2649.219 21.30497
5:   KotNaina 2275.356 27.81512
6:      Okara 1553.779 11.27195

Reading. The vector length is the standard deviation of the fitted genotype differences in the environment, times \(\sqrt{G-1}\), and the cosine of the angle between two environments is their correlation in the two-component fit. Read the long vectors close to the arrow as the best test sites, and the obtuse angles as negative correlations.

When to use. To evaluate test environments: choose sites for future trials, find redundant sites, and find sites that disagree with the rest (Yan et al. 2007). This is the scaling for this view.

8 All twelve at a glance

The rows are the views and the columns the scalings, with the labels removed for size. Down a column the points do not move; across a row the same question is shown in three metrics.

9 Summary

  • The view (.which) chooses the question, and the scaling (.svp) chooses the metric in which it is answered.
  • Winners and the ranking on the average environment axis are invariant to the scaling. Polygons, instability, and the lengths and angles of environment vectors are not.
  • Use symmetric scaling for which won where, genotype-focused scaling for mean against stability, and environment-focused scaling for discrimination and representativeness.
  • stab_interpret() writes the findings of the view that was drawn and warns when the scaling does not suit it.
  • With 45.1% of G + GE on two components, these data call for caution. Check the conclusions with ammi(), stab_eskridge() and the other stability statistics, and confirm mega-environments over years.

10 References

Yan, W., Hunt, L. A., Sheng, Q. and Szlavnics, Z. (2000). Cultivar evaluation and mega-environment investigation based on the GGE biplot. Crop Science, 40(3), 597–605.

Yan, W. and Kang, M. S. (2003). GGE Biplot Analysis: A Graphical Tool for Breeders, Geneticists, and Agronomists. CRC Press, Boca Raton.

Yan, W. and Tinker, N. A. (2006). Biplot analysis of multi-environment trial data: principles and applications. Canadian Journal of Plant Science, 86(3), 623–645.

Yan, W., Kang, M. S., Ma, B., Woods, S. and Cornelius, P. L. (2007). GGE biplot vs. AMMI analysis of genotype-by-environment data. Crop Science, 47(2), 643–653.