我正在使用R中的prcomp()函数。 我想知道是否有任何简单的方法来查看每个主要组件的变量贡献。
或者,如果prcomp不是为此而设计的,那么pca分析(或pca“like”)我可以用来回答这个问题:
原始数据中哪些变量最具判别性?
如何查看原始数据变量在所有主成分中的贡献
或者,对于每个主要组成部分:
PC1 = Var55 + Var2000 ( or 78% Var55 + 22% Var2000)
PC2 = Var19 + Var32 + Var45
PC3 = ...
答案 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