Skip to contents

Use complement to find elements or sets the TidySet object. You can use activate with complement or use the specific function. You must specify if you want the complements of sets or elements.

Usage

complement(.data, ...)

Arguments

.data

The TidySet object

...

Other arguments passed to either complement_set() or complement_element().

Value

A TidySet object

Examples

rel <- data.frame(
    sets = c("A", "A", "B", "B", "C", "C"),
    elements = letters[seq_len(6)],
    fuzzy = runif(6)
)
TS <- tidySet(rel)
TS |>
    activate("elements") |>
    complement("a")
#>   elements sets     fuzzy
#> 1        a    A 0.2900502
#> 2        b    A 0.4800752
#> 3        c    B 0.9200055
#> 4        d    B 0.4007202
#> 5        e    C 0.2131727
#> 6        f    C 0.6717668
#> 7        a   ∁a 0.7099498
TS |>
    activate("elements") |>
    complement("a", "C_a", keep = FALSE)
#>   elements sets     fuzzy
#> 1        a  C_a 0.7099498
TS |>
    activate("set") |>
    complement("A")
#>   elements sets     fuzzy
#> 1        a    A 0.2900502
#> 2        b    A 0.4800752
#> 3        c    B 0.9200055
#> 4        d    B 0.4007202
#> 5        e    C 0.2131727
#> 6        f    C 0.6717668
#> 7        a   ∁A 0.7099498
#> 8        b   ∁A 0.5199248
TS |>
    activate("set") |>
    complement("A", keep = FALSE)
#>   elements sets     fuzzy
#> 1        a   ∁A 0.7099498
#> 2        b   ∁A 0.5199248
TS |>
    activate("set") |>
    complement("A", FUN = function(x){abs(x - 0.2)}, keep = FALSE)
#>   elements sets      fuzzy
#> 1        a   ∁A 0.09005016
#> 2        b   ∁A 0.28007517