pca_OADP_proj: OADP projection

View source: R/pca-project.R

pca_OADP_projR Documentation

OADP projection

Description

Online Augmentation, Decomposition, and Procrustes (OADP) projection of PC loadings onto some study data X.

Usage

pca_OADP_proj(X, loadings, sval)

pca_OADP_proj2(XV, X_norm, sval)

Arguments

X

Data to get PC loadings into.

loadings

PC loadings of the reference PCA to project.

sval

Singular values of the reference PCA (sqrt of the eigen values). Only the ncol(loadings) first ones will be used.

XV

X %*% loadings

X_norm

Vector of sums of squared rows (e.g. rowSums(X^2)).

Value

  • pca_OADP_proj(): A list with the simple projection X %*% loadings and the projection based on OADP.

  • pca_OADP_proj2(): The projection based on OADP only (a matrix of same size of XV).

Examples

X <- readRDS(system.file("testdata", "three-pops.rds", package = "bigutilsr"))
N <- 400; M <- ncol(X)
ind <- sample(nrow(X), N)

# Compute SVD using one part of samples
svd <- svds(X[ind, ], k = 5)
U <- sweep(svd$u, 2, svd$d, '*')
col <- 2:3
plot(U[, col])
points(cbind(0, 0), pch = 8, col = "green", cex = 2)

# Projecting other samples
proj <- pca_OADP_proj(X = X[-ind, ], loadings = svd$v, sval = svd$d)
points(proj$simple_proj[, col], col = "red", pch = 20)     # shrunk towards 0
points(proj$OADP_proj[, col], col = "blue", pch = 20)      # unshrunk


privefl/bigutilsr documentation built on Oct. 24, 2024, 1:45 p.m.