Scoped verbs (_if
, _at
, _all
) have been superseded by the use of
pick()
or across()
in an existing verb. See vignette("colwise")
for
details.
The variants suffixed with _if
, _at
or _all
apply an
expression (sometimes several) to all variables within a specified
subset. This subset can contain all variables (_all
variants), a
vars()
selection (_at
variants), or variables selected with a
predicate (_if
variants).
The verbs with scoped variants are:
mutate()
,transmute()
andsummarise()
. Seesummarise_all()
.filter()
. Seefilter_all()
.group_by()
. Seegroup_by_all()
.rename()
andselect()
. Seeselect_all()
.arrange()
. Seearrange_all()
There are three kinds of scoped variants. They differ in the scope of the variable selection on which operations are applied:
Verbs suffixed with
_all()
apply an operation on all variables.Verbs suffixed with
_at()
apply an operation on a subset of variables specified with the quoting functionvars()
. This quoting function acceptstidyselect::vars_select()
helpers likestarts_with()
. Instead of avars()
selection, you can also supply an integerish vector of column positions or a character vector of column names.Verbs suffixed with
_if()
apply an operation on the subset of variables for which a predicate function returnsTRUE
. Instead of a predicate function, you can also supply a logical vector.
Arguments
- .tbl
A
tbl
object.- .funs
A function
fun
, a quosure style lambda~ fun(.)
or a list of either form.- .vars
A list of columns generated by
vars()
, a character vector of column names, a numeric vector of column positions, orNULL
.- .predicate
A predicate function to be applied to the columns or a logical vector. The variables for which
.predicate
is or returnsTRUE
are selected. This argument is passed torlang::as_function()
and thus supports quosure-style lambda functions and strings representing function names.- ...
Additional arguments for the function calls in
.funs
. These are evaluated only once, with tidy dots support.
Grouping variables
Most of these operations also apply on the grouping variables when they are part of the selection. This includes:
This is not the case for summarising and mutating variants where
operations are not applied on grouping variables. The behaviour
depends on whether the selection is implicit (all
and if
selections) or explicit (at
selections). Grouping variables
covered by explicit selections (with summarise_at()
,
mutate_at()
, and transmute_at()
) are always an error. For
implicit selections, the grouping variables are always ignored. In
this case, the level of verbosity depends on the kind of operation:
Summarising operations (
summarise_all()
andsummarise_if()
) ignore grouping variables silently because it is obvious that operations are not applied on grouping variables.On the other hand it isn't as obvious in the case of mutating operations (
mutate_all()
,mutate_if()
,transmute_all()
, andtransmute_if()
). For this reason, they issue a message indicating which grouping variables are ignored.