比较 R 中的 svd 和 princomp
我想获取 R 中矩阵的奇异值来获取主成分,然后也使 princomp(x) 来比较结果
我知道 princomp() 会给出主成分
问题
如何从 $d、$u 和 $v 中获取主成分(s = svd(x)
的解)?
I want to get singular values of a matrix in R
to get the principal components, then make princomp(x) too to compare results
I know princomp() would give the principal components
Question
How to get the principal components from $d, $u, and $v (solution of s = svd(x)
)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无论如何,您可能应该研究一下
prcomp
,它使用svd
而不是eigen
来计算 PCA(如princomp
中所示)代码>)。这样,如果您想要的只是 PCA 输出,但使用svd
进行计算,那么您就很幸运了。另外,如果您在命令行中输入
stats:::prcomp.default
,您可以自己查看它如何使用svd
的输出。One way or another, you should probably look into
prcomp
, which calculates PCA usingsvd
instead ofeigen
(as inprincomp
). That way, if all you want is the PCA output, but calculated usingsvd
, you're golden.Also, if you type
stats:::prcomp.default
at the command line, you can see how it's using the output ofsvd
yourself.