This is a method for the dplyr::arrange()
generic.
See "Fallbacks" section for differences in implementation.
arrange()
orders the rows of a data frame by the values of selected
columns.
Unlike other dplyr verbs, arrange()
largely ignores grouping; you
need to explicitly mention grouping variables (or use .by_group = TRUE
)
in order to group by them, and functions of variables are evaluated
once per data frame, not once per group.
# S3 method for duckplyr_df
arrange(.data, ..., .by_group = FALSE, .locale = NULL)
A data frame, data frame extension (e.g. a tibble), or a lazy data frame (e.g. from dbplyr or dtplyr). See Methods, below, for more details.
<data-masking
> Variables, or
functions of variables. Use desc()
to sort a variable in descending
order.
If TRUE
, will sort first by grouping variable. Applies to
grouped data frames only.
The locale to sort character vectors in.
If NULL
, the default, uses the "C"
locale unless the
dplyr.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 the Default locale
section.
There is no DuckDB translation in arrange.duckplyr_df()
with .by_group = TRUE
,
providing a value for the .locale
argument,
providing a value for the dplyr.legacy_locale
option.
These features fall back to dplyr::arrange()
, see vignette("fallback")
for details.
library(duckplyr)
arrange(mtcars, cyl, disp)
arrange(mtcars, desc(disp))
Run the code above in your browser using DataLab