R中PCA的结果加载量

问题描述 投票:3回答:1

在R中做PCA时,

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

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

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

为什么在“筛选”Comp后,Comp1&2的系数发生了变化?

r pca
1个回答
4
投票

调用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

我在加载类的文档中找到了这些信息。您可以通过调用?loadings来查看该文档

© www.soinside.com 2019 - 2024. All rights reserved.