upset数据集合的表示.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
upset数据集合的表示

Upset:集合交集的可视化 1集合和交集 在科学的数据分析中,集合是一个普遍性的概念。土壤样本中发现的细菌,生物通路中发现的酶,染色体中发现的变异,通过光谱测定法在血清样本中发现的蛋白质,或者在癌症病人中发现的基因变异,都可以被当作集合处理。即使有很多的研究仅限于不同集合的识别,但是我们通常仍需要通过集合之间的交集研究多种集合的相同与不同之处。 集合和他们之间的交集如果直接的表示出来,最多只能有3到4种集合,一旦超过可这个阈值,可视化集合之间的关系就很困难了,比如说3个集合可能有8种交集,10个集合可能有1024种交集,n个集合最多有2n交集。 本篇文章用例为:多形性成胶质细胞瘤癌症病人群体,此数据集代表了100个在多形性成胶质细胞瘤最容易突变的基因,283个癌症样本。其中:第一行为基因标识符(基因名称),第一列为样本编号,数字1:表示此样本中对应的基因发生突变,数字0: 表示此样本中对应的基因不发生突变。此样本中,集合:是一列样本,这些样本中这种基因都发生突变,集合的交集:表示这些样本中都有这几种相同的突变。 2文氏图和欧拉图 A 4 B 1 3 我们最常用的表示集合交集的方法就是文氏图和欧拉图,欧拉图和文氏图都有由圆形或椭圆型组成,面积可表示为集合的大小,两种图区别很小,(文氏图和欧拉图的区别)不同的是文氏图包含所有可能的集合,包括空集,但是在欧拉图上不会表示出空集。 1 1 C 3 4 1 3 1 3 0 A B C 欧拉图 文氏图 欧拉图(文氏图)很适合表示两个或三个集合的交集的大小,集合的大小与图形的面积成正比,重合部分的面积就是表示交集,虽然面积的表示方式没有长度和位置表示来的精确,但是小数量集合很受大家欢迎,我们可以用R包:venneuler package来画欧拉图。 Venneuler包: 根据集合的参数画出文氏图 用法:venneuler(combinations, weights, ...) 参数: combinations:可以是以下的任何一个: 一组字符向量,集合连接部分用号 – e.g.?c(A,B,AB)) 已命名的数字向量,说明了交集部分的权重,?– e.g.c(A=1, B=2, `AB`=0.5) 一个字符矩阵包含两列,元素对应集合的表示方式,第一列是元素,第二列集合的名字,weights忽略权重。 逻辑或数字矩阵,每一列代表一个集合,而每一行的非0部分表示集合共同出现的部分值,每一行用非0值(或TRUE)表示共同出现;权重,逻辑矩阵:存在为1,数值矩阵:每一行的加和。 为了方便起见,一般用data frames数据框代替矩阵模型,之后强制转化为矩阵: as.matrix().weights如果?combinations?是一个字符向量,那么这个参数就表示交集部分的权重。其他情况的时候可以忽略不写。...额外参数,通常不同 Value: centers圆的中心位置,列x,y的坐标diameters圆的直径colors圆的颜色值,在0.1之间labels圆的标签 个人认为:上面的四项比较具有实际意义,可以调整图像,下面的四个部分一般是对图像效果和精确度的评估,实际意义不大。residuals残差,输入的交集面积和最后调整的交集面积区别的的百分比stress应力值stress01基于随机数据的0.01的临界应力值stress05基于随机数据的0.05的临界应力值例: library(rJava) library(venneuler, lib.loc=D:/Program Files/R/R-3.2.1/library) #下面的例子是第二种情况,已命名的数字向量:以A,B,C命名的三个集合,A#B交集为0.1,AC交集为0.2,BC交集为0.1,ABC交集为0.1, vd - venneuler(c(A=0.3, B=0.3, C=1.1, AB=0.1, AC=0.2, BC=0.1 ,ABC=0.1)) #作图 plot(vd) #下面是第三种情况,字符矩阵,第一列为元素,第二列为元素所在的字符 m - data.frame(elements=c(1,2,2,2,3), sets=c(A,A,B,C,C)) v - venneuler(m) plot(v) #下面的例子是第四种情况,数字矩阵,先用数据框表示,后转换为矩阵。注意,个人认为,矩阵中的数字不是集合中的元素。第一行表示A集合(不包含任何其他集合)为1.5,第二行只有A

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档