美文网首页ggplot集锦
交并补关系展示的热图方法

交并补关系展示的热图方法

作者: 一只烟酒僧 | 来源:发表于2021-12-21 15:19 被阅读0次
    1640071127(1).png

    如上图所示,大家很多时候对于分组之间的基因交并补的展示往往第一时间想到venn或upset,其实也可以使用上述热图来展示。这样不仅可以展示出组之间的交并补情况,还可以展示交并补集合中的基因名称以及基因所处的分组(热图侧边栏),使你的图更加复杂且内容丰富。
    放一个在做这个图中一定会使用到的计算交并补的函数,可以将分组列表转化为01矩阵

    function(list_with_elements,element_name="gene"){
    require(dplyr)
      m=list_with_elements%>%do.call(c,.)%>%unique()
      b=matrix(NA,nrow = length(m),ncol = length(list_with_elements))%>%as.data.frame()
      n=data.frame(x=m)%>%cbind(.,b)
      colnames(n)<-c(element_name,names(list_with_elements))
      for (i in 2:c(length(list_with_elements)+1)) {
        n[match(list_with_elements[[i-1]],n[[element_name]]),i]=1
        n[is.na(n[[i]]),i]<-0
      }
      return(n)
      
    }
    
    

    相关文章

      网友评论

        本文标题:交并补关系展示的热图方法

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