| FilterStates | R Documentation |
FilterStates R6 classAbstract class that manages adding and removing FilterState objects
and builds a subset expression.
A FilterStates object tracks all condition calls
(logical predicates that limit observations) associated with a given dataset
and composes them into a single reproducible R expression
that will assign a subset of the original data to a new variable.
This expression is hereafter referred to as subset expression.
The subset expression is constructed differently for different
classes of the underlying data object and FilterStates sub-classes.
Currently implemented for data.frame, matrix,
SummarizedExperiment, and MultiAssayExperiment.
FilterStates$new()Initializes FilterStates object by setting
dataname, and datalabel.
FilterStates$new( data, data_reactive = function(sid = "") NULL, dataname, datalabel = NULL )
data(data.frame or MultiAssayExperiment or SummarizedExperiment or matrix)
the R object which subset function is applied on.
data_reactive(function(sid))
should return an object of the same type as data object or NULL.
This object is needed for the FilterState counts being updated
on a change in filters. If function returns NULL then filtered counts are not shown.
Function has to have sid argument being a character.
dataname(character(1))
name of the dataset, used in the subset expression.
Passed to the function argument attached to this FilterStates.
datalabel(character(1)) optional
text label.
Object of class FilterStates, invisibly.
FilterStates$destroy()Destroys a FilterStates object.
FilterStates$destroy()
FilterStates$format()Returns a formatted string representing this FilterStates object.
FilterStates$format(show_all = FALSE, trim_lines = TRUE)
show_all(logical(1)) passed to format.teal_slices
trim_lines(logical(1)) passed to format.teal_slices
character(1) the formatted string
FilterStates$get_call()Filter call
Builds subset expression from condition calls generated by FilterState.
The lhs of the expression is a dataname_prefixed, where word prefixed refers to
situation when call is evaluated on elements of the original data, for example dataname[[x]].
By default dataname_prefixed = dataname and it's not alterable through class methods.
Customization of private$dataname_prefixed is done through inheriting classes.
The rhs is a call to private$fun with following arguments:
dataname_prefixed
list of logical expressions generated by FilterState objects
stored in private$state_list. Each logical predicate is combined with & operator.
Variables in these logical expressions by default are not prefixed but this can be changed
by setting private$extract_type (change in the similar way as dataname_prefixed)
Possible call outputs depending on a custom fields/options:
# default dataname <- subset(dataname, col == "x") # fun = dplyr::filter dataname <- dplyr::filter(dataname, col == "x") # fun = MultiAssayExperiment::subsetByColData; extract_type = "list" dataname <- MultiAssayExperiment::subsetByColData(dataname, dataname$col == "x") # teal_slice objects having `arg = "subset"` and `arg = "select"` dataname <- subset(dataname, subset = row_col == "x", select = col_col == "x") # dataname = dataname[[element]] dataname[[element]] <- subset(dataname[[element]], subset = col == "x")
If no filters are applied, NULL is returned to avoid no-op calls such as dataname <- dataname.
FilterStates$get_call(sid = "")
sid(character)
when specified then method returns code containing condition calls (logical predicates) of
FilterState objects which "sid" attribute is different than this sid argument.
call or NULL
FilterStates$print()Prints this FilterStates object.
FilterStates$print(...)
...additional arguments passed to format.
FilterStates$remove_filter_state()Remove one or more FilterStates from the state_list along with their UI elements.
FilterStates$remove_filter_state(state)
state(teal_slices)
specifying FilterState objects to remove;
teal_slices may contain only dataname and varname, other elements are ignored
NULL, invisibly.
FilterStates$get_filter_state()Gets reactive values from active FilterState objects.
Get active filter state from FilterState objects stored in state_list(s).
The output is a list compatible with input to self$set_filter_state.
FilterStates$get_filter_state()
Object of class teal_slices.
FilterStates$set_filter_state()Sets active FilterState objects.
FilterStates$set_filter_state(state)
state(teal_slices)
Function that raises an error.
FilterStates$clear_filter_states()Remove all FilterState objects from this FilterStates object.
FilterStates$clear_filter_states(force = FALSE)
force(logical(1))
flag specifying whether to include anchored filter states.
NULL, invisibly.
FilterStates$ui_active()shiny UI definition that stores FilterState UI elements.
Populated with elements created with renderUI in the module server.
FilterStates$ui_active(id)
id(character(1))
shiny module instance id.
shiny.tag
FilterStates$srv_active()shiny server module.
FilterStates$srv_active(id)
id(character(1))
shiny module instance id.
NULL.
FilterStates$ui_add()shiny UI module to add filter variable.
FilterStates$ui_add(id)
id(character(1))
shiny module instance id.
shiny.tag
FilterStates$srv_add()shiny server module to add filter variable.
This module controls available choices to select as a filter variable. Once selected, a variable is removed from available choices. Removing a filter variable adds it back to available choices.
FilterStates$srv_add(id)
id(character(1))
shiny module instance id.
NULL.
FilterStates$clone()The objects of this class are cloneable with this method.
FilterStates$clone(deep = FALSE)
deepWhether to make a deep clone.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.