• R语言
  • 主成分分析中princomp与prcomp函数的区别

感觉上两者没有什么区别,

但是看了帮助 ??princomp

princomp only handles so-called R-mode PCA, that is feature extraction of variables. If a data matrix is supplied (possibly via a formula) it is required that there are at least as many units as variables. For Q-mode PCA use prcomp.

--难道说princomp对应的是 R型的分析,而 prcomp对应的是Q型的分析?

R型与Q型,我是在因子分析中看到:

因子分析根据研究对象的不同可以分为R型和Q型因子分析

R型因子分析研究变量之间的相关关系,

Q型因子分析研究样本之间的相关关系

7 年 后

根据帮助文档,prcomp是对X做SVD,princomp则是对X的correlation或covariance matrix做eigen decomposition。两种方法理论上是没有区别的,但是数值解可能略有不同。PCA一般要求变量数目多于样本量,princomp似乎有这样的要求。这也跟R型,Q型有关系。但是这个可以通过把矩阵转置解决。如果矩阵转置,可以认为样本和变量互换了,最后画图的时候把loading和score互换一下也可以。
不过对于某些特定的下游分析,这样做似乎是行不通的。
https://aip.scitation.org/doi/abs/10.1063/1.4982862#:~:text=Traditionally%2C%20R-mode%20PCA%20has%20been%20the%20usual%20approach,new%20matrices%20known%20as%20loadings%20and%20scores%20matrices.