From a given list of character vectors, remove those elements that are not valid conditions.
Details
A valid condition is a character vector of predicates, where each predicate
corresponds to a column name in the supplied data frame or matrix. Empty
character vectors and NULL
elements are also considered valid conditions.
This function acts as a simple filter around is_condition()
. It checks
each element of x
against the column names of data
and removes those
that contain invalid predicates. The result preserves only valid conditions
and discards the invalid ones.
Examples
d <- data.frame(foo = 1:5, bar = 1:5, blah = 1:5)
conds <- list(c("foo", "bar"), "blah", "invalid", character(0), NULL)
remove_ill_conditions(conds, d)
#> [[1]]
#> [1] "foo" "bar"
#>
#> [[2]]
#> [1] "blah"
#>
#> [[3]]
#> character(0)
#>
#> [[4]]
#> NULL
#>
# keeps "foo","bar"; "blah"; empty; NULL