Skip to contents

1 Abstract

stab_interpret() turns every result into a headline, findings, recommendations and cautions, computed from the numbers of that result. This vignette shows how it works and how to use its parts in a report.

2 The parts of an interpretation

fit <-
  stab_reg(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    )
txt <-
  stab_interpret(
      x             = fit
    , higher_better = TRUE
    , top           = 5
    )
names(txt)
[1] "analysis"        "title"           "headline"        "findings"
[5] "recommendations" "cautions"        "facts"           "guide"          
txt$headline
[1] "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)."
txt$facts$widely_adapted
[1] "V14154" "PR119" 

facts holds the numbers and lists behind every sentence, so a statement can be checked or reused; guide says how the statistics of the method are read.

3 Specific to each method

The sentences differ by method: for a regression they speak of slopes and deviations, for AMMI of axes and scores, for the GGE biplot of winners and mega-environments:

am <-
  ammi(
      .data = ge_data
    , .y    = Yield
    , .rep  = Rep
    , .gen  = Gen
    , .env  = Env
    )
stab_interpret(
    x             = am
  , higher_better = TRUE
  , top           = 3
  )$headline
[1] "AMMI8: 8 interaction axes are significant; the first two axes explain 20.1% and 17.3% of the interaction."
p <-
  gge_biplot(
      .data  = ge_data
    , .y     = Yield
    , .rep   = Rep
    , .gen   = Gen
    , .env   = Env
    , .which = "which-won-where"
    , .svp   = "symmetric"
    )
stab_interpret(
    x             = p
  , higher_better = TRUE
  , top           = 3
  )$headline
[1] "The biplot shows 45.1% of G + GE; 5 winning genotype(s) divide the environments into 5 sector(s) with environments."
stab_interpret(
    x             = am
  , higher_better = TRUE
  , top           = 3
  )$guide
[1] "AMMI: additive genotype and environment effects plus principal components of the interaction, each tested (Gollob's F). The number of significant axes chooses the model (AMMI1, AMMI2, ...). Scores near zero = stable; genotype and environment scores of the same sign = positive interaction."

4 Traits where lower is better

gm <-
  ge_means(
      .data = ge_data
    , .y    = Yield
    , .gen  = Gen
    , .env  = Env
    )
stab_interpret(
    x             = gm
  , higher_better = FALSE
  , top           = 3
  )$headline
[1] "9 different genotype(s) are best in the 11 environments; the best overall, SD1013, is best in 3 of them."

5 In a report

format() returns Markdown that can be pasted into a Quarto or R Markdown report:

cat(
    format(
        x     = stab_interpret(
            x             = am
          , higher_better = TRUE
          , top           = 3
          )
      , style = "markdown"
      )
  , sep = "\n"
  )
## AMMI analysis

AMMI8: 8 interaction axes are significant; the first two axes explain 20.1%
and 17.3% of the interaction.

### Findings
- The interaction is significant (p < 0.001).
- Genotypes with a mean above average and the smallest first-axis scores
  (stable): NIBGE GANDUM3, PR119 and V14154.
- Environments with the strongest interaction (largest first-axis scores):
  Gujranwala, FSD and KSK; the weakest: FSDR, Sahiwal and Khanewal.
- Genotypes and environments with first-axis scores of the same sign interact
  positively (the genotype does better there than its mean predicts).

### Recommendations
- Use AMMI8 for predictions and the stability indices (stab_asv(),
  stab_masv() with .m = 8).
- Look at the AMMI1 biplot (plot(x, which = "ammi1")) to see mean and
  interaction together.

### Cautions
- The first two axes explain less than half of the interaction; biplots show
  it only partly.

6 Summary

The interpretation is a starting point: it states what the numbers show and where to be careful. Decisions on recommendations still need the breeder’s knowledge of the environments and of more than one season.

7 References

Becker, H. C. and Leon, J. (1988). Stability analysis in plant breeding. Plant Breeding, 101(1), 1–23.