Clause for subsetting rows.

where(.data, ...)

# S3 method for ExprBuilder
where(.data, ..., which, .collapse = `&`,
  .parse = getOption("table.express.parse", FALSE),
  .chain = getOption("table.express.chain", TRUE))

# S3 method for data.table
where(.data, ...)

Arguments

.data

The input data.

...

Arguments for the specific methods.

which

Passed to data.table::data.table.

.collapse

A boolean function which will be used to "concatenate" all conditions in ....

.parse

Logical. Whether to apply rlang::parse_expr() to obtain the expressions.

.chain

Logical. Should a new frame be automatically chained to the expression if the clause being set already exists?

Details

For ExprBuilder, the expressions in ... can call nest_expr(), and are eagerly nested if they do.

The data.table::data.table method is lazy, so it expects another verb to follow afterwards.

To see more examples, check the vignette, or the table.express-package entry.

Examples

data("mtcars") data.table::as.data.table(mtcars) %>% start_expr %>% where(vs == 0, am == 1)
#> .DT_[vs == 0 & am == 1]
data.table::as.data.table(mtcars) %>% where(vs == 0) %>% transmute(mpg = round(mpg))
#> mpg #> 1: 21 #> 2: 21 #> 3: 19 #> 4: 14 #> 5: 16 #> 6: 17 #> 7: 15 #> 8: 10 #> 9: 10 #> 10: 15 #> 11: 16 #> 12: 15 #> 13: 13 #> 14: 19 #> 15: 26 #> 16: 16 #> 17: 20 #> 18: 15