| Type: | Package | 
| Title: | Genotype Plus Genotype-by-Environment Biplots | 
| Version: | 1.9 | 
| Description: | Create biplots for GGE (genotype plus genotype-by-environment) and GGB (genotype plus genotype-by-block-of-environments) models. See Laffont et al. (2013) <doi:10.2135/cropsci2013.03.0178>. | 
| License: | MIT + file LICENSE | 
| URL: | https://kwstat.github.io/gge/, http://kwstat.github.io/gge/ | 
| BugReports: | https://github.com/kwstat/gge/issues | 
| Imports: | nipals, reshape2 | 
| Suggests: | agridat, knitr, lattice, rgl, rmarkdown, testthat | 
| VignetteBuilder: | knitr | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2024-10-28 19:08:33 UTC; wrightkevi | 
| Author: | Kevin Wright | 
| Maintainer: | Kevin Wright <kw.stat@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-10-28 20:20:06 UTC | 
GGE and GGB biplots
Description
Fit a GGE (genotype + genotype * environment) model and display the results.
Usage
gge(x, ...)
## S3 method for class 'data.frame'
gge(x, formula, gen.group = NULL, env.group = NULL, ggb = FALSE, ...)
## S3 method for class 'formula'
gge(formula, data, gen.group = NULL, env.group = NULL, ggb = FALSE, ...)
## S3 method for class 'matrix'
gge(
  x,
  center = TRUE,
  scale = TRUE,
  gen.group = NULL,
  env.group = NULL,
  ggb = FALSE,
  comps = c(1, 2),
  method = "svd",
  ...
)
## S3 method for class 'gge'
plot(x, main = substitute(x), ...)
## S3 method for class 'gge'
biplot(
  x,
  main = substitute(x),
  subtitle = "",
  xlab = "auto",
  ylab = "auto",
  cex.gen = 0.6,
  cex.env = 0.5,
  col.gen = "darkgreen",
  col.env = "orange3",
  pch.gen = 1,
  lab.env = TRUE,
  comps = 1:2,
  flip = "auto",
  origin = "auto",
  res.vec = TRUE,
  hull = FALSE,
  zoom.gen = 1,
  zoom.env = 1,
  ...
)
biplot3d(x, ...)
## S3 method for class 'gge'
biplot3d(
  x,
  cex.gen = 0.6,
  cex.env = 0.5,
  col.gen = "darkgreen",
  col.env = "orange3",
  comps = 1:3,
  lab.env = TRUE,
  res.vec = TRUE,
  zoom.gen = 1,
  ...
)
Arguments
| x | A matrix or data.frame. | 
| ... | Other arguments (e.g. maxiter, gramschmidt) | 
| formula | A formula | 
| gen.group | genotype group | 
| env.group | env group | 
| ggb | If TRUE, fit a GGB biplot model. | 
| data | Data frame | 
| center | If TRUE, center values for each environment | 
| scale | If TRUE, scale values for each environment | 
| comps | Principal components to use for the biplot. Default c(1,2). | 
| method | method used to find principal component directions. Either "svd" or "nipals". | 
| main | Title, by default the name of the data. Use NULL to suppress the title. | 
| subtitle | Subtitle to put in front of options. Use NULL to suppress the subtitle. | 
| xlab | Label along axis. Default "auto" shows percent of variation explained. Use NULL to suppress. | 
| ylab | Label along axis. Default "auto" shows percent of variation explained. Use NULL to suppress. | 
| cex.gen | Character expansion for genotype labels, default 0.6. Use 0 to omit genotype labels. | 
| cex.env | Character expansion for environment labels/symbols. Use lab.env=FALSE to omit labels. | 
| col.gen | Color for genotype labels. May be a single color for all genotypes, or a vector of colors for each genotype. | 
| col.env | Color for environments. May be a single color for all environments, or a vector of colors for each environment. | 
| pch.gen | Plot character for genotypes | 
| lab.env | Label environments if TRUE. | 
| flip | If "auto" then each axis is flipped so that the genotype ordinate is positively correlated with genotype means. Can also be a vector like c(TRUE,FALSE) for manual control. | 
| origin | If "auto", the plotting window is centered on genotypes, otherwise the origin is at the middle of the window. | 
| res.vec | If TRUE, for each group, draw residual vectors from the mean of the locs to the individual locs. | 
| hull | If TRUE, show a which-won-where polygon. | 
| zoom.gen | Zoom factor for manual control of genotype xlim,ylim The default is 1. Values less than 1 may be useful if genotype names are long. | 
| zoom.env | Zoom factor for manual control of environment xlim,ylim. The default is 1. Values less than 1 may be useful if environment names are long. Not used for 3D biplots. | 
Details
If there is replication in G*E, then the replications are averaged together before constructing the biplot.
The singular value decomposition of x is used to calculate the
principal components for the biplot.  Missing values are NOT allowed.
The argument method can be either
'svd' for complete-data or 'nipals' for missing-data.
Value
A list of class gge containing:
| x | The filled-in data | 
| x.orig | The original data | 
| genCoord | genotype coordinates | 
| locCoord | loc coordinates | 
| blockCoord | block coordinates | 
| gen.group | If not NULL, use this to specify a column of the data.frame to classify genotypes into groups. | 
| env.group | If not NULL, use this to specify a column of the data.frame to classify environments into groups. | 
| ggb | If TRUE, create a GGB biplot | 
| genMeans | genotype means | 
| mosdat | mosaic plot data | 
| R2 | variation explained by each PC | 
| center | Data centered? | 
| scale | Data scaled? | 
| method | Method used to calculate principal components. | 
| pctMiss | Percent of x that is missing values | 
| maxPCs | Maximum number of PCs | 
Author(s)
Kevin Wright, Jean-Louis Laffont
Jean-Louis Laffont, Kevin Wright
References
Jean-Louis Laffont, Kevin Wright and Mohamed Hanafi (2013). Genotype + Genotype x Block of Environments (GGB) Biplots. Crop Science, 53, 2332-2341. doi:10.2135/cropsci2013.03.0178.
Kroonenberg, Pieter M. (1997). Introduction to Biplots for GxE Tables, Research Report 51, Centre for Statistics, The University of Queensland, Brisbane, Australia. https://three-mode.leidenuniv.nl/document/biplot.pdf
Yan, W. and Kang, M.S. (2003). GGE Biplot Analysis. CRC Press.
Examples
# Example 1.  Data is a data.frame in 'matrix' format
B <- matrix(c(50, 67, 90, 98, 120,
              55, 71, 93, 102, 129,
              65, 76, 95, 105, 134,
              50, 80, 102, 130, 138,
              60, 82, 97, 135, 151,
              65, 89, 106, 137, 153,
              75, 95, 117, 133, 155), ncol=5, byrow=TRUE)
rownames(B) <- c("G1","G2","G3","G4","G5","G6","G7")
colnames(B) <- c("E1","E2","E3","E4","E5")
library(gge)
m1 = gge(B)
plot(m1)
biplot(m1, main="Example biplot")
# biplot3d(m1)
if(require(agridat)){
  # crossa.wheat biplot
  # Specify env.group as column in data frame
  data(crossa.wheat)
  dat2 <- crossa.wheat
  m2 <- gge(dat2, yield~gen*loc, env.group=locgroup, scale=FALSE)
  plot(m2)
  biplot(m2, lab.env=TRUE, main="crossa.wheat")
  # biplot3d(m2)
}
Function to create a Red-Gray-Blue palette
Description
A function to create a Red-Gray-Blue palette.
Usage
RedGrayBlue(n)
Arguments
| n | Number of colors to create | 
Details
Using gray instead of white allows missing values to appear as white (actually, transparent).
Value
A vector of n colors.
Author(s)
Kevin Wright
Examples
pie(rep(1,11), col=RedGrayBlue(11))
title("RedGrayBlue(11)")