R语言绘制配对样品箱线图

Python014

R语言绘制配对样品箱线图,第1张

配对箱线图,常见于配对样本的数据分析中。

例如下图示例,为了研究某些基因在肿瘤组织和正常组织中是否具有表达量的显著不同,在取样时,往往会在同一患者个体中同时获取肿瘤和临近正常组织,两个组织样本就是配对关系。当然在这类研究中,往往需要调查很多的患者,因此会获得大量的配对样本。随后,通过qPCR或RNA-seq等方法定量基因表达后,以箱线图呈现特定基因在肿瘤组织和正常组织中的整体表达水平,并在箱线图中以散点表示具体的样本,此时对于具有配对关系的肿瘤组织和正常组织样本,就可以通过连线连接起来。

这种配对箱线图的好处是,除了能够表现两组的整体差异,还能够清晰地呈现单个样本的前后改变。

本篇教程,就让我们带大家学习如何使用R语言绘制这种配对箱线图。

类似地,假设我们也期望查看某基因(例如MAP2)在肿瘤组织和正常组织中的表达改变情况,在收集了配对样本并检测了这些样本中基因表达水平后,配置这样一张表。

samples是样本名称;MAP2是基因MAP2在各样本中的表达值;group1是样本分组,告知它们来源于肿瘤组织还是正常组织;group2是配对样本信息,配对的两样本设置为同一亚组。

备注: 该示例数据集可点击这里获取。

随后,将上述示例数据导入R中。

绘制箱线图表示两组基因的整体表达水平,并以散点表示样本,配对样本间以连线连接。

这样,配对箱线图就获得了。

箱线图描述了组间基因表达水平改变的趋势,在该图中可以看到MAP2基因的表达在肿瘤组织和正常组织中是不一致的。后续如有需要,不妨执行配对样本的t检验等,计算显著性p值,作为评判基因表达显著差异的指标。

r中lines是直线,命令为lines(x,y),其功能相当于plot(x,y,type="1")。

函数abline()可以在图上加直线,其使用方法有四种格式:

一、abline(a,b)

表示画一条y=a+bx的直线

二、abline(h=y)

表示画出一条过所有点得水平直线

三、abline(v=x)

表示画出一条过所有点的竖直直线

四、abline(lm.obj)

表示绘出线性模型得到的线性方程

lines()函数做的是一般连线图,其输入是x,y的点向量。abline()函数做的是回归线,其输入是回归模型对象。

函数的定义:

给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式简称函数。

函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。

首先要理解函数是发生在集合之间的一种对应关系。然后要理解发生在A、B之间的函数关系不止且不止一个。最后要重点理解函数的三要素。

函数的对应法则通常用解析式表示,但大量的函数关系是无法用解析式表示的,可以用图像、表格及其他形式表示  。

以上内容参考:百度百科---函数

韦恩图(Venn plot),又称文氏图,是英国的哲学家和数学家约翰·维恩(John Venn)在1881年发明的,主要是用于展示在不同的事物群组(集合)之间的数学或逻辑联系,尤其适合用来表示集合(或)类之间的“大致关系”,它也常常被用来帮助推导(或理解推导过程)关于集合运算(或类运算)的一些规律。在我们常用的领域,简单来说就是多个集合之间取交集。

绘制韦恩图有很多方式,R,Python,Perl等,这里主要是用R来展示;在R语言中,绘制venn图有很多包可以实现:Venn, Vennplot, VennDiagram, VennDetail, ggvenn,gplots等。

此文主要展示一下用VennDiagram包绘制高纬度的韦恩图。

这样一个简单的GUOFUYASEWANG(国服亚瑟王)的韦恩图就画出来,通过参数给他加点颜色,美观一下。

增加配色之后好看了不少。

除了用R绘制韦恩图,还可以用网站实现。 http://www.interactivenn.net/ 可以绘制2-6维的韦恩图,不需要学会R也能绘制韦恩图。同学们可以自行探索。

有时候自己需要取交集的数据集太多,韦恩图满足不了,可以采用UpSetplot,它可以将交集数目通过柱状图的方式呈现。以UpSetR包里的movies文件做示例:

这是一个3883行,21列的数据集,包含了1995上映的电影具体情况(如Action是否是运动电影,0表示不是运动电影,1表示是运动电影,以此类推)

该图中 黑色 表示该位置有数据, 灰色 的点表示没有, 不同点连线 表示存在 交集 , 不同 柱状图 表示不同的 数目

Hoang的地址: https://www.jianshu.com/u/1fd4ff43abdc