do.pca performs a classical principal component analysis (Pearson 1901)
using
RcppArmadillo package for faster and efficient computation.
do.pca(X, ndim = 2, ...)an \((n\times p)\) matrix whose rows are observations and columns represent independent variables.
an integer-valued target dimension.
extra parameters including
mode of eigendecomposition. FALSE for decomposing covariance matrix (default),
and TRUE for correlation matrix.
an additional option for preprocessing the data.
Default is "center". See also aux.preprocess for more details.
a named Rdimtools S3 object containing
an \((n\times ndim)\) matrix whose rows are embedded observations.
a vector containing variances of projected data onto principal components.
a \((p\times ndim)\) whose columns are basis for projection.
a list containing information for out-of-sample prediction.
name of the algorithm.
Pearson K (1901). “LIII. On Lines and Planes of Closest Fit to Systems of Points in Space.” Philosophical Magazine Series 6, 2(11), 559--572.
# \donttest{
## use iris data
data(iris)
set.seed(100)
subid = sample(1:150,50)
X = as.matrix(iris[subid,1:4])
lab = as.factor(iris[subid,5])
## try covariance & correlation decomposition
out1 <- do.pca(X, ndim=2, cor=FALSE)
out2 <- do.pca(X, ndim=2, cor=TRUE)
## visualize
opar <- par(no.readonly=TRUE)
par(mfrow=c(1,2))
plot(out1$Y, col=lab, pch=19, main="correlation decomposition")
plot(out2$Y, col=lab, pch=19, main="covariance decomposition")
par(opar)
# }