Abstract

A short note about GGE and GGB biplots.

R setup

library("knitr")
knitr::opts_chunk$set(fig.align="center", fig.width=6, fig.height=6)
options(width=90)

An example of a GGE (genotype plus genotype-by-environment) biplot similar to figure 12 of Yan and Tinker (2006). The flip argument can be used to flip the x and y axes so that biplots are oriented as desired. Because the SVD factorization is not unique,

library(agridat)
data(yan.winterwheat)
dat1 <- yan.winterwheat

library(gge)
## 
## Attaching package: 'gge'
## The following objects are masked from 'package:agridat':
## 
##     RedGrayBlue, gge
m1 <- gge(yield~gen*env, dat1, scale=FALSE)
biplot(m1, main="yan.winterwheat - GGE biplot",
       flip=c(1,0), origin=0, hull=TRUE)

Many people prefer to use ‘standardized’ biplots, in which the data for each environement has been centered and scaled. For standardized biplots, a unit circle is drawn. Environment vectors that reach out to the unit circle are perfectly represented in the two dimensional plane.

m2 <- gge(yield~gen*env, dat1, scale=TRUE)
biplot(m2, main="yan.winterwheat - GGE biplot",
       flip=c(1,1), origin=0)

As seen above, the environment vectors are fairly long, so that relative performance of genotypes in environments can be assessed with reasonable accuracy. In contrast, a biplot based on principal components 2 and 3 has shorter vectors which should not be interpreted.

biplot(m2, main="yan.winterwheat - GGE biplot - PC 2 & 3",
       comps=c(2,3), flip=c(1,1), origin=0)

Laffont, Hanafi, and Wright (2007) showed how to partition the sums-of-squares simultaneously along the principal component axes and along ‘G’ and ‘GxE’ axes.

plot(m1, title="yan.winterwheat")
## Argument 'title' will be deprecated. Use 'main' instead.

The mosaic plot above shows that the first principal component axis is capturing almost all of the variation between genotypes, so that a projection of the genotype markers onto the first principal component axis is a good overall representation of the rankings of the genotypes.

Laffont, Wright, and Hanafi (2013) presented GGB (genotype plus genotype-by-block of environments) biplots, which are useful to enhance the view of mega-environments consisting of multiple locations.

library(agridat)
data(crossa.wheat)
dat2 <- crossa.wheat

# Define mega-environment groups of locations
dat2$eg <- ifelse(is.element(dat2$loc,
                             c("KN","NB","PA","BJ","IL","TC",
                               "JM","PI","AS","ID","SC","SS",
                               "SJ","MS","MG","MM")), "Grp1", "Grp2")

library(gge)
# Specify env.group as column in data frame
m3 <- gge(yield~gen*loc, dat2, env.group=eg, scale=FALSE)
biplot(m3, title="crossa.wheat - GGB biplot")
## Argument 'title' will be deprecated. Use 'main' instead.

## Session info

sessionInfo()
## R version 3.4.0 (2017-04-21)
## Platform: i386-w64-mingw32/i386 (32-bit)
## Running under: Windows 7 x64 (build 7601) Service Pack 1
## 
## Matrix products: default
## 
## locale:
## [1] LC_COLLATE=C                           LC_CTYPE=English_United States.1252   
## [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
## [5] LC_TIME=English_United States.1252    
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] gge_1.2      agridat_1.12 knitr_1.16  
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_0.12.11    magrittr_1.5    xtable_1.8-2    lattice_0.20-35 R6_2.2.1       
##  [6] stringr_1.2.0   plyr_1.8.4      tools_3.4.0     grid_3.4.0      htmltools_0.3.6
## [11] yaml_2.1.14     rprojroot_1.2   digest_0.6.12   rgl_0.98.1      shiny_1.0.3    
## [16] reshape2_1.4.2  htmlwidgets_0.8 evaluate_0.10   mime_0.5        rmarkdown_1.5  
## [21] stringi_1.1.5   compiler_3.4.0  backports_1.1.0 jsonlite_1.4    httpuv_1.3.3

References

Laffont, Jean-Louis, Mohamed Hanafi, and Kevin Wright. 2007. “Numerical and Graphical Measures to Facilitate the Interpretation of Gge Biplots.” Cs 47: 990–96. doi:10.2135/cropsci2006.08.0549.

Laffont, Jean-Louis, Kevin Wright, and Mohamed Hanafi. 2013. “Genotype Plus Genotype-by-Block of Environments Biplots.” Crop Science 53 (6): 2332–41. doi:10.2135/cropsci2013.03.0178.

Yan, Weikai, and Nicholas A Tinker. 2006. “Biplot Analysis of Multi-Environment Trial Data: Principles and Applications.” Canadian Journal of Plant Science 86: 623–45. doi:10.4141/P05-169.