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 arrange()
sort a data frame by a
selection of variables. Like arrange()
, you can modify the
variables before ordering with the .funs
argument.
Arguments
- .tbl
A
tbl
object.- .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.- .by_group
If
TRUE
, will sort first by grouping variable. Applies to grouped data frames only.- .locale
The locale to sort character vectors in.
If
NULL
, the default, uses the"C"
locale unless thedplyr.legacy_locale
global option escape hatch is active. See the dplyr-locale help page for more details.If a single string from
stringi::stri_locale_list()
is supplied, then this will be used as the locale to sort with. For example,"en"
will sort with the American English locale. This requires the stringi package.If
"C"
is supplied, then character vectors will always be sorted in the C locale. This does not require stringi and is often much faster than supplying a locale identifier.
The C locale is not the same as English locales, such as
"en"
, particularly when it comes to data containing a mix of upper and lower case letters. This is explained in more detail on the locale help page under theDefault locale
section.- .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.
Grouping variables
The grouping variables that are part of the selection participate in the sorting of the data frame.
Examples
df <- as_tibble(mtcars)
arrange_all(df)
#> # A tibble: 32 × 11
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 10.4 8 460 215 3 5.42 17.8 0 0 3 4
#> 2 10.4 8 472 205 2.93 5.25 18.0 0 0 3 4
#> 3 13.3 8 350 245 3.73 3.84 15.4 0 0 3 4
#> 4 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 5 14.7 8 440 230 3.23 5.34 17.4 0 0 3 4
#> 6 15 8 301 335 3.54 3.57 14.6 0 1 5 8
#> 7 15.2 8 276. 180 3.07 3.78 18 0 0 3 3
#> 8 15.2 8 304 150 3.15 3.44 17.3 0 0 3 2
#> 9 15.5 8 318 150 2.76 3.52 16.9 0 0 3 2
#> 10 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4
#> # ℹ 22 more rows
# ->
arrange(df, pick(everything()))
#> # A tibble: 32 × 11
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 10.4 8 460 215 3 5.42 17.8 0 0 3 4
#> 2 10.4 8 472 205 2.93 5.25 18.0 0 0 3 4
#> 3 13.3 8 350 245 3.73 3.84 15.4 0 0 3 4
#> 4 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
#> 5 14.7 8 440 230 3.23 5.34 17.4 0 0 3 4
#> 6 15 8 301 335 3.54 3.57 14.6 0 1 5 8
#> 7 15.2 8 276. 180 3.07 3.78 18 0 0 3 3
#> 8 15.2 8 304 150 3.15 3.44 17.3 0 0 3 2
#> 9 15.5 8 318 150 2.76 3.52 16.9 0 0 3 2
#> 10 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4
#> # ℹ 22 more rows
arrange_all(df, desc)
#> # A tibble: 32 × 11
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 33.9 4 71.1 65 4.22 1.84 19.9 1 1 4 1
#> 2 32.4 4 78.7 66 4.08 2.2 19.5 1 1 4 1
#> 3 30.4 4 95.1 113 3.77 1.51 16.9 1 1 5 2
#> 4 30.4 4 75.7 52 4.93 1.62 18.5 1 1 4 2
#> 5 27.3 4 79 66 4.08 1.94 18.9 1 1 4 1
#> 6 26 4 120. 91 4.43 2.14 16.7 0 1 5 2
#> 7 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
#> 8 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 9 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 10 21.5 4 120. 97 3.7 2.46 20.0 1 0 3 1
#> # ℹ 22 more rows
# ->
arrange(df, across(everything(), desc))
#> # A tibble: 32 × 11
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 33.9 4 71.1 65 4.22 1.84 19.9 1 1 4 1
#> 2 32.4 4 78.7 66 4.08 2.2 19.5 1 1 4 1
#> 3 30.4 4 95.1 113 3.77 1.51 16.9 1 1 5 2
#> 4 30.4 4 75.7 52 4.93 1.62 18.5 1 1 4 2
#> 5 27.3 4 79 66 4.08 1.94 18.9 1 1 4 1
#> 6 26 4 120. 91 4.43 2.14 16.7 0 1 5 2
#> 7 24.4 4 147. 62 3.69 3.19 20 1 0 4 2
#> 8 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2
#> 9 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
#> 10 21.5 4 120. 97 3.7 2.46 20.0 1 0 3 1
#> # ℹ 22 more rows