【发布时间】:2020-02-10 02:47:45
【问题描述】:
我对 R 比较陌生,我不太确定如何实现这一点。现在我使用 prcomp 对两个不同的数据集执行 PCA。
data1.pr <- prcomp(data1, center=TRUE, scale=TRUE)
data2.pr <- prcomp(data2, center=TRUE, scale=TRUE)
我使用autoplot(data1.pr, frame = TRUE) 和autoplot(data2.pr, frame = TRUE) 绘制了图表,它显示了data1 和data2 的结果:
现在,我如何将这两张图片组合成一个不同组的情节?我搜索了一些答案,似乎geom 就是这样一种解决方案。但是,我不太确定如何通过分组来实现这一点。任何帮助将不胜感激!
【问题讨论】:
-
data1 的 PC1 不是 data2 的 PC1。因此,您可以将 PC 并排绘制在图上,但如果您想使用相同的图,请小心。
-
data1的 PC1 可从data1.pr$x[, 1]获得,PC2 可从data1.pr$x[, 2]获得,依此类推。所以你可以使用data1.pr$x为data1绘制PC。 -
就像 Suren 说的,如果你使用不同的数据来做 PCA,很可能你会得到不同的主成分(除非你有相同的变量并且从相同的人口)。因此,将两个 PCA 粘贴到单个 plot 中并不是一个好主意。但是,您可以使用
ggplot2facets 或使用cowplot包将这两个图并排放置到同一个figure中 -
或者使用
patchwork包