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