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

Let PCA tell us

因为容量有限,所以尽可能的饮那瓢最能代表弱水的。

Then which?

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

RNA-seq让我们对样本的了解拓宽到了基因层面(也就是说,我们现在看样本的维度是基因数量 维,10^4级别的维度)
But我们没有10^4维度的视角
PCA的目的就是,在保留最多信息(真实性/方差最大)的前提下,将样本以点图的形式反映到二维坐标里(一般是前两个主成分);
目前对PCA的了解
  • 在机器学习中广泛使用的降维方法;目的是为了找到有共同特征的组,如此便可用较少的组信息表征成千上万的特征信息;

  • RNA-seq中,用前两个主成分(一般来说是前两个)代表不同样本的基因表达的变化,便可将信息呈现在简单的xy点图中,而不需要将每个样本的成千上万的基因信息全部体现出来;需要用normalize后的数据作图哦!!!

  • 实验人员用来分析主成分下暗含的实验或技术原因,也用于判断批次效应或离群点;
    covariance

以下是频繁出现的表达矩阵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
可以很明显的看到,第一个主成分就把我们的NSCLC和SCLC区分的还不错
更多完整的PCA教程看群主之前的推文:
prcomp
用到的参数介绍
  • 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
(0)

相关推荐

  • 【R分享|实战】PCA分析与可视化

    " 不求做的最好,但求做的更好."   --科白君 "R实战"专题·第17篇   编辑 | 科白维尼   4791字 |12分钟阅读 本期推送内容 最近我们分享 ...

  • 主成分分析(PCA)原理总结

    主成分分析(Principal components analysis,以下简称PCA)是最常用的降维方法之一,在数据压缩和消除冗余方面具有广泛的应用,本文由浅入深的对其降维原理进行了详细总结. 目录 ...

  • 【R分享|实战】科白君教你定义函数批量计算微生物α多样性

    " 突破."   --科白君 "R分享实战"专刊·第9篇   编辑 | 科白维尼   500字 | 10分钟阅读 本期推送内容 最近在处理一批数据量较大的数据, ...

  • 【R分享|实战】地表最全R拼图教程,告别AI和PS

    " 今日推文较长,请先收藏并空时学习.相信你一定有所收获."   --科白君 "R实战"专题·第16篇   编辑 | 科白维尼   4830字 |12分钟阅读 ...

  • R语言简单for循环

    欢迎来到医科研,这里是白介素2的读书笔记,跟我一起聊临床与科研的故事, 生物医学数据挖掘,R语言,TCGA.GEO数据挖掘. 简单for循环  创建一个简单数据框 1Sys.setlocale('LC ...

  • 博士师兄手把手教你用R语言做PCA分析,不存在学不会!

    手把手教你用R语言做PCA主成分分析,不存在学不会 作者简介 本文作者Trigo Hoang,作者目前在香港攻读博士学位,硕士期间发表了多篇生信相关的SCI,累计影响因子35+,公众号简书会记录作者学 ...

  • 弱水三千取一瓢,股市必杀技有很多,但是你更适合那个招式

    ​​撇开主题我们来聊一下,为什么专业人士,会比非专业人懂的更多,做的更好那,那是因为专业人士重复的遍数更多,在这个领域有自己经验,有自己的认知,还有句话说的好,弱水三千取一瓢,必杀技有很多,我们只用自 ...

  • 弱水三千,只取一瓢饮,看懂的人不一般!

    佛祖在菩提树下问一人:在世俗的眼中,你有钱.有势.有一个疼爱自己的妻子,你为什么还不快乐呢? 此人答曰:正因为如此,我才不知道该如何取舍? 佛祖笑笑说:我给你讲一个故事吧.某日,一游客就要因口渴而死, ...

  • 宝玉对黛玉:弱水三千,只取一瓢饮

    作者:宝拉    来源:红楼梦赏析(ID:hlm364) 一入"红楼"深似海.红楼女孩个个绝色,但是整个大观园,在我看来,黛玉,只有你,唯有你,才是那个最有福气的女孩子.你才情潇洒 ...

  • 佛说:弱水三千,只取一瓢饮

    佛祖在菩提树下问一人:在世俗的眼中,你有钱.有势.有一个疼爱自己的妻子,你为什么还不快乐呢?此人答曰:正因为如此,我才不知道该如何取舍? 佛祖笑笑说:我给你讲一个故事吧.某日,一游客就要因口渴而死,佛 ...

  • 弱水三千,我只取一瓢饮——谈谈我眼中的梅派男旦胡文阁

    (作者:梦暖倾城的小屋) 很难用一句话来总体概括胡文阁老师.因为,不同的阶段,他的形象,他的表现,他给人的印象都是不同的. 我说的只是我的看法.各位就当个故事去听吧. 先说一下观点:我是喜欢他的,喜欢 ...

  • ​弱水三千,只取一瓢饮,今生只爱你

    即使隔着天涯海角,也无法阻挡你我的距离,两个心依旧相爱着. 时光深处,你我的样子依旧如初,你是我的少年,我是你的女孩,像两颗白莲亭亭玉立,不为世间浮华所沾染,不乱于心,守候着彼此. 情愫,在春日的枝头 ...

  • 弱水三千,只需取一瓢饮

    当一部小说被称为中国版的<百年孤独>,可以想象把它改编成电影的人需要鼓起多大的勇气,而意料之外的是,刘雨霖身为原著小说作者刘震云的女儿,竟然轻巧的摘下这个烫手的山芋,完成了这个不可能的任务 ...

  • “弱水三千 只取一瓢饮”是什么意思?

    古时许多浅而湍急的河流不能用舟船而只能用皮筏过渡,古人认为是由于水羸弱而不能载舟,因此把这样的河流称之为弱水.因此在古书如<山海经><十洲记>等中记载了许多并非同一河流而相同名 ...

  • “弱水三千 只取一瓢饮”是什么意思?它给我们的启示是什么?

    “弱水三千 只取一瓢饮”是什么意思?它给我们的启示是什么?