Title: | Constructing and Analyzing Complex Selection Indices |
---|---|
Description: | Allows the construction selection indices based on estimated breeding values in animal and plant breeding and to calculate several analytic measures around to assess its impact on genetic and phenotypic progress. The methodology thereby allows to analyze genetic gain of traits in the breeding goal which are not part of the actual index and automatically computes several analytic measures. It further allows to retrospectively derive realized economic weights from observed genetic trends. The framework is described in Simianer, H., Heise, J., Rensing, S., Pook, T. Geibel, J. and Reimer, C. (2023) <doi:10.1186/s12711-023-00807-0>. |
Authors: | Johannes Geibel [aut, cre] |
Maintainer: | Johannes Geibel <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.2.1.0 |
Built: | 2025-02-13 03:41:31 UTC |
Source: | https://github.com/johannesgeibel/indexwizard |
Function to nicely print a SelInd object
## S3 method for class 'SelInd' print(x, ...)
## S3 method for class 'SelInd' print(x, ...)
x |
An object of class SelInd |
... |
does nothing, only for compatibility with the generic function |
No return value, only prints formatted output.
tn <- c("RZM", "RZN", "RZEo") G <- matrix( c(1.0,0.13,0.13, 0.13,1.0,0.23, 0.13,0.23,1.0), 3, 3, dimnames = list(tn,tn) ) * 144 w <- c(0.7, 0.3, 0) names(w) <- tn r2 <- c(0.743, 0.673) names(r2) <- tn[1:2] res <- SelInd( w = w, G = G, r2 = r2 ) print(res)
tn <- c("RZM", "RZN", "RZEo") G <- matrix( c(1.0,0.13,0.13, 0.13,1.0,0.23, 0.13,0.23,1.0), 3, 3, dimnames = list(tn,tn) ) * 144 w <- c(0.7, 0.3, 0) names(w) <- tn r2 <- c(0.743, 0.673) names(r2) <- tn[1:2] res <- SelInd( w = w, G = G, r2 = r2 ) print(res)
Function to calculate selection index
SelInd( w, G, r2, H = NULL, i = NULL, h2 = NULL, d_G_obs = NULL, delta = 1e-04, verbose = TRUE )
SelInd( w, G, r2, H = NULL, i = NULL, h2 = NULL, d_G_obs = NULL, delta = 1e-04, verbose = TRUE )
w |
Numeric vector of n economic weights. Traits present in G, but not part of the index need to be coded as 0. If traits of G are missing, they will be added automatically with zero weight. Required. |
G |
Named n*n genetic variance- covariance matrix. Dimnames of G need to match w to ensure correct sorting. Required. |
r2 |
Named numeric vector of reliabilities with length m. Required. |
H |
Named m*m variance-covariance matrix of estimated breeding to internally derive the residual variance-covariance matrix. If H contains more traits than r2, it will be subsetted. |
i |
Selection intensity |
h2 |
named numeric vector of length n containing heritabilities for the traits |
d_G_obs |
named numeric vector of length n containing the observed composition of the genetic gain scaled in genetic standard deviations. If sum(d_G_obs) != 1, it will be rescaled. |
delta |
small increment to calculate approximate first derivative |
verbose |
Shall information be printed? |
The framework allows to have less traits in the selection index than in the breeding goal (m < n). Calculation of realized economic weights, however, requires m == n.
A list of class SelInd
tn <- c("RZM", "RZN", "RZEo") G <- matrix( c(1.0,0.13,0.13, 0.13,1.0,0.23, 0.13,0.23,1.0), 3, 3, dimnames = list(tn,tn) ) * 144 w <- c(0.7, 0.3, 0) names(w) <- tn r2 <- c(0.743, 0.673) names(r2) <- tn[1:2] SelInd( w = w, G = G, r2 = r2 )
tn <- c("RZM", "RZN", "RZEo") G <- matrix( c(1.0,0.13,0.13, 0.13,1.0,0.23, 0.13,0.23,1.0), 3, 3, dimnames = list(tn,tn) ) * 144 w <- c(0.7, 0.3, 0) names(w) <- tn r2 <- c(0.743, 0.673) names(r2) <- tn[1:2] SelInd( w = w, G = G, r2 = r2 )
Function to summarize the content of a SelInd object.
## S3 method for class 'SelInd' summary(object, ...)
## S3 method for class 'SelInd' summary(object, ...)
object |
An object of class SelInd |
... |
does nothing, only for compatibility with the generic function |
No return value, only prints a summary of the SelInd object.
tn <- c("RZM", "RZN", "RZEo") G <- matrix( c(1.0,0.13,0.13, 0.13,1.0,0.23, 0.13,0.23,1.0), 3, 3, dimnames = list(tn,tn) ) * 144 w <- c(0.7, 0.3, 0) names(w) <- tn r2 <- c(0.743, 0.673) names(r2) <- tn[1:2] res <- SelInd( w = w, G = G, r2 = r2 ) summary(res)
tn <- c("RZM", "RZN", "RZEo") G <- matrix( c(1.0,0.13,0.13, 0.13,1.0,0.23, 0.13,0.23,1.0), 3, 3, dimnames = list(tn,tn) ) * 144 w <- c(0.7, 0.3, 0) names(w) <- tn r2 <- c(0.743, 0.673) names(r2) <- tn[1:2] res <- SelInd( w = w, G = G, r2 = r2 ) summary(res)