1

我在 R 中对一个名为 data 的数据框进行 SVD

svd1 <- svd(scale(data))

我使用绘制结果

plot(svd1$d^2/sum(svd1$d^2),xlab="Column",ylab="Percent of variance explained",pch=19)

我发现在图中,列号与数据框中的列号不对应(无论我使用 SVD 的列子集,第一列总是显示最高方差)。

我的问题是,如何在图中获取列名(或“真实”索引)?

4

1 回答 1

3

根据 R 文档(.../library/base/html/svd.html):

d is a vector containing the singular values of x, of length min(n, p).

这些奇异值是通过 SVD 算法从整个输入矩阵中计算出来的,因此无法根据列名来标记奇异值。

于 2013-02-10T19:59:05.540 回答