UpSet.js Combination Modes

Samuel Gratzl

2022-07-12

UpSet.js Combination Modes

library(upsetjs)
library(tibble)
t <- tribble(
  ~set1, ~set2, ~set3,
   1,   1,   0,
   0,   0,   1,
   0,   1,   1,
   0,   0,   1,
   0,   0,   1,
   0,   1,   1,
   1,   0,   1,
   0,   1,   1,
   0,   0,   1,
   0,   0,   1,
   1,   1,   1,
   1,   0,   0,
   0,   0,   1,
   0,   1,   0,
   1,   1,   1,
   0,   1,   0,
   0,   1,   1,
   0,   1,   0,
   0,   0,   1,
   0,   0,   1
)

Intersection Mode

upsetjs() %>%
    fromDataFrame(t) %>%
    generateIntersections()
0246810121415Intersection Size02468101214Set Sizeset3: 1515set3set2: 1010set2set1: 55set1set3: 1515set3set3set3set3set2: 1010set2set2set2set2set3&set2: 66set3&set2set3&set2set3set2set1: 55set1set1set1set1set2&set1: 33set2&set1set2&set1set2set1set3&set1: 33set3&set1set3&set1set3set1set3&set2&set1: 22set3&set2&set1set3set2set1

Union Mode

upsetjs() %>%
    fromDataFrame(t) %>%
    generateUnions()
02468101214161820Intersection Size02468101214Set Sizeset3: 1515set3set2: 1010set2set1: 55set1set3&set2&set1: 2020set3&set2&set1set3set2set1set3&set2: 1919set3&set2set3&set2set3set2set3&set1: 1717set3&set1set3&set1set3set1set3: 1515set3set3set3set3set2&set1: 1212set2&set1set2&set1set2set1set2: 1010set2set2set2set2set1: 55set1set1set1set1

Distinct Intersection Mode

upsetjs() %>%
    fromDataFrame(t) %>%
    generateDistinctIntersections()
012345678Intersection Size02468101214Set Sizeset3: 1515set3set2: 1010set2set1: 55set1set3: 88set3set3set3set3set3&set2: 44set3&set2set3&set2set3set2set2: 33set2set2set2set2set3&set2&set1: 22set3&set2&set1set3set2set1set1: 11set1set1set1set1set2&set1: 11set2&set1set2&set1set2set1set3&set1: 11set3&set1set3&set1set3set1