Stop wasting days manually assembling complex variance-covariance
matrices and resolving selection weights.
selection.index is the definitive,
production-ready R package built specifically for agricultural
statisticians and quantitative geneticists to instantly calculate
optimal multi-trait selection indices. Whether you are running classical
phenotypic field trials or building advanced genomic evaluations, this
package provides a fully integrated mathematical engine that directly
maximizes genetic advance and substantially accelerates your breeding
pipeline.
📚 Read the Official Documentation & Vignettes on our pkgdown Website
Install the stable release from CRAN:
install.packages("selection.index")Install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("zankrut20/selection.index")The package includes several pre-configured structural datasets
(seldata, maize_pheno,
maize_geno) to test your models. Here, we demonstrate a
fundamental phenotypic index evaluating multiple field traits
simultaneously.
Before combining traits into a unified index, breeders must cleanly
partition the total phenotypic variation. We first use the
variance-covariance functions (phen_varcov() and
gen_varcov()) to extract the precise phenotypic and
genotypic matrices directly from your replicated trial data.
# Using the built-in 'seldata' dataset (Replication in Col 1, Genotype in Col 2)
p_mat <- phen_varcov(data = seldata[, 3:9], genotypes = seldata[, 2], replication = seldata[, 1])
g_mat <- gen_varcov(data = seldata[, 3:9], genotypes = seldata[, 2], replication = seldata[, 1])Next, we establish strict economic objectives for our evaluated
traits. The weight_mat() function rapidly converts raw
economic weight arrays into the formalized mathematical format required
for the core index calculation.
# Convert the built-in 'weight' configuration matrix
w_mat <- weight_mat(weight)With our covariance structures and economic priorities firmly
defined, we must evaluate the baseline potential of our population. We
calculate the expected genetic gain for our primary target trait (e.g.,
yield) using the gen_advance() function.
# Calculate expected genetic advance for the primary trait
base_advance <- gen_advance(phen_mat = p_mat[1, 1], gen_mat = g_mat[1, 1], weight_mat = w_mat[1, 1])
base_advance
#> [,1]
#> [1,] 1.2009Finally, to make definitive selection decisions, we dynamically
evaluate trait combinations. The lpsi() function constructs
robust combinatorial selection indices and immediately ranks them by
predicted relative efficiency, allowing you to confidently select the
mathematically superior combination.
# Calculate and rank combinatorial selection indices
optimal_index <- lpsi(
ncomb = 1, pmat = p_mat, gmat = g_mat,
wmat = weight[, 2:3], wcol = 1, GAY = base_advance
)
head(optimal_index)
#> ID b.1 GA PRE Delta_G rHI hI2 Rank
#> 1 1 0.6316 2.8125 234.2021 2.8125 0.4825 0.2697 1
#> 2 2 0.2396 1.3036 108.5481 1.3036 0.2237 0.2242 4
#> 3 3 1.4869 2.1526 179.2462 2.1526 0.3693 0.2690 2
#> 4 4 0.4507 0.9084 75.6402 0.9084 0.1558 0.2549 6
#> 5 5 0.3164 1.6236 135.1988 1.6236 0.2786 0.1553 3
#> 6 6 1.4499 1.0292 85.7009 1.0292 0.1766 0.1471 5(For advanced modeling involving marker-assisted indices,
multistage selection, or genomic predictions, please load the included
maize_pheno and maize_geno datasets and
consult our pkgdown
vignettes.)
We rely directly on academic citations to maintain and justify the
continued development of this software ecosystem. If you use
selection.index in a publication, breeding pipeline, or
research project, it is imperative that you cite it:
citation("selection.index")Are you scaling up a commercial breeding operation or standardizing a massive academic quantitative pipeline? I offer dedicated, expert consulting to researchers tailored for custom selection index development, stochastic simulation modeling, and full software pipeline integration.
Note: I operate strictly direct-to-client. There are absolutely no middlemen, generic agencies, or intermediaries involved. You work directly with the package creator.
To discuss consulting scope and availability, contact:
zankrut20@gmail.com
If this package has saved you substantial time, simplified your data pipeline, or helped you publish faster, please consider supporting its independent development! Monetary contributions directly fund repository maintenance and the addition of modern quantitative genetic models.
zankrut20@oksbi