1. Home
  2. VHERITABILITY procedure


Calculates generalized heritability for a random term in a REML analysis (R.W. Payne).


PRINT = string tokens Controls printed output (heritability); default heri
SAVE = REML save structure Save structure of the analysis from which to calculate the heritabilities; default uses the most recent REML analysis


TERMS = formula Random terms whose heritabilities are to be calculated
HERITABILITY = scalar or variate Saves the heritabilities
EXIT = scalar or variate Exit status for the calculations: one if unsuccessful, otherwise zero


VHERITABILITY can be used to calculate the generalized heritability for random terms in a REML analysis, using the definition of Cullis, Smith & Coombes (2006). This provides a natural extension of the standard concept of heritability, which was defined in the context of conventional designs like complete randomized block designs, to more complicated analyses like those with spatial correlation models (see VSTRUCTURE).

Heritability measures the proportion of variance that is attributable to the effects of the term. It is often used by plant breeders to assess the proportion of the variance of a phenotypic trait that is attributable to the effects of genotypes, thus providing an indication of potential benefits of selection. Technically, VHERITABILITY provides a broad-sense measure of heritability, on a mean-line basis, that comprises the sum of additive, dominance and epistatic effects. For more details see Falconer & Mackay (1996) or Piepho & Möhring (2007).

By default, the heritabilities are usually calculated from the most recent REML analysis. However, you can use the SAVE parameter to specify the save structure from an earlier analysis.

The TERMS parameter supplies a model formula to specify the terms whose heritabilities are to be calculated. These must all be in the random model of the analysis.

The HERITABILITY parameter allows you to save the heritabilities, in a scalar if there is a single term, or in a variate if there are several. Similarly the EXIT parameter can save a scalar or variate indicating whether each heritability was calculated successfully (zero for success and one for failure). Possible reasons for failures may include the fact that the term was not in the random model, or that it has a negative variance component.

By default, the heritabilities are printed, but you can set option PRINT=* to suppress this.

Options: PRINT, SAVE.



Cullis, Smith & Coombes (2006) define the heritability as

1 – Att / (2 γg2)

where γg2 is the variance component of the term divided by the residual variance, and Att is the average variance for differences between the effects of the term divided by the residual variance. This can be simplified, by cancelling out the residual variance, to become

1 – Vtt / (2 σg2)

where σg2 is the variance component of the term, and Vtt is the average variance for differences between the effects of the term. These are obtained from VKEEP and VPREDICT, respectively.


Cullis, B.R., Smith, A. & Coombes, N. (2006). On the design of early generation variety trials with correlated data. JABES, 11, 381–393.

Falconer, D. S. & Mackay, T. (1996). Introduction to Quantitative Genetics, 4th ed. Longman, Harlow.

Piepho, H-P & Möhring, J. (2007). Computing heritability and selection response from unbalanced plant breeding trials. Genetics, 177, 1881-1888.

See also

Commands for: REML analysis of linear mixed models.


              !t('Yield trial of oats in an alpha design. John & Williams',\
              '(1995, Cyclic & Computer Generated Designs, 2nd ed., p.146);',\
              'also see Piepho & Mohring (2007, Genetics, 107, 1881-8).');\
SPLOAD        [PRINT=*] '%gendir%/Examples/VHER-1.gsh'
VCOMPONENTS   replicate/block+variety
REML          yield
Updated on June 17, 2019

Was this article helpful?