Skip to contents

stab_measures() computes, for every genotype, its mean over environments, the variance and coefficient of variation of its means over environments (the static or biological concept of stability), Wricke's (1962) ecovalence and Shukla's (1972) stability variance (the dynamic or agronomic concept), with plots of the mean against each measure.

Usage

stab_measures(.data, .y, .gen, .env)

# Default S3 method
stab_measures(.data, .y, .gen, .env)

Arguments

.data

a data frame (or data.table) with one row per plot.

.y

response: a column of .data given by name (.y = Yield or .y = "Yield") or a numeric vector of length nrow(.data).

.gen

genotype: a column of .data or a vector, as for .y.

.env

environment: a column of .data or a vector, as for .y.

Value

An object of class c("stab_measures", "stab_result", "list") with the components of earlier versions:

StabMeasures

data.table, one row per genotype: Gen, Mean, GenSS (sum of squares of the genotype's means over environments), Var, CV, Ecov (\(W_i\)), ShuklaVar (\(\sigma^2_i\)).

MeanVarPlot, MeanEcovPlot, MeanShuklaVarPlot

ggplots of the mean against each measure.

Methods: print(), summary(), plot() (which = c("var", "ecov", "shukla")), stab_interpret().

Details

With the table of means \(\mathbf{Y} = (\bar{y}_{ij})\) and the interaction effects \(z_{ij} = \bar{y}_{ij} - \bar{y}_{i\cdot} - \bar{y}_{\cdot j} + \bar{y}\): $$S^2_i = \frac{\sum_j(\bar{y}_{ij} - \bar{y}_{i\cdot})^2}{E - 1}, \qquad CV_i = 100\,\frac{S_i}{\bar{y}_{i\cdot}}, \qquad W_i = \sum_j z_{ij}^2, \qquad \sigma^2_i = \frac{G(G - 1)W_i - \sum_k W_k}{(E - 1)(G - 1)(G - 2)}.$$ The measures are on the scale of the means; multiply \(W_i\) and \(\sigma^2_i\) by the number of replicates for the scale of the plots. Small \(S^2_i\) means a genotype that yields alike everywhere (often a poor responder); small \(W_i\) and \(\sigma^2_i\) mean a genotype that follows the environment means closely, its share of the interaction being small. A negative \(\sigma^2_i\) is taken as zero.

References

Wricke, G. (1962). Uber eine Methode zur Erfassung der okologischen Streubreite in Feldversuchen. Zeitschrift fur Pflanzenzuchtung, 47, 92–96.

Shukla, G. K. (1972). Some statistical aspects of partitioning genotype-environmental components of variability. Heredity, 29(2), 237–245. doi:10.1038/hdy.1972.87

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

Author

Muhammad Yaseen (myaseen208@gmail.com), Kent M. Eskridge (keskridge1@unl.edu)

Examples

data(ge_data)
fit <-
  stab_measures(
      .data = ge_data
    , .y    = Yield
    , .gen  = Gen
    , .env  = Env
    )
head(fit$StabMeasures)
#>         Gen     Mean   GenSS      Var       CV      Ecov ShuklaVar
#>      <char>    <num>   <num>    <num>    <num>     <num>     <num>
#> 1: 013BT034 4247.500 2943754 294375.5 12.77372  946707.1  94993.42
#> 2:   122557 4062.364 5628712 562871.2 18.46825 1159570.3 117013.75
#> 3:   122559 4258.591 3926773 392677.3 14.71472 1800281.2 183294.19
#> 4: 12B.2511 4414.409 7498766 749876.6 19.61654 2494883.6 255149.62
#> 5:   12FJ26 4057.227 2458450 245845.0 12.22085 1567279.2 159190.54
#> 6: 14B.1030 3995.409 3515214 351521.4 14.83934 1336997.8 135368.32
plot(x = fit, which = c("var", "ecov", "shukla")[2])