Pre-computed per-block eigendecompositions of the LD correlation matrix. Used by LDER, HDL and sHDL.
Unlike LdScore, whose statistics are per variant,
an eigendecomposition describes a whole LD block. It therefore
stays in a slot rather than mcols – and because a slot does not
narrow when the ranges do, subsetting an LdEigen is refused
rather than allowed to produce an object whose decompositions no longer
describe its variants.
An LdEigen built from a genotype panel stores no
decompositions: each block's is computed from the panel's factor (its
standardized genotypes) when an estimator reaches the block. That gives
the block's nonzero eigenvalues and their eigenvectors; when the panel
has fewer samples than the block has variants, the block's remaining
eigenvalues are exactly zero, and the estimators account for those
directions without listing them.
Functions
x = LdEigen[i = ANY, j = ANY, drop = ANY]: Refused. Subsetting would narrow the variants whileeigenList– a slot, because it is per block rather than per variant – stayed as it was, leaving decompositions that describe variants the object no longer has. Recompute over the subset instead.
Slots
eigenListA list of length
nBlocks(empty for anLdEigenbuilt from a genotype panel), each element a list with components:- values
Numeric vector of eigenvalues
- vectors
Numeric matrix of eigenvectors (SNPs x retained components)
- snpIdx
Integer vector of variant indices
eigenvalueTruncationNumeric, proportion of variance retained (e.g. 0.9 for HDL's default). If 1.0, no truncation.