R中的PCA使用插入包和prcomp PCA

时间:2017-01-03 16:19:27

标签: r pca r-caret

我有一个包含50个以上变量的数据帧data,我正在尝试使用caret包在R中执行PCA。

library(caret)
library(e1071)
trans <- preProcess(data,method=c("YeoJohnson", "center","scale", "pca"))

如果我正确理解了这段代码,它会应用YeoJohnson转换(因为data中有零),标准化data而不是应用PCA(默认情况下,该函数只保留PC必须解释数据中至少95%的可变性

但是,当我使用prcomp命令时,

  model<-prcomp(data,scale=TRUE)

我可以获得更多输出,例如打印summary或执行plot(data, type = "l")我无法在trans中执行此操作。有谁知道caret包中是否有任何函数产生与prcomp相同的输出?

1 个答案:

答案 0 :(得分:2)

您可以使用predict函数访问主要组件。

df <- predict(trans, data)
summary(df)

您与prcomp的输出不完全相同:caret使用prcomp()时,它会丢弃原始的prcomp类对象,但不会返回它。