Implements the optimal Smith-Hazel selection index which maximizes the correlation between the index I = b'y and the breeding objective H = w'g.
This is the foundational selection index method from Chapter 2.
Arguments
- pmat
Phenotypic variance-covariance matrix (n_traits x n_traits)
- gmat
Genotypic variance-covariance matrix (n_traits x n_traits)
- wmat
Economic weights matrix (n_traits x k), or vector
- wcol
Weight column to use if wmat has multiple columns (default: 1)
- selection_intensity
Selection intensity constant (default: 2.063 for 10% selection)
- GAY
Optional. Genetic advance of comparative trait for PRE calculation
Value
List with:
summary- Data frame with coefficients and metricsb- Vector of Smith-Hazel index coefficientsw- Named vector of economic weightsDelta_G- Named vector of expected genetic gains per traitsigma_I- Standard deviation of the indexGA- Total genetic advancePRE- Percent relative efficiencyhI2- Heritability of the indexrHI- Accuracy (correlation with breeding objective)
Details
Mathematical Formulation (Chapter 2):
Index coefficients: \(b = P^{-1}Gw\)
Where: - P = Phenotypic variance-covariance matrix - G = Genotypic variance-covariance matrix - w = Economic weights
Key metrics: - Variance of index: \(\sigma^2_I = b'Pb\) - Total genetic advance: \(R_H = i\sqrt{b'Pb}\) - Expected gains per trait: \(\Delta G = (i/\sigma_I)Gb\) - Heritability of index: \(h^2_I = b'Gb / b'Pb\) - Accuracy: \(r_{HI} = \sqrt{b'Gb / b'Pb}\)
Examples
if (FALSE) { # \dontrun{
# Calculate variance-covariance matrices
gmat <- gen_varcov(seldata[, 3:9], seldata[, 2], seldata[, 1])
pmat <- phen_varcov(seldata[, 3:9], seldata[, 2], seldata[, 1])
# Define economic weights
weights <- c(10, 8, 6, 4, 2, 1, 1)
# Build Smith-Hazel index
result <- smith_hazel(pmat, gmat, weights)
print(result)
summary(result)
} # }