美文网首页走进转录组
R语言画韦恩图的一个小例子~ggvenn

R语言画韦恩图的一个小例子~ggvenn

作者: 小明的数据分析笔记本 | 来源:发表于2020-10-24 10:37 被阅读0次

    韦恩图是用来展示不同组数据间交集和差异的一种可视化方法。比如我们有三组数据,分别是A,B,C。A里的数据是1,2,3。B里的数据是2,3,4。C里的数据是3,4,5,。那么AB有两个交集,BC有两个交集,AC有1个交集,ABC之间有1个交集。那么用韦恩图展示就是下面的效果

    image.png

    R语言里画韦恩图的包我目前知道的有五个,分别是

    • VennDiagram
    • ggvenn
    • ggVennDiagram
    • yyplot ggvenn()函数
    • ChIPseeker vennplot()函数

    yyplot画韦恩图可以参考 https://guangchuangyu.github.io/cn/2018/04/ggvenn/
    这个画出来的韦恩图每个圈好像是按实际数据多少的比例来画的。

    image.png

    而其他几个韦恩图画出的圈的大小都是一样的。

    ChIPseeker 画韦恩图可以参考 https://mp.weixin.qq.com/s/MqpfgkMJSFj0pYwcEjV9kQ?

    代码

    x1 <- list(A=sample(genes,300),B=sample(genes,525),C=sample(genes,440))
    BiocManager::install("ChIPseeker")
    library(ChIPseeker)
    help(package="ChIPseeker")
    install.packages("Vennerable", repos="http://R-Forge.R-project.org")
    ChIPseeker::vennplot(x1,by='Vennerable')
    
    image.png

    今天先介绍一下使用ggvenn这个包来画韦恩图的简单小例子。
    ggvenn画韦恩图接受2—4组数据,输入数据可以整理成数据框或者列表格式。我个人感觉列表格式还是相对比较好用的。

    比如先模拟生成数据

    genes <- paste("gene",1:1000,sep="")
    set.seed(20190708)
    x <- list(A=sample(genes,300),B=sample(genes,525),C=sample(genes,440),D=sample(genes,350))
    

    这个模拟生成数据的代码来自ggVennDiagram这个包的github主页 https://github.com/gaospecial/ggVennDiagram

    画图

    library(ggvenn)
    ggvenn(x,c("A","B","C","D"))
    
    image.png

    还有很多参数可以设置来修改画图的细节,比如填充颜色,颜色的透明度,线条的颜色,线条的透明度等等。具体参数可以查看帮助文档。

    image.png

    欢迎大家关注我的公众号
    小明的数据分析笔记本

    相关文章

      网友评论

        本文标题:R语言画韦恩图的一个小例子~ggvenn

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