Scoped verbs (_if, _at, _all) have been superseded by the use of pick() or across() in an existing verb. See vignette("colwise") for details.
These scoped variants of distinct() extract distinct rows by a selection of variables. Like distinct(), you can modify the variables before ordering with the .funs argument.
.funs: A function fun, a quosure style lambda ~ fun(.) or a list of either form.
...: Additional arguments for the function calls in .funs. These are evaluated only once, with tidy dots support.
.keep_all: If TRUE, keep all variables in .data. If a combination of ... is not distinct, this keeps the first row of values.
.vars: A list of columns generated by vars(), a character vector of column names, a numeric vector of column positions, or NULL.
.predicate: A predicate function to be applied to the columns or a logical vector. The variables for which .predicate is or returns TRUE are selected. This argument is passed to rlang::as_function() and thus supports quosure-style lambda functions and strings representing function names.
Grouping variables
The grouping variables that are part of the selection are taken into account to determine distinct rows.
Examples
df <- tibble(x = rep(2:5, each =2)/2, y = rep(2:3, each =4)/2)distinct_all(df)# ->distinct(df, pick(everything()))distinct_at(df, vars(x,y))# ->distinct(df, pick(x, y))distinct_if(df, is.numeric)# ->distinct(df, pick(where(is.numeric)))# You can supply a function that will be applied before extracting the distinct values# The variables of the sorted tibble keep their original values.distinct_all(df, round)# ->distinct(df, across(everything(), round))