\[
\newcommand{\mY}{\mathbf{Y}}
\newcommand{\mZ}{\mathbf{Z}}
\newcommand{\mX}{\mathbf{X}}
\newcommand{\mU}{\mathbf{U}}
\newcommand{\mV}{\mathbf{V}}
\newcommand{\mD}{\mathbf{D}}
\newcommand{\vg}{\boldsymbol{\gamma}}
\newcommand{\vd}{\boldsymbol{\delta}}
\newcommand{\ybar}{\bar{y}}
\newcommand{\vgs}{\mathbf{g}}
\newcommand{\ves}{\mathbf{e}}
\newcommand{\va}{\mathbf{a}}
\newcommand{\vx}{\mathbf{x}}
\]
Abstract
stability analyses multi-environment trials: the same genotypes grown in several environments, in randomized complete blocks. This vignette goes from the data to the question every such trial asks (which genotypes yield well and reliably) in a few steps, each followed by its interpretation.
The data
ge_data holds the grain yield of 60 wheat genotypes in 11 environments with two replicates:
'data.frame': 1320 obs. of 6 variables:
$ Gen : Factor w/ 60 levels "013BT034","122557",..: 22 23 8 7 45 25 24 12 13 14 ...
$ Institute: Factor w/ 23 levels "","AARI, FSD",..: 23 23 9 9 19 11 11 5 5 5 ...
$ Rep : Factor w/ 2 levels "1","2": 1 1 1 1 1 1 1 1 1 1 ...
$ Block : Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Env : Factor w/ 11 levels "FSD","FSDR","Okara",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Yield : int 4210 4728 5010 3512 4716 3562 3953 5128 3758 5185 ...
with(data = ge_data, expr = table(Env, Rep))[1:3, ]
Rep
Env 1 2
FSD 60 60
FSDR 60 60
Okara 60 60
Every analysis takes the data frame and the columns of response, replicate, genotype and environment.
Is there an interaction?
fit <-
add_anova(
.data = ge_data
, .y = Yield
, .rep = Rep
, .gen = Gen
, .env = Env
)
fit
Combined analysis of variance: 60 genotypes, 11 environments, 2 replicates
Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
Env 10 263940496 26394050 68.055 2e-08 ***
Rep(Env) 11 4266167 387833
Gen 59 71662431 1214617 12.248 <2e-16 ***
Gen:Env 590 201336476 341248 3.441 <2e-16 ***
Residuals 649 64359568 99167
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Grand mean 4061, CV 7.8%; of the sums of squares of environments, genotypes and interaction: 49.2%, 13.3%, 37.5%
stab_interpret() reads the result for you:
Combined analysis of variance
Significant genotype-by-environment interaction (p < 0.001): genotype
performance depends on the environment, so stability matters for selection.
Findings:
- Environments differ significantly (p < 0.001) and account for 49.2% of the
summed sums of squares of environments, genotypes and interaction.
- Genotypes differ significantly (p < 0.001; 13.3% of the sums of squares).
- The genotype-by-environment interaction is significant (p < 0.001; 37.5% of
the sums of squares), larger than the genotype effect itself.
- The coefficient of variation is 7.8% (grand mean 4,061), a good precision
for a field trial.
Recommendations:
- Because genotypes rank differently across environments, compare them with
stability analyses (regression, AMMI, GGE biplot) rather than by their
overall means alone.
- Check whether the interaction is crossover (changes of rank) with
ge_means() or the which-won-where view of gge_biplot().
Cautions:
- The pooled error assumes similar error variances in all environments; check
with indiv_anova().
Which genotypes are high-yielding and stable?
Eberhart and Russell’s regression on the environment index:
reg <-
stab_reg(
.data = ge_data
, .y = Yield
, .rep = Rep
, .gen = Gen
, .env = Env
)
head(x = reg$StabIndvReg[order(-Mean)], n = 8)
Gen Mean Slope SE LCI UCI t.b1
<char> <num> <num> <num> <num> <num> <num>
1: DN126 4480.864 1.7107903 0.2411656 1.1652359 2.256345 2.9473125
2: V14170 4463.818 1.2797954 0.3002920 0.6004878 1.959103 0.9317446
3: PR115 4444.273 0.8154056 0.2401408 0.2721694 1.358642 -0.7686925
4: 12B.2511 4414.409 1.6375025 0.2843871 0.9941741 2.280831 2.2416714
5: V14154 4364.727 0.6902389 0.1384097 0.3771344 1.003343 -2.2380012
6: FAISALABAD08 4360.591 1.5736825 0.3009176 0.8929597 2.254405 1.9064440
7: V14168 4342.045 0.9672779 0.2755105 0.3440298 1.590526 -0.1187688
8: NR491 4319.500 1.5680940 0.2641503 0.9705445 2.165644 2.1506467
p.b1 R.Sqr RMSE SSE Delta p.Delta
<num> <num> <num> <num> <num> <num>
1: 0.01629193 0.8482871 357.6660 1151325 78341.346 6.340228e-03
2: 0.37578673 0.6686700 445.3548 1785068 148757.234 5.435608e-05
3: 0.46176985 0.5616093 356.1462 1141561 77256.484 6.793988e-03
4: 0.05170192 0.7865003 421.7667 1600984 128303.522 2.261371e-04
5: 0.05201277 0.7342736 205.2716 379228 -7447.194 5.703363e-01
6: 0.08896639 0.7523994 446.2826 1792513 149584.475 5.128356e-05
7: 0.90806723 0.5779822 408.6021 1502601 117372.034 4.787298e-04
8: 0.05997351 0.7965664 391.7541 1381241 103887.622 1.190712e-03
plot(x = reg, which = "slope")
Finlay and Wilkinson's regression on the environment index
Slopes range from 0.09 to 1.71; 2 genotype(s) combine a mean above average
with a slope close to 1 (V14154 and PR119).
Findings:
- Widely adapted (mean above average, slope not different from 1, no
significant deviations): V14154 and PR119.
- Responsive to favourable environments (slope significantly above 1): DN126
and 122557.
- Better in poor environments (slope significantly below 1): BARDC1016.
- The regression explains on average 59% of the variation of a genotype over
environments; below 50% for 17 genotype(s), whose response is poorly
described by a line.
- Significant deviations from regression (unpredictable response): DN126,
V14170, PR115, 12B.2511, FAISALABAD08 and 50 more.
Recommendations:
- Read the slope together with the mean: a slope of 1 is desirable only for a
high-yielding genotype.
- Recommend responsive genotypes for favourable, high-input conditions.
- Recommend genotypes with low slopes where conditions are often poor.
Cautions:
- With few environments the confidence intervals of the slopes are wide.
Which genotype wins where?
p <-
gge_biplot(
.data = ge_data
, .y = Yield
, .rep = Rep
, .gen = Gen
, .env = Env
, .which = "which-won-where"
, .svp = "symmetric"
)
p
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.
Summary
Three calls answer the three questions of a multi-environment trial: is there interaction (add_anova()), which genotypes are stable (stab_reg() and the other stability statistics), and which genotype wins where (gge_biplot()). stab_interpret() turns every result into sentences. The next vignettes take each method further.
References
Eberhart, S. A. and Russell, W. A. (1966). Stability parameters for comparing varieties. Crop Science, 6(1), 36–40.
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.