PLS-DA代替PCA试试降维效果?

本文介绍了在组学研究中如何利用R语言进行PLS-DA(偏最小二乘判别分析),作为PCA的替代方法,特别是在样本间相关性不强时。通过示例展示了使用mixOmics和ropls包进行分析和可视化的过程,结果显示PLS-DA能更有效地区分样本群体。
摘要由CSDN通过智能技术生成

最近有小伙伴问道PLS-DA(Partial least squares Discriminant Analysis,偏最小二乘判别分析),一种组学分析中常用的多变量分析方法,具体的原理就不多说了,主要也怕数学的内容说错了误导人,我们就看看R怎么分析和可视化即可,详细的原理可翻阅《多元统计学》偏最小二乘判别分析部分学习。

其实,如果不做代谢组学或者看这方面的文章,一般学点组学分析的人还真不容易看到PLS-DA,因为常见组学(转录组、蛋白组),文章中一般使用PCA分析降维(转录组不求人系列(三):PCA分析及CNS级别作图),代谢组学使用较多。如果你的样品之间相关性不强,这时候主成分分析降维的效果其实不太好,就可以试试这种有监督的学习方法---PLS-DA来代替PCA。

首先我们构建一下数据(随便找的,没有意义),行名为基因,列名为样本。

我们做下PCA看看效果。


setwd("F:/生物信息学/PLS-DA")
A <- read.csv("pl.csv",header = T,row.names = 1)
data <- t(A)
data.pca <- prcomp(data)
library(factoextra)
group=c(rep("MD",11),rep("MA",12))
fviz_pca_ind(data.pca,
             col.ind=group,
             mean.point=F,
             addEllipses = T, 
             legend.title="Groups",
             palette = c("#CC3333", "#339999"))+ 
  theme(panel.border = element_rect(fill=NA,color="black", size=1, linetype="solid"))

可以看到主成分是无法分开的。我们接下来试试PLS-DA分析看看效果。先使用mixOmics包做一下,可以进行分析和可视化,过程很简单。数据和分组同上面PCA。可以看到结果样本分组差异很明显,以后蛋白组或者转录组数据都可应用。


BiocManager::install("mixOmics")
library(mixOmics)

pls_ana <- plsda(data,
                 group,
                 ncomp = 2)

plotIndiv(pls_ana, 
          comp = c(1,2),
          group = group,
          ind.names = TRUE, 
          ellipse = TRUE, 
          legend = TRUE,
          style = 'ggplot2',
          pch =16,
          cex =5)

还可计算背景面积可视化预测区域。

background = background.predict(pls_ana, comp.predicted=2, dist = "max.dist") 
plotIndiv(pls_ana, comp = 1:2,
          group = group, ind.names = T,
          legend = TRUE,  background = background)

其他的R包:ropls包也可进行PLS-DA分析。结果与mixOmics包一样,不过可视化更加方便,可视化结果更多。


BiocManager::install("ropls")
library(ropls)
pls-ana <- opls(x = data, y = group, orthoI = 0)
pls-ana

还可以获取更多信息,例如查看查看差异比较大的表达基因。


par(mfrow = c(1, 2))
plot(pls-ana, typeVc = 'x-score', parAsColFcVn = group)
plot(pls-ana, typeVc = 'x-loading')

以上就是非常粗略的说了下PLS-DA的做法和可视化差异性了,其实PLS-DA还有很多内容,想了解的自行深入学习吧!

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值