Calculate the principal components of an array of correlation or covariance matrices.

# S3 method for array
pca(x, use.svd = TRUE, rm.gaps=TRUE, ...)



an array of matrices, e.g. correlation or covariance matrices as obtained from functions dccm or enma2covs.


logical, if TRUE singular value decomposition (SVD) is called instead of eigenvalue decomposition.


logical, if TRUE gap cells (with missing coordinate data in any input matrix) are removed before calculation. This is equivalent to removing NA cells from x.




This function performs PCA of symmetric matrices, such as distance matrices from an ensemble of crystallographic structures, residue-residue cross-correlations or covariance matrices derived from ensemble NMA or MD simulation replicates, and so on. The ‘upper triangular’ region of the matrix is regarded as a long vector of random variables. The function returns M eigenvalues and eigenvectors with each eigenvector having the dimension N(N-1)/2, where M is the number of matrices and N the number of rows/columns of matrices.


Returns a list with components equivalent to the output from


Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.


Xin-Qiu Yao, Lars Skjaerven

See also