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 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.147259109 Gene
#> 2        a   a2 0.008010744 Gene
# Equivalent to filter_relation
filter(TS, elements == "a", sets == "a")
#>   elements sets     fuzzy type
#> 1        a    a 0.1472591 Gene
filter_relation(TS, elements == "a", sets == "a")
#>   elements sets     fuzzy type
#> 1        a    a 0.1472591 Gene
# Filter element
filter_element(TS, type == "Gene")
#>   elements sets       fuzzy type
#> 1        a    a 0.147259109 Gene
#> 2        b    a 0.285212481 Gene
#> 3        c    a 0.963303758 Gene
#> 4        d    a 0.425406765 Gene
#> 5        a   a2 0.008010744 Gene
#> 6        b   a2 0.139742932 Gene
#> 7        c   a2 0.225657235 Gene
#> 8        d   a2 0.397530537 Gene
# Filter sets and by property of elements simultaneously
filter(TS, sets == "b", type == "lncRNA")
#>   elements sets     fuzzy   type
#> 1        f    b 0.4338967 lncRNA
# Filter sets
filter_set(TS, sets == "b")
#>   elements sets     fuzzy   type
#> 1        f    b 0.4338967 lncRNA