# Broad-sense heritability ($$H^2$$)

Broad-sense heritability ($$H^2$$) is defined as the proportion of phenotypic variance that is attributable to an overall genetic variance for the genotype . There are usually additional interpretations associated with $$H^2$$: (i) It is equivalent to the coefficient of determination of a linear regression of the unobservable genotypic value on the observed phenotype; (ii) It is also the squared correlation between predicted phenotypic value and genotypic value; and (iii) It represents the proportion of the selection differential ($$S$$) that can be realized as the response to selection ($$R$$) .

There are two main reasons why heritability on an entry-mean basis is of interest in plant breeding :

1. It is plugged into the breeder’s Equation to predict the response to selection.
2. It is a descriptive measure used to assess the usefulness and precision of results from cultivar evaluation trials.

## Breeder´s equation

$\Delta G=H^2S$ Where:

• $$\Delta G$$ is the genetic gain
• $$S$$ is the mean phenotypic value of the selected genotypes, expressed as a deviation from the population mean.

# Usual Problems

In practice, most trials are conducted in a multienvironment trial (MET) presente unbalanced data as not all cultivars are tested at each environment or simply when plot data is lost or when the number of replicates at each location varies between genotypes . However, the standard method for estimating heritability implicitly assumes balanced data, independent genotype effects, and homogeneous variances.

# How calculate the Heritability?

According , the variance components could be calculated in two ways:

## 1) Two stages approach

For the two stage approach, in the first stage each experiment is analyzed individually according their experiment design (Lattice, CRBD, etc) . And for the second stage environments are denotes a year-by-location interaction. This approach assumes a single variance for genotype-by-environment interactions (GxE), even when multiple locations were tested across multiple years .

### Model

$y_{ikt}=\mu\ +\ G_i+E_t+GxE_{it}+\varepsilon_{ikt}$

### Phenotypic variance

$\sigma_p^2=\sigma_g^2+\frac{\sigma_{g\cdot e}^2}{n_e}+\frac{\sigma_{\varepsilon}^2}{n_e\cdot n_r}$

## 2) One stage approach

For the one stage approach only one model is used for the MET analysis. The environmental effects are included via separate year, and location main interaction effects.

$y_{ikt}=\mu+G_i+Y_m+E_q+YxE_{mq}+GxY_{im}+GxE_{iq}+GxYxE_{imq}+\varepsilon_{ikmq}$

### Phenotypic variance

$\sigma_p^2=\sigma_g^2+\frac{\sigma_{g\cdot e}^2}{n_e}+\frac{\sigma_{g\cdot y}^2}{n_y}+\frac{\sigma_{g\cdot y\cdot e}^2}{n_y\cdot n_e}+\ \frac{\sigma_{\epsilon}^2}{n_e\cdot n_y\cdot n_r}$

# Differentes heritability calculations

Differentes heritability calculation
Standart Cullis Piepho
$$H^2=\frac{\sigma_g^2}{\sigma_p^2}=\frac{\Delta G}{S}$$ $$H_{Cullis}^2=1-\frac{\overline{V}_{\Delta..}^{^{BLUP}}}{2\cdot\sigma_g^2}$$ $$H_{Piepho}^2=\frac{\sigma_g^2}{\sigma_g^2+\frac{\overline{V}_{\Delta..}^{BLUE}}{2}}$$

# Heritability function in the package

For calculate the standard heritability in MET experiments the number of location and replication should be include manually in the function H2cal(). In the case of difference number of replication in each experiments, take the maximum value (often done in practice) .

For remove the outliers the function implemented is the Method 4 used for : Bonferroni-Holm using re-scaled MAD for standardizing residuals (BH-MADR).

library(inti)
library(agridat)

## H2cal function

 dt <- john.alpha
hr <- H2cal(data = dt
, trait = "yield"
, gen.name = "gen"
, rep.n = 3
, ran.model = "1 + rep + (1|rep:block) + (1|gen)"
, fix.model = "0 + rep + (1|rep:block) + gen"
, emmeans = TRUE
, plot_diag = TRUE
, outliers.rm = TRUE
)

hr$model %>% summary() ## Linear mixed model fit by REML ['lmerMod'] ## Formula: yield ~ 1 + rep + (1 | rep:block) + (1 | gen) ## Data: dt.rm ## Weights: weights ## ## REML criterion at convergence: 78 ## ## Scaled residuals: ## Min 1Q Median 3Q Max ## -1.96200 -0.28318 0.04692 0.42242 2.20560 ## ## Random effects: ## Groups Name Variance Std.Dev. ## gen (Intercept) 0.14584 0.3819 ## rep:block (Intercept) 0.07895 0.2810 ## Residual 0.05334 0.2310 ## Number of obs: 71, groups: gen, 24; rep:block, 18 ## ## Fixed effects: ## Estimate Std. Error t value ## (Intercept) 4.4597 0.1471 30.318 ## repR2 0.3564 0.1759 2.026 ## repR3 -0.3555 0.1759 -2.021 ## ## Correlation of Fixed Effects: ## (Intr) repR2 ## repR2 -0.601 ## repR3 -0.601 0.503 ## Variance component hr$tabsmr %>% kable(caption = "Variance component table")
Variance component table
variable rep geno env year mean std min max V.g V.gxl V.gxy V.e h2.s h2.c h2.p
yield 3 24 1 1 4.4318 0.419937 3.437591 5.035595 0.1458434 0 0 0.0533381 0.8913393 0.8486282 0.9117696

hr$blups %>% kable(caption = "BLUPs") BLUPs gen yield G01 4.967734 G02 4.473221 G03 3.620271 G04 4.584676 G05 4.571117 G06 4.495029 G07 4.103546 G08 4.566418 G09 3.555795 G10 4.334937 G11 4.346410 G12 4.687456 G13 4.712533 G14 4.775001 G15 4.920382 G16 4.693132 G17 4.547410 G18 4.362023 G19 4.781144 G20 4.114060 G21 4.748910 G22 4.579263 G23 4.293791 G24 4.198864 ## Best Linear Unbiased Estimators (BLUEs) hr$blues %>% kable(caption = "BLUEs")
BLUEs
gen yield SE df lower.CL upper.CL
G01 5.035595 0.1287046 42.59093 4.775965 5.295224
G02 4.426944 0.1286734 42.58668 4.167376 4.686511
G03 3.534301 0.1308346 42.66688 3.270388 3.798214
G04 4.591766 0.1305419 42.66130 4.328443 4.855089
G05 4.545263 0.1539083 40.56170 4.234337 4.856189
G06 4.550213 0.1297772 42.61679 4.288424 4.812002
G07 4.050188 0.1288641 42.60147 3.790239 4.310138
G08 4.252017 0.1534515 40.47391 3.941993 4.562041
G09 3.437591 0.1308101 42.66424 3.173727 3.701455
G10 4.304469 0.1288617 42.60145 4.044525 4.564414
G11 4.359846 0.1300335 42.63849 4.097544 4.622148
G12 4.766961 0.1298095 42.62006 4.505108 5.028815
G13 4.814309 0.1297867 42.61849 4.552501 5.076117
G14 4.820699 0.1284878 42.57709 4.561505 5.079894
G15 4.906773 0.1288035 42.58312 4.646943 5.166604
G16 4.705367 0.1286877 42.58950 4.445772 4.964963
G17 4.564521 0.1282290 42.57519 4.305848 4.823194
G18 4.354190 0.1283802 42.58577 4.095214 4.613166
G19 4.912830 0.1298183 42.62142 4.650959 5.174701
G20 4.030450 0.1289288 42.58961 3.770368 4.290533
G21 4.751738 0.1284928 42.57747 4.492533 5.010943
G22 4.568926 0.1305487 42.66215 4.305589 4.832263
G23 4.250782 0.1285805 42.58354 3.991401 4.510162
G24 3.827448 0.1534577 40.48016 3.517413 4.137483

## Outliers

hr$outliers$random %>% kable(caption = "Outliers random model")
Outliers random model
3 R1 B1 G05 5.8757 0.7593638 4.833477 0.0000013 3 0.000001341688 0.0000966 OUTLIER
hr$outliers$fixed %>% kable(caption = "Outliers fixed model")
Outliers fixed model