| name | irlba |
| description | R irlba package for fast SVD/PCA. Use for truncated SVD and PCA on large matrices. |
irlba
Fast truncated SVD and PCA.
Truncated SVD
library(irlba)
svd_result <- irlba(A, nv = 5)
svd_result$u
svd_result$v
svd_result$d
Fast PCA
pca <- prcomp_irlba(data, n = 5)
pca$x
pca$rotation
pca$sdev
pca$center
pca$scale
predict(pca, newdata = new_data)
Options
pca <- prcomp_irlba(data, n = 5,
center = TRUE,
scale. = TRUE)
svd_result <- irlba(A, nv = 5, maxit = 1000)
Sparse Matrices
library(Matrix)
sparse_A <- Matrix(A, sparse = TRUE)
svd_result <- irlba(sparse_A, nv = 5)
Partial SVD
svd_result <- irlba(A, nv = 5, nu = 0)
svd_result <- irlba(A, nv = 5, nv = 0)
Augmented Implicitly Restarted
svd_result <- irlba(A, nv = 5,
work = 20,
reorth = TRUE)
Comparison with Base R
svd_full <- svd(A)
svd_partial <- irlba(A, nv = 5)
Low-Rank Approximation
svd_result <- irlba(A, nv = 5)
A_approx <- svd_result$u %*% diag(svd_result$d) %*% t(svd_result$v)