prcomp()我知道 PCA 可以使用基础 R 中的函数或包preProcess()中的函数caret等进行。
首先,我是否正确地说,如果我们只使用prcomp(<SOME_MATRIX>)或类型的操作的默认设置preProcess(<SOME_MATRIX>, method = "pca"),那么我们结果的唯一区别是prcomp()在进行 PCA 之前不会对数据进行居中和缩放,而 preProcess() 会这样做?因此,执行prcomp(scale(<SOME_MATRIX>))和preProcess(<SOME_MATRIX>, method = "pca")输出相同的事情吗?
prcomp()其次,更重要的是,我们如何从或 的输出中获得每台 PC 解释的方差百分比preProcess()?从这两个输出中,我可以看到诸如平均值、标准差或旋转之类的信息,但我认为这些仅指“旧”变量。关于“新”电脑的信息在哪里?它们造成了多少差异?
例如,如果我正在使用preProcess(<SOME_MATRIX>, method = "pca", thresh = 0.8)并且返回 6 个 PC,则这可能会很有用,但我发现前 5 个 PC 总共解释了 79.5% 的方差。那么我可能倾向于不包括所有 6 台 PC。