Skip to contents

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.

Usage

# S4 method for class 'LdEigen,ANY,ANY,ANY'
x[i, j, ..., drop = TRUE]

Arguments

x

An LdEigen.

i, j, ...

Subscripts; any use is an error.

drop

Ignored.

Value

Nothing: this method always signals an error.

Functions

  • x = LdEigen[i = ANY, j = ANY, drop = ANY]: Refused. Subsetting would narrow the variants while eigenList – 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

eigenList

A list of length nBlocks (empty for an LdEigen built 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

eigenvalueTruncation

Numeric, proportion of variance retained (e.g. 0.9 for HDL's default). If 1.0, no truncation.