如何找到主要组件和原始数据变量之间的链接?

时间:2017-04-14 08:22:00

标签: r variables pca

我正在使用R中的prcomp()函数。 我想知道是否有任何简单的方法来查看每个主要组件的变量贡献。

或者,如果prcomp不是为此而设计的,那么pca分析(或pca“like”)我可以用来回答这个问题:

原始数据中哪些变量最具判别性?

如何查看原始数据变量在所有主成分中的贡献

或者,对于每个主要组成部分:

PC1 = Var55 + Var2000 ( or 78% Var55 + 22% Var2000)
PC2 = Var19 + Var32 + Var45
PC3 = ...

1 个答案:

答案 0 :(得分:0)

正如@Axeman所提到的,你可以看一下旋转

如果你有这个PCA:

pcaRes <- prcomp(df, scale. = TRUE)

然后,看看旋转

loadings <- pcaRes$rotation

这应该显示变量如何影响PCA轴。例如。, 负值表示负面关系。

如果你想要每个变量的相对贡献,你可以求和 然后,每个PC轴的总负载(使用负数的绝对值) 用列和

除以每个值
#You can do this quick and dirty way
t(t(abs(loadings))/rowSums(t(abs(loadings))))*100

# or this sweet function
sweep(x = abs(loadings), MARGIN = 2, 
  STATS = colSums(abs(loadings)), FUN = "/")*100