R中PCA的结果加载

The Result loadings of PCA in R

在 R 中进行 PCA 时,

p <- princomp(iris[,1:4])

我通过以下两种方法得出不同Components的系数:

IrisLoading <- p$loadings[,1:2] #methods1, use the fist two Comp.

结果是这样的

     Comp.1      Comp.2
Sepal.Length  0.36138659 -0.65658877
Sepal.Width  -0.08452251 -0.73016143
Petal.Length  0.85667061  0.17337266
Petal.Width   0.35828920  0.07548102

那么如果我只通过

查看它的加载
p$loadings

结果是

Loadings:
             Comp.1 Comp.2 Comp.3 Comp.4
Sepal.Length  0.361 -0.657 -0.582  0.315
Sepal.Width         -0.730  0.598 -0.320
Petal.Length  0.857  0.173        -0.480
Petal.Width   0.358         0.546  0.754

为什么我 "sift" Comp. 后 Comp1 & 2 的系数会改变?

调用p$loadings等同于调用print(p$loadings)。默认情况下,R 使用 0.1 的截止值,这意味着它会删除任何绝对值小于 0.1 的值。它还四舍五入到小数点后 3 位,这是您可以覆盖的另一个默认参数。

要获得与 p$loadings[,1:2] 更相似的结果,运行 这一行:

print(p$loadings, digits = 8, cutoff = 0.01)

输出:

Loadings:
             Comp.1      Comp.2      Comp.3      Comp.4     
Sepal.Length  0.36138659 -0.65658877 -0.58202985  0.31548719
Sepal.Width  -0.08452251 -0.73016143  0.59791083 -0.31972310
Petal.Length  0.85667061  0.17337266  0.07623608 -0.47983899
Petal.Width   0.35828920  0.07548102  0.54583143  0.75365743

               Comp.1 Comp.2 Comp.3 Comp.4
SS loadings      1.00   1.00   1.00   1.00
Proportion Var   0.25   0.25   0.25   0.25
Cumulative Var   0.25   0.50   0.75   1.00

我在载荷 class 的文档中找到了此信息。您可以通过调用 ?loadings

查看该文档