This function finds a permutation which rearranges the strings in a given character vector into the ascending or descending locale-dependent lexicographic order.
stri_order(str, decreasing = FALSE, na_last = TRUE, ..., opts_collator = NULL)
a character vector
a single logical value; should the sort order
be nondecreasing (FALSE
, default)
or nonincreasing (TRUE
)?
a single logical value; controls the treatment of NA
s
in str
. If TRUE
, then missing values in str
are put
at the end; if FALSE
, they are put at the beginning;
if NA
, then they are removed from the output
additional settings for opts_collator
a named list with ICU Collator's options,
see stri_opts_collator
, NULL
for default collation options
The function yields an integer vector that gives the sort order.
For more information on ICU's Collator and how to tune it up
in stringi, refer to stri_opts_collator
.
As usual in stringi, non-character inputs are coerced to strings, see an example below for a perhaps non-intuitive behavior of lexicographic sorting on numeric inputs.
This function uses a stable sort algorithm (STL's stable_sort
),
which performs up to str
.
Collation - ICU User Guide, http://userguide.icu-project.org/collation
Other locale_sensitive:
%s<%()
,
about_locale
,
about_search_boundaries
,
about_search_coll
,
stri_compare()
,
stri_count_boundaries()
,
stri_duplicated()
,
stri_enc_detect2()
,
stri_extract_all_boundaries()
,
stri_locate_all_boundaries()
,
stri_opts_collator()
,
stri_sort_key()
,
stri_sort()
,
stri_split_boundaries()
,
stri_trans_tolower()
,
stri_unique()
,
stri_wrap()
# NOT RUN {
stri_order(c('hladny', 'chladny'), locale='pl_PL')
stri_order(c('hladny', 'chladny'), locale='sk_SK')
stri_order(c(1, 100, 2, 101, 11, 10))
stri_order(c(1, 100, 2, 101, 11, 10), numeric=TRUE)
# }
Run the code above in your browser using DataLab