如何从R中的princomp()中提取作为矩阵的加载

时间:2017-10-15 14:45:14

标签: r loading pca

在使用princomp()时,我得到一个带有“loadings”属性的对象。 “加载”是一个复合对象,它保存了我希望将它以正常矩阵格式分开的信息,以便我可以自由地处理和操作它。特别是我想以矩阵格式提取载荷。我找不到从对象中提取此信息的方法。这是可能的,如果是,如何?

我想使用princomp(),因为它接受协方差矩阵作为输入,因为我的数据集非常大(7000000 x 650),所以更容易提供协方差矩阵。

有关可重复的示例,请参阅以下内容:

> data(mtcars)
> 
> princomp_mtcars = princomp(mtcars)
> 
> loadings = princomp_mtcars$loadings
> 
> names(loadings)
NULL
> 
> class(loadings)
[1] "loadings"
> 
> loadings

Loadings:
     Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 Comp.10 Comp.11
mpg                 0.982                0.144                                     
cyl                        0.228 -0.239  0.794  0.425  0.189         0.132   0.145 
disp -0.900 -0.435                                                                 
hp   -0.435  0.899                                                                 
drat                              0.133 -0.227         0.939         0.184         
wt                        -0.128  0.244  0.127 -0.187 -0.156  0.391  0.830         
qsec                      -0.886  0.214  0.190  0.255  0.103        -0.204         
vs                        -0.177        -0.103               -0.684  0.303   0.626 
am                         0.136        -0.205  0.201         0.572 -0.163   0.733 
gear                       0.130  0.276 -0.335  0.802 -0.217 -0.156  0.204  -0.191 
carb               -0.103  0.269  0.855  0.284 -0.165        -0.128 -0.240         

               Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 Comp.10 Comp.11
SS loadings     1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000   1.000   1.000
Proportion Var  0.091  0.091  0.091  0.091  0.091  0.091  0.091  0.091  0.091   0.091   0.091
Cumulative Var  0.091  0.182  0.273  0.364  0.455  0.545  0.636  0.727  0.818   0.909   1.000
> 

您的建议将不胜感激。

0 个答案:

没有答案