在R中比较svd和princomp

在R中比较svd和princomp,r,pca,svd,R,Pca,Svd,我想得到R中矩阵的奇异值,得到主成分,然后用princomp(x)来比较结果 我知道princomp()会给出主成分 问题 如何从$d、$u和$v(s=svd(x)的解)中得到主成分?无论如何,您可能应该研究prcomp,它使用svd而不是eigen(如princomp)计算PCA。这样,如果您只需要PCA输出,但使用svd进行计算,那么您就是黄金 另外,如果您在命令行中键入stats:::prcomp.default,您可以看到它是如何使用svd的输出的。我回滚了此编辑,因为不需要添加MYas

我想得到R中矩阵的奇异值,得到主成分,然后用princomp(x)来比较结果

我知道princomp()会给出主成分

问题


如何从$d、$u和$v(s=svd(x)的解)中得到主成分?

无论如何,您可能应该研究
prcomp
,它使用
svd
而不是
eigen
(如
princomp
)计算PCA。这样,如果您只需要PCA输出,但使用
svd
进行计算,那么您就是黄金


另外,如果您在命令行中键入
stats:::prcomp.default
,您可以看到它是如何使用
svd
的输出的。

我回滚了此编辑,因为不需要添加MYasseen的(好)答案;我标记了你的另一个问题与这个问题合并,所以希望这两个答案很快就会在这里。