使用prcomp()的r中的主成分分析

时间:2015-09-03 18:51:41

标签: r pca

我的数据是[478 x 4200]矩阵。我正在考虑4200个元素作为组件,我想减少我需要处理的组件数量。 我使用了prcomp(),不管怎么说它总是返回478个主要组件,即使我转置了矩阵。据我所知,prcomp()使用列作为组件。我想我应该得到4200个主要组件。 我可以通过计算我需要的所有矩阵来手动完成,但我想检查一下这个函数。

1 个答案:

答案 0 :(得分:2)

有点明确:

如果你有p = 4200个变量的n = 478个观测值,你需要构建一个478 x 4200矩阵,其中每一行都是对这4200个变量的观察。我们称这个矩阵为m。

然后用

执行PCA
pca_result <- prcomp(m)

得到的主分量向量在矩阵pca_result $ rotation中。每列都是主要组件,列按降序变化排序。

每个主成分的维数p = 4200,并且将有min(n-1,p)=​​ 478个信息主要成分。所以pca_result $ rotation是一个4200 x 478矩阵。

PCA得分向量是矩阵pca_result $ x的列。因此,每个维度478(=观察数量)也将有478(=主成分数)得分向量。