R中的PCA:如何确定每个变量对PC得分的贡献

时间:2017-05-05 18:26:03

标签: r pca

我在R中执行PCA,如下所示。

# Load data
data(mtcars)

# Run PCA
car.pca <- prcomp(mtcars, scale = TRUE, center = TRUE)

我使用car.pca$x获取每辆车的PC分数。因此,例如,我知道对于马自达RX4,PC1值为-0.6468627420。我想知道的是,我如何计算每个变量对实现该值的贡献?我知道car.pca$rotation会给我变量加载。所以,我希望像mtcars[1,] * car.pca$rotation[, 1]这样的东西可以工作(即,PC1的加载乘以马自达RX4的数据),但是,我不认为这会解释这样的事实:数据以prcomp函数为中心并进行缩放。在考虑居中和缩放时如何进行计算?

1 个答案:

答案 0 :(得分:2)

car.pca$rotation[, 1] * (mtcars[1,] - summary(car.pca)$center) / summary(car.pca)$scale