从R中的Biplot中识别主成分

时间:2017-04-26 02:46:14

标签: r pca ggbiplot

在得到分析结果后,我进行了主成分分析,如何识别前几个主要预测因子?因为情节很混乱。很难看出预测者的名字:
enter image description here

我应该研究哪部分PCA结果?这更像是如何确定可以解释的最重要的预测因子。比如80%,你的数据的方差。我们知道,例如,前5个组件就是这样做的,而主要组件只是预测变量的组合。如何识别那些重要的"预测。

1 个答案:

答案 0 :(得分:1)

请参阅此回答Principal Components Analysis - how to get the contribution (%) of each parameter to a Prin.Comp.?

信息存储在pca结果中。 如果您使用了prcomp(),那么$rotation就是您所追求的,或者如果您使用princomp(),则$loadings会保留该密钥。 例如

require(graphics)
data("USArrests")

pca_1<-prcomp(USArrests, scale = TRUE)
load_1<-with(pca_1,unclass(rotation))
aload_1<-abs(load_1)
sweep(aload_1, 2, colSums(aload_1), "/")
#               PC1       PC2       PC3        PC4
#Murder   0.2761363 0.2540139 0.1890303 0.40186493
#Assault  0.3005008 0.1141873 0.1485443 0.46016113
#UrbanPop 0.1433452 0.5301651 0.2094067 0.08286886
#Rape     0.2800177 0.1016337 0.4530187 0.05510509


pca_2<-princomp(USArrests,cor=T)
load_2<-with(pca_2,unclass(loadings))
aload_2<-abs(load_2)
sweep(aload_2, 2, colSums(aload_2), "/")

#            Comp.1    Comp.2    Comp.3     Comp.4
#Murder   0.2761363 0.2540139 0.1890303 0.40186493
#Assault  0.3005008 0.1141873 0.1485443 0.46016113
#UrbanPop 0.1433452 0.5301651 0.2094067 0.08286886
#Rape     0.2800177 0.1016337 0.4530187 0.05510509

如您所见,MurderAssaultRape各占PC1的约30%,而UrbanPop仅对PC1贡献约14%, PC2的主要贡献者(约53%)。