Skip to contents

Use filter to subset the TidySet object. You can use activate with filter or use the specific function. The S3 method filters using all the information on the TidySet.

Usage

# S3 method for class 'TidySet'
filter(.data, ...)

filter_set(.data, ...)

filter_element(.data, ...)

filter_relation(.data, ...)

Arguments

.data

The TidySet object.

...

The logical predicates in terms of the variables of the sets.

Value

A TidySet object.

Examples

relations <- data.frame(
    sets = c(rep("a", 5), "b", rep("a2", 5), "b2"),
    elements = rep(letters[seq_len(6)], 2),
    fuzzy = runif(12),
    type = c(rep("Gene", 4), rep("lncRNA", 2))
)
TS <- tidySet(relations)
TS <- move_to(TS, from = "relations", to = "elements", column = "type")
filter(TS, elements == "a")
#>   elements sets      fuzzy type
#> 1        a    a 0.85657500 Gene
#> 2        a   a2 0.04461716 Gene
# Equivalent to filter_relation
filter(TS, elements == "a", sets == "a")
#>   elements sets    fuzzy type
#> 1        a    a 0.856575 Gene
filter_relation(TS, elements == "a", sets == "a")
#>   elements sets    fuzzy type
#> 1        a    a 0.856575 Gene
# Filter element
filter_element(TS, type == "Gene")
#>   elements sets      fuzzy type
#> 1        a    a 0.85657500 Gene
#> 2        b    a 0.92654645 Gene
#> 3        c    a 0.55237759 Gene
#> 4        d    a 0.57706569 Gene
#> 5        a   a2 0.04461716 Gene
#> 6        b   a2 0.90985456 Gene
#> 7        c   a2 0.07068122 Gene
#> 8        d   a2 0.99689147 Gene
# Filter sets and by property of elements simultaneously
filter(TS, sets == "b", type == "lncRNA")
#>   elements sets     fuzzy   type
#> 1        f    b 0.2447182 lncRNA
# Filter sets
filter_set(TS, sets == "b")
#>   elements sets     fuzzy   type
#> 1        f    b 0.2447182 lncRNA