我有一个包含超过50个变量的数据帧data
,我正在尝试使用caret
包在R中执行一个主成分分析。
library(caret)
library(e1071)
trans <- preProcess(data,method=c("YeoJohnson", "center","scale", "pca"))
如果我正确理解了这段代码,它会应用YeoJohnson转换(因为data
中有零),标准化data
,然后应用PCA (默认情况下,该函数只保留解释数据中至少95%的可变性所需的PC)。
但是,当我使用prcomp
命令时,
model<-prcomp(data,scale=TRUE)
我可以得到更多的输出,比如打印summary
或者执行plot(data, type = "l")
,这在trans
中是做不到的。有没有人知道caret
包中是否有函数产生与prcomp
中相同的输出
发布于 2017-01-04 01:17:42
您可以使用predict
函数访问主要组件本身。
df <- predict(trans, data)
summary(df)
您不会得到与prcomp
完全相同的输出:当caret
使用prcomp()
时,它将丢弃原始的prcomp
类对象,并且不返回该对象。
https://stackoverflow.com/questions/41447796
复制相似问题