我如何更改 PCA 的波纹管代码以获得仅适用于 PLS-DA 的类似图表?
library(ggplot2)
library(mixOmics)
library(ggforce)
all_datanoT <- cbind(amino,sphingo,hexose,phospha,lyso,cleaned_xl_Kopie)
all_datawT <- cbind(aminotnos,sphingo,hexose,phospha,lyso,cleaned_xl_Kopie)
rownames(all_datawT) <- sample_id$`Sample Identification`
alldata_naomit <-na.omit(all_datanoT)
all_datawTnaomit <-na.omit(all_datawT)
mypr <- prcomp(log2(alldata_naomit), scale = TRUE)
summary(mypr)
str(mypr)
mypr$x
PC1 <- mypr$x[, 1]
PC2 <- mypr$x[, 2]
pcat <- cbind(all_datawTnaomit, PC1, PC2)
ggplot(pcat, aes(x=PC1, y=PC2, col = `Time point`, fill = `Time point`)) +
stat_ellipse(geom = "polygon", col= "black", alpha =0.5)+
geom_point(shape=21, col="black")
使用
plsr
包的 pls
函数来执行 pls-da 而不是执行 pca 的 prcomp
函数。请注意,对于 pls-da,您需要提供 Y 参考数据作为因子,如果有 2 个以上的组,则需要作为矩阵提供。
然后您可以根据需要绘制 pls-da 模型的分数,但对于 pls-da,我们通常绘制预测类别与作为参考提供的类别 (Y)。
或者,您也可以使用
mdatools
包并按照此处提供的优秀示例进行操作:https://mda.tools/docs/plsda.html