PCA-弱水三千,取哪一瓢饮?

作者: Juan_NF | 来源:发表于2019-04-06 10:56 被阅读94次

    Let PCA tell us

    容量有限,饮那瓢最能代表弱水的。

    Then which?

    对待数据的正确态度-----处理之前,要先了解它(RNA-seq counts)

    RNA-seq让我们对样本的了解拓宽到了基因层面(也就是说,我们现在看样本的维度是基因数量 维,10^4级别的维度)
    But我们没有10^4维度的视角
    PCA的目的就是,在保留最多信息(真实性/方差最大)的前提下,将样本以点图的形式反映到二维坐标里(一般是前两个主成分);
    目前对PCA的了解
    • 在机器学习中广泛使用的降维方法;目的是为了找到有共同特征的组,如此便可用较少的组信息表征成千上万的特征信息;
    • RNA-seq中,用前两个主成分(一般来说是前两个)代表不同样本的基因表达的变化,便可将信息呈现在简单的xy点图中,而不需要将每个样本的成千上万的基因信息全部体现出来;需要用normalize后的数据作图哦!!!
    • 实验人员用来分析主成分下暗含的实验或技术原因,也用于判断批次效应或离群点;

    以下是频繁出现的df的真容:

    下面奉上我在对文章数据进行重现时,使用到的PCA代码:

    FactoMineR+factoextra
    用到的参数的介绍
    • df[,-ncol(df)]这是对我用于主成分分析的数据的索引,去掉了最后一列的数据,ncol用于返回数据框的列数,这里 “-” 即表示除去某一列;这里的最后一列,是加进去的分组信息;
    • PCA函数是FactoMineR包中的功能;graph参数设为FALSE后,这里只是保存了主成分分析后的结果;
    • fviz_pca_ind是factoextra包中的函数,对PCA结果中的individuals(这里是样本)进行作图,df.pca是我们用PCA函数得到的结果;
    • geom.ind即我们把降维后的样本以point的形式反应在二维坐标上,还有arrow,text等可选的参数;
    • col.ind即基于df里的分组信息进行颜色区分;
    • addEllipses指在样本周围绘制椭圆,可以更好地区分;
    • legend.title是fviz_pca_ind依赖的ggpubr::ggpar()包中的参数,为自己的legend取名,这里取名为'Groups';
    library("FactoMineR")
    library("factoextra") 
    df.pca <- PCA(df[,-ncol(df)], graph = FALSE)
    df.pca
    fviz_pca_ind(df.pca,
                 geom.ind = "point",
                 col.ind = df$group, 
                 addEllipses = TRUE, 
                 legend.title = "Groups"
    )
    ggsave('all_samples_PCA.png')
    
    Rplot_FVIZ.png
    prcomp

    prcomp值得更多篇幅,后天我再做详解;

    https://cran.r-project.org/web/packages/ggfortify/vignettes/plot_pca.html

    用到的参数介绍
    • prcomp是R的stats 包(base级别)的函数;
    • autoplot是ggfortify中的函数,frame即对分出来的簇加上边界,frame.type即边界类型设定为norm;
    • ggplot2太大了,得抽时间好好了解;
    library(ggfortify)
    autoplot(prcomp( df[,1:ncol(df)-1] ), data=df,colour = 'group')
    autoplot(prcomp( df[,1:ncol(df)-1] ), data=df,colour = 'group',frame=TRUE,frame.type = 'norm')
    
    Rplot_prcomp.png

    Rplot_prcomp1.png

    课程分享
    生信技能树全球公益巡讲
    https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
    B站公益74小时生信工程师教学视频合辑
    https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
    招学徒:
    https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw

    相关文章

      网友评论

        本文标题:PCA-弱水三千,取哪一瓢饮?

        本文链接:https://www.haomeiwen.com/subject/tgfriqtx.html