手动排序交叉点 UpSetR

Manually order intersections UpSetR

我正在尝试用 UpSetR 手动排序我的路口,但我不知道是否可以这样做。 order.by 只允许 freqdegree,我看不到任何其他可以产生我想要的结果的参数。

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"))

左边是我实际拥有的,右边是我要复制的。

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

我刚找到 ComplexUpset 包的解决方案:

 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)