UpSet.js Comparison

Samuel Gratzl

2022-07-12

UpSet.js Comparsion

# devtools::install_url("https://github.com/upsetjs/upsetjs_r/releases/latest/download/upsetjs.tar.gz")
library(upsetjs)

Load the included Game of Thrones dataset

data(got)
got
##                  Lannister Stark female male royal was.killed
## Alton Lannister          1     0      0    1     0          1
## Arya Stark               0     1      1    0     0          0
## Benjen Stark             0     1      0    1     0          1
## Bran Stark               0     1      0    1     1          0
## Brandon Stark            0     1      0    0     0          1
## Catelyn Stark            0     1      1    0     0          1
## Cersei Lannister         1     0      1    0     1          1
## Eddard Stark             0     1      0    1     0          1
## Jaime Lannister          1     0      0    1     0          1
## Jon Snow                 0     1      0    1     1          1
## Kevan Lannister          1     0      0    1     0          1
## Lancel Lannister         1     0      0    1     0          1
## Lyanna Stark             0     1      1    0     0          1
## Martyn Lannister         1     0      0    1     0          1
## Rickard Stark            0     1      0    1     0          1
## Rickon Stark             0     1      0    1     0          1
## Robb Stark               0     1      0    1     1          1
## Sansa Stark              0     1      1    0     1          0
## Tyrion Lannister         1     0      0    1     0          0
## Tywin Lannister          1     0      0    1     0          1
## Willem Lannister         1     0      0    1     0          1

UpSet Plot

upsetjs() %>%
    fromDataFrame(got) %>%
    interactiveChart()
024681012141617Intersection Size051015Set Sizewas.killed: 1717was.killedmale: 1515maleStark: 1212StarkLannister: 99Lannisterfemale: 55femaleroyal: 55royalwas.killed: 1717was.killedwas.killedwas.killedwas.killedwas.killedwas.killedwas.killedmale: 1515malemalemalemalemalemalemalewas.killed&male: 1313was.killed&malewas.killed&malewas.killed&malewas.killed&malewas.killed&malewas.killedmaleStark: 1212StarkStarkStarkStarkStarkStarkStarkLannister: 99LannisterLannisterLannisterLannisterLannisterLannisterLannisterwas.killed&Stark: 99was.killed&Starkwas.killed&Starkwas.killed&Starkwas.killed&Starkwas.killed&Starkwas.killedStarkmale&Lannister: 88male&Lannistermale&Lannistermale&Lannistermale&Lannistermale&LannistermaleLannisterwas.killed&Lannister: 88was.killed&Lannisterwas.killed&Lannisterwas.killed&Lannisterwas.killed&Lannisterwas.killed&Lannisterwas.killedLannistermale&Stark: 77male&Starkmale&Starkmale&Starkmale&Starkmale&StarkmaleStarkwas.killed&male&Lannister: 77was.killed&male&Lannisterwas.killed&male&Lannisterwas.killed&male&Lannisterwas.killed&male&Lannisterwas.killedmaleLannisterwas.killed&male&Stark: 66was.killed&male&Starkwas.killed&male&Starkwas.killed&male&Starkwas.killed&male&Starkwas.killedmaleStarkfemale: 55femalefemalefemalefemalefemalefemalefemaleroyal: 55royalroyalroyalroyalroyalroyalroyalStark&female: 44Stark&femaleStark&femaleStark&femaleStark&femaleStark&femaleStarkfemaleStark&royal: 44Stark&royalStark&royalStark&royalStark&royalStark&royalStarkroyalmale&Stark&royal: 33male&Stark&royalmale&Stark&royalmale&Stark&royalmale&Stark&royalmaleStarkroyalmale&royal: 33male&royalmale&royalmale&royalmale&royalmale&royalmaleroyalwas.killed&female: 33was.killed&femalewas.killed&femalewas.killed&femalewas.killed&femalewas.killed&femalewas.killedfemalewas.killed&royal: 33was.killed&royalwas.killed&royalwas.killed&royalwas.killed&royalwas.killed&royalwas.killedroyalfemale&royal: 22female&royalfemale&royalfemale&royalfemale&royalfemale&royalfemaleroyalwas.killed&Stark&female: 22was.killed&Stark&femalewas.killed&Stark&femalewas.killed&Stark&femalewas.killed&Stark&femalewas.killedStarkfemalewas.killed&Stark&royal: 22was.killed&Stark&royalwas.killed&Stark&royalwas.killed&Stark&royalwas.killed&Stark&royalwas.killedStarkroyalwas.killed&male&Stark&royal: 22was.killed&male&Stark&royalwas.killed&male&Stark&royalwas.killed&male&Stark&royalwas.killedmaleStarkroyalwas.killed&male&royal: 22was.killed&male&royalwas.killed&male&royalwas.killed&male&royalwas.killed&male&royalwas.killedmaleroyalLannister&female: 11Lannister&femaleLannister&femaleLannister&femaleLannister&femaleLannister&femaleLannisterfemaleLannister&female&royal: 11Lannister&female&royalLannister&female&royalLannister&female&royalLannister&female&royalLannisterfemaleroyalLannister&royal: 11Lannister&royalLannister&royalLannister&royalLannister&royalLannister&royalLannisterroyalStark&female&royal: 11Stark&female&royalStark&female&royalStark&female&royalStark&female&royalStarkfemaleroyalwas.killed&Lannister&female: 11was.killed&Lannister&femalewas.killed&Lannister&femalewas.killed&Lannister&femalewas.killed&Lannister&femalewas.killedLannisterfemalewas.killed&Lannister&female&royal: 11was.killed&Lannister&female&royalwas.killed&Lannister&female&royalwas.killed&Lannister&female&royalwas.killedLannisterfemaleroyalwas.killed&Lannister&royal: 11was.killed&Lannister&royalwas.killed&Lannister&royalwas.killed&Lannister&royalwas.killed&Lannister&royalwas.killedLannisterroyalwas.killed&female&royal: 11was.killed&female&royalwas.killed&female&royalwas.killed&female&royalwas.killed&female&royalwas.killedfemaleroyal

Venn Diagram (5 sets at most)

upsetjsVennDiagram() %>%
    fromDataFrame(got) %>%
    interactiveChart()
was.killed: 17was.killedmale: 15maleStark: 12StarkLannister: 9Lannisterfemale: 5femalewas.killed: 00male: 00Stark: 00Lannister: 00female: 00(was.killed ∩ male): 00was.killed&Stark: 11(was.killed ∩ Lannister): 00(was.killed ∩ female): 00(male ∩ Stark): 00male&Lannister: 11(male ∩ female): 00(Stark ∩ Lannister): 00Stark&female: 11(Lannister ∩ female): 00was.killed&male&Stark: 44was.killed&male&Lannister: 77(was.killed ∩ male ∩ female): 00(was.killed ∩ Stark ∩ Lannister): 00was.killed&Stark&female: 22(was.killed ∩ Lannister ∩ female): 00(male ∩ Stark ∩ Lannister): 00(male ∩ Stark ∩ female): 00(male ∩ Lannister ∩ female): 00(Stark ∩ Lannister ∩ female): 00(was.killed ∩ male ∩ Stark ∩ Lannister): 00(was.killed ∩ male ∩ Stark ∩ female): 00(was.killed ∩ male ∩ Lannister ∩ female): 00(was.killed ∩ Stark ∩ Lannister ∩ female): 00(male ∩ Stark ∩ Lannister ∩ female): 00(was.killed ∩ male ∩ Stark ∩ Lannister ∩ female): 00

Karnaugh Map

upsetjsKarnaughMap() %>%
    fromDataFrame(got) %>%
    interactiveChart()
05Intersection Sizewas.killedmaleStarkStarkLannisterLannisterfemalefemalefemalefemaleroyalroyalroyalroyalwas.killedmaleStarkStarkLannisterLannisterfemalefemalefemalefemaleroyalroyalroyalroyalwas.killed&male&Lannister: 77was.killed&male&Stark: 44was.killed&Stark&female: 22was.killed&male&Stark&royal: 22Stark&female: 11Stark&female&royal: 11male&Lannister: 11male&Stark&royal: 11was.killed&Lannister&female&royal: 11was.killed&Stark: 11