如何找到主成分和原始数据变量之间的 link?

How do I find the link between principal components and raw data's variables?

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

或者,如果 prcomp 不是为此设计的,我可以使用哪个 pca 分析(或 pca "like")来回答这个问题:

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

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

或者,对于每个主成分:

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

正如@Axeman所说,你可以看看旋转

如果您有此 PCA:

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

然后,看看旋转

loadings <- pcaRes$rotation

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

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

#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