Projecting PCA using individuals from one dataset to other individuals from the same dataset.

bed_projectSelfPCA(
  obj.svd,
  obj.bed,
  ind.row,
  ind.col = attr(obj.svd, "subset"),
  ncores = 1
)

snp_projectSelfPCA(
  obj.svd,
  G,
  ind.row,
  ind.col = attr(obj.svd, "subset"),
  ncores = 1
)

Arguments

obj.svd

List with v, d, center and scale. Typically the an object of type "big_SVD".

obj.bed

Object of type bed, which is the mapping of the bed file of the data containing both the individuals that were used to compute the PCA and the other individuals to be projected.

ind.row

Rows (individuals) to be projected.

ind.col

Columns that were used for computing PCA. If bed_autoSVD was used, then attr(obj.svd, "subset") is automatically used by default. Otherwise (e.g. if bed_randomSVD was used), you have to pass ind.col.

ncores

Number of cores used. Default doesn't use parallelism. You may use bigstatsr::nb_cores().

G

The FBM.code256 that was used to compute obj.svd.

Value

A list of 3 elements:

  • $obj.svd.ref: big_SVD object computed from reference data.

  • $simple_proj: simple projection of new data into space of reference PCA.

  • $OADP_proj: Online Augmentation, Decomposition, and Procrustes (OADP) projection of new data into space of reference PCA.