Managing FilteredData states
filter_state_api.RdUsage
set_filter_state(datasets, filter)
get_filter_state(datasets)
remove_filter_state(datasets, filter)
clear_filter_states(datasets, force = FALSE)Arguments
- datasets
(
FilteredData)
object to store filter state and filtered datasets, shared across modules
seeFilteredDatafor details- filter
(
teal_slices)
specify filters in place on app start-up- force
(
logical(1))
include locked filter states
Value
set_*,remove_*andclear_filter_statereturnNULLinvisiblyget_filter_statereturns a namedteal_slicesobject containing ateal_slicefor every existingFilterState
Examples
utils::data(miniACC, package = "MultiAssayExperiment")
datasets <- init_filtered_data(
x = list(
iris = list(dataset = iris),
mae = list(dataset = miniACC)
)
)
fs <- teal_slices(
teal_slice(dataname = "iris", varname = "Species", selected = c("setosa", "versicolor")),
teal_slice(dataname = "iris", varname = "Sepal.Length", selected = c(5.1, 6.4)),
teal_slice(
dataname = "mae", varname = "years_to_birth", selected = c(30, 50),
keep_na = TRUE, keep_inf = FALSE
),
teal_slice(
dataname = "mae", varname = "vital_status", selected = "1",
keep_na = FALSE
),
teal_slice(
dataname = "mae", varname = "gender", selected = "female",
keep_na = TRUE
),
teal_slice(
dataname = "mae", varname = "ARRAY_TYPE", selected = "",
keep_na = TRUE, experiment = "RPPAArray", arg = "subset"
)
)
# set initial filter state
set_filter_state(datasets, filter = fs)
# get filter state
get_filter_state(datasets)
#> {
#> "slices": [
#> {
#> "dataname" : "iris",
#> "varname" : "Species",
#> "id" : "iris Species",
#> "choices" : ["setosa", "versicolor", "virgin...
#> "selected" : ["setosa", "versicolor"],
#> "fixed" : false,
#> "anchored" : false,
#> "multiple" : true
#> },
#> {
#> "dataname" : "iris",
#> "varname" : "Sepal.Length",
#> "id" : "iris Sepal.Length",
#> "choices" : [4.2999999999999998, 7.900000000...
#> "selected" : [5.0999999999999996, 6.400000000...
#> "fixed" : false,
#> "anchored" : false,
#> "multiple" : true
#> },
#> {
#> "dataname" : "mae",
#> "varname" : "years_to_birth",
#> "id" : "mae years_to_birth",
#> "choices" : [14, 83],
#> "selected" : [30, 50],
#> "keep_na" : true,
#> "keep_inf" : false,
#> "fixed" : false,
#> "anchored" : false,
#> "multiple" : true
#> },
#> {
#> "dataname" : "mae",
#> "varname" : "vital_status",
#> "id" : "mae vital_status",
#> "choices" : ["0", "1"],
#> "selected" : ["1"],
#> "keep_na" : false,
#> "fixed" : false,
#> "anchored" : false,
#> "multiple" : true
#> },
#> {
#> "dataname" : "mae",
#> "varname" : "gender",
#> "id" : "mae gender",
#> "choices" : ["female", "male"],
#> "selected" : ["female"],
#> "keep_na" : true,
#> "fixed" : false,
#> "anchored" : false,
#> "multiple" : true
#> },
#> {
#> "dataname" : "mae",
#> "varname" : "ARRAY_TYPE",
#> "id" : "mae ARRAY_TYPE RPPAArray subset..
#> "choices" : ["", "protein_level"],
#> "selected" : [""],
#> "keep_na" : true,
#> "fixed" : false,
#> "anchored" : false,
#> "multiple" : true,
#> "experiment" : "RPPAArray",
#> "arg" : "subset"
#> }
#> ],
#> "attributes": {
#> "include_varnames" : {
#> "iris" : ["Sepal.Length", "Sepal.Width", ...
#> "mae" : ["patientID", "years_to_birth", ...
#> },
#> "count_type" : "none",
#> "allow_add" : true
#> }
#> }
# modify filter state
set_filter_state(
datasets,
teal_slices(
teal_slice(dataname = "iris", varname = "Species", selected = "setosa", keep_na = TRUE)
)
)
# remove specific filters
remove_filter_state(
datasets,
teal_slices(
teal_slice(dataname = "iris", varname = "Species"),
teal_slice(dataname = "mae", varname = "years_to_birth"),
teal_slice(dataname = "mae", varname = "vital_status")
)
)
# remove all states
clear_filter_states(datasets)