我的数据是[478 x 4200]矩阵。我正在考虑4200个元素作为组件,我想减少我需要处理的组件数量。 我使用了prcomp(),不管怎么说它总是返回478个主要组件,即使我转置了矩阵。据我所知,prcomp()使用列作为组件。我想我应该得到4200个主要组件。 我可以通过计算我需要的所有矩阵来手动完成,但我想检查一下这个函数。
答案 0 :(得分:2)
有点明确:
如果你有p = 4200个变量的n = 478个观测值,你需要构建一个478 x 4200矩阵,其中每一行都是对这4200个变量的观察。我们称这个矩阵为m。
然后用
执行PCApca_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(=主成分数)得分向量。