首页 > 解决方案 > 手动排序交叉点 UpSetR

问题描述

我正在尝试手动订购我的交叉点,UpSetR但我不知道是否可以这样做。order.by只允许freqordegree并且我看不到任何其他可以产生我想要的参数。

a <- list(one = c(1, 2, 3, 5,11,19), 
          two = c(1, 2, 4, 5, 11, 13), 
          three = c(1, 5, 6, 7, 11, 19),
          four = c(1, 5, 6, 8, 13, 19))
upset(fromList(a), sets = c("one", "two", "three", "four"))

左边是我实际拥有的,右边是我想要复制的。 在此处输入图像描述

有谁知道这是否可能?谢谢。

标签: rupsetr

解决方案


我刚刚找到了ComplexUpsetpackage 的解决方案:

 if(!require(devtools)) install.packages("devtools")
devtools::install_github("krassowski/complex-upset") 


upset(a,colnames(a),intersections=list(c("one"),c("one","two"),c("one","two","three","four"),c("one","three","four"),c("one","two","three"),c("three"),c("two"),c("four"),c("three","four"),c("two","four")),sort_intersections=FALSE)

推荐阅读