pr <- PowerRelation(list(
list(c(1,2,3)),
list(c(1, 2), 2, 3),
list(c(2, 3), c()),
list(c(1, 3)),
list(1)
))
pr
# 123 > (12 ~ 2 ~ 3) > (23 ~ {}) > 13 > 1
stopifnot(pr$elements == 1:3)
stopifnot(pr$coalitionLookup(1) == 5)
stopifnot(pr$coalitionLookup(c()) == 3)
stopifnot(pr$coalitionLookup(c(1,2)) == 2)
# find coalitions an element appears in
for(t in pr$elementLookup(2)) {
stopifnot(2 %in% pr$eqs[[t[1]]][[t[2]]])
}
# use createPowerset to help generate a valid function call
if(interactive())
createPowerset(letters[1:3], result = "copy")
# pasted, rearranged using alt+up / alt+down in RStudio
# note that the function call looks different if elements are multiple characters long
if(interactive())
createPowerset(c("apple", "banana", "chocolate"), result = "copy")
# pasted clipboard
PowerRelation(rlang::list2(
list(c("banana", "chocolate")),
list(c("apple"),
c("chocolate")),
list(c("banana")),
list(c()),
list(c("apple", "banana", "chocolate"),
c("apple", "banana"),
c("apple", "chocolate")),
))
# {banana, chocolate} > ({apple} ~ {chocolate}) > {banana} > {} > ...
Run the code above in your browser using DataLab