Calculate broad-sense or narrow sense heritability from model object
H2.RdA case-specific wrapper for calculating broad / narrow sense heritability.
The lowercase prefix
h2_refers to the wrapper or subfunctions e.g.h2_Oakey()for calculating narrow sense heritabilityThe upper case prefix
H2_refers to the wrapper or subfunctions e.g.H2_Delta()for calculating broad sense heritability
Usage
h2(model,
target,
method = c("Cullis", "Oakey", "Piepho", "Delta", "Standard"),
options = NULL,
marginal = TRUE,
stratification = NULL,
source = list(),
vc = NULL,
...)
H2(model,
target,
method = c("Cullis", "Oakey", "Piepho", "Delta", "Standard"),
options = NULL,
marginal = TRUE,
stratification = NULL,
source = list(),
vc = NULL,
...
)Arguments
- model
Model object of class
lmerMod/merModorasreml- target
The name of the random effect for which heritability is to be calculated.
- method
Character vector of name of method to calculate heritability. See details.
- options
NULL by default, for internal checking of model object before calculations
- marginal
Logical; if
TRUE, construct marginal (strata-averaged) mappings so that each genotype receives a single averaged effect per term. IfFALSE, mappings will only consider the main genotype effect and ignore the iteracting terms.- stratification
A one-row data frame defining the stratum in which genotype effects should be evaluated. The columns must correspond to model terms that interact with
target.- source
The known genomic relationship matrix (GRM) used in
modelfitted usingasreml::vm(), provided as a named list. When not provided (an empty list by default), the GRM variable used forvmcalling will be searched in the global environment. Ignored for broad-sense andlmerModmethods- vc
A list of precomputed variance components. Should be in the same structure as the output of
var_comp()- ...
Additional arguments that specify heritability calculation when interactions with genotype effects are modelled
Details
The following methods are currently implemented for narrow-sense heritability h2(method = "XX"):
"Cullis": $$H^2_{Cullis} = 1 - \frac{PEV^{BLUP}_{\overline\Delta ..}}{2\sigma^2_g}$$"Oakey": $$H^2_{Oakey} = \frac{\sum_{i = n_z+1}^{n_g} \lambda_i}{\sum_{n_g}^{\lambda_i\neq 0}}$$"Piepho": $$H^2_{Piepho} = \frac{\sigma^2_g}{\sigma^2_g + \overline{PEV_{BLUE_g}} / 2}$$"Delta": $$H^2_{\Delta ij} = 1 - \frac{PEV^{BLUP}_{\overline\Delta ij}}{\operatorname{Var}(g_i - g_j)}$$"Standard": $$H^2_{Standard} = \frac{\operatorname{Var}(g_i - g_j)}{\operatorname{Var}(y_i.. - y_j..)}$$"Reliability": $$\bar{r}^2 = \frac{1}{n_g}\sum_{i=1}^{n_g} \left(1 - \frac{var(\hat{g}^{BLUP}_i)}{var(g_i)}\right)$$
"Reliability" is not part of the default method set but can be requested
explicitly. Use h2_Reliability_by_genotype() / H2_Reliability_by_genotype()
to obtain the per-genotype values \(r^2_i\) instead of their mean.
The following methods are currently implemented for broad-sense heritability H2(method = "XX"):
"Cullis": $$H^2_{Cullis} = 1 - \frac{PEV^{BLUP}_{\overline\Delta ..}}{2\sigma^2_g}$$"Oakey": $$H^2_{Oakey} = \frac{\sum_{i = n_z+1}^{n_g} \lambda_i}{\sum_{n_g}^{\lambda_i\neq 0}}$$"Piepho": $$H^2_{Piepho} = \frac{\sigma^2_g}{\sigma^2_g + \overline{PEV_{BLUE_g}} / 2}$$"Delta": $$H^2_{\Delta ij} = 1 - \frac{PEV^{BLUP}_{\overline\Delta ij}}{2\sigma^2_g}$$"Standard": $$H^2_{Standard} = \frac{\sigma^2_g}{\sigma^2_g + \frac{1}{n_g}\sum_{n_g}^{i=1} \sigma^2_p / n_{gi}}$$"Reliability": $$\bar{r}^2 = \frac{1}{n_g}\sum_{i=1}^{n_g} \left(1 - \frac{var(\hat{g}^{BLUP}_i)}{var(g_i)}\right)$$
For further details of a specific method - take a look at helpfile for each subfunctions ?H2_Cullis
References
Cullis, B. R., Smith, A. B., & Coombes, N. E. (2006). On the design of early generation variety trials with correlated data. Journal of Agricultural, Biological, and Environmental Statistics, 11(4), 381–393. https://doi.org/10.1198/108571106X154443
Oakey, H., Verbyla, A., Pitchford, W., Cullis, B., & Kuchel, H. (2006). Joint modeling of additive and non-additive genetic line effects in single field trials. Theoretical and Applied Genetics, 113(5), 809–819. https://doi.org/10.1007/s00122-006-0333-z
Schmidt, P., Hartung, J., Rath, J., & Piepho, H.-P. (2019). Estimating Broad-Sense Heritability with Unbalanced Data from Agricultural Cultivar Trials. Crop Science, 59(2), 525–536. https://doi.org/10.2135/cropsci2018.06.0376
Piepho, H.-P., & Möhring, J. (2007). Computing Heritability and Selection Response From Unbalanced Plant Breeding Trials. Genetics, 177(3), 1881–1888. https://doi.org/10.1534/genetics.107.074229
Falconer, D. S., & Mackay, T. F. C. (1996). Introduction to quantitative genetics (4th ed.). Longman.
Examples
# lme4 model
lettuce_subset <- lettuce_phenotypes |> subset(loc == "L2")
lettuce_lme4 <- lme4::lmer(y ~ rep + (1 | gen), data = lettuce_subset)
H2(lettuce_lme4, target = "gen", method = c("Standard", "Delta"))
#> Standard Delta
#> 0.8294971 0.8294971
# asreml model (Requires license)
if (FALSE) { # \dontrun{
lettuce_asreml <- asreml::asreml(fixed = y ~ rep,
random = ~ gen,
data = lettuce_subset,
trace = FALSE
)
H2(lettuce_asreml, target = "gen", method = c("Standard", "Delta"))
} # }