The breeding value of an animal for the phenotype of its group is its total breeding
value, A_D + c_D A_S: its direct effect on itself plus its indirect effect on each of
the n - 1 group mates (Bijma, Muir and Van Arendonk 2007). Its variance is
sigma2_TBV = sigma2_AD + 2 c_D sigma_ADS + c_D^2 sigma2_AS, and
T2 = sigma2_TBV / sigma2_P, which can exceed 1. The phenotypic variance is the one in
h2():
sigma2_P = sigma2_AD + c_V [1 + (n - 2) r] sigma2_AS + 2 r c_D sigma_ADS + others,
with c_D = (n - 1)^(1 - d) and c_V = (n - 1)^(1 - 2d) under the dilution d of
the indirect() term (Bijma 2010; d = 0 is the plain sum over mates). With d = 0
and r = 0 the denominator reduces to sigma2_AD + (n - 1) sigma2_AS + others, and the
direct-indirect covariance leaves it. No program reports T2 by itself; this is the
formula the literature computes by hand (Leite et al. 2023 use it with the average
group size and relationship).
Arguments
- fit
result of
model(),model_mt()ormodel_threshold()with anindirect()term- n
group size, one number or a vector of sizes
- r
average additive relationship between group mates (0 for unrelated mates)
- trait
for a multi-trait fit, which trait; all of them by default
- weight, scale
as in
h2()
Value
data.frame with one row per trait and size: trait, n, r, var_tbv,
var_p, t2, h2_direct (sigma2_AD / sigma2_P) and the delta-method standard
errors se_t2 and se_h2_direct (NA when the fit carries no covariance of the
components)
Details
Every other variance and covariance of the trait enters as in h2(), at the same group
size n: the components with a relationship matrix as estimated (with metafounders and
scale = TRUE, times var_scale), and a residual indirect structure declared through
associative_matrix() at the variance it puts on a record of a pen of n animals,
(n - 1)^(1 - 2d) times its component (before this version it entered with
coefficient 1). var(residual) is read at weight, by default the harmonic mean
weight of the records; a fit made by indirect_residual() reads it at the group size,
1 + (n - 1)^(1 - 2d) k times var(residual). With pens of different sizes, give the
sizes as a vector and read one row per size, or give the average size, the convention
of the literature.
A fit that did not converge is read at its last iterate, with a warning. When the fit
reports the information matrix SINGULAR along a set of components that includes the
direct or the indirect variance or their covariance, t2, var_tbv and se_t2 are
NA; h2_direct and se_h2_direct are NA when the set includes the direct
variance, the numerator, as in h2(), and are kept otherwise. The warning names the
components and says which columns are NA.
On a model_threshold() fit the numbers are on the liability scale, with the
residual fixed at 1 in the denominator; with pens of unequal size and an environmental
effect of the mates that residual is a convention rather than the variance of every
record (the limit declared in model_threshold()). A model_survival() fit is
refused: the frailty model has no residual variance, so there is no phenotypic
variance on the log-hazard scale to divide by. A gibbs() chain is refused too, as in
h2(): it has no point estimate, and its T2 is the posterior of the ratio, computed
from each row of fit$samples with the formulas above.
References
Bijma, P., Muir, W.M. & Van Arendonk, J.A.M. (2007). Multilevel selection 1: quantitative genetics of inheritance and response to selection. Genetics 175:277-288.
Bijma, P. (2010). Multilevel selection 4: modeling the relationship of indirect genetic effects and group size. Genetics 186:1029-1031.
Leite, N.G. et al. (2023). Genetics Selection Evolution 55:47.