stri_order {stringi} | R Documentation

## Ordering Permutation and Sorting

### Description

stri_order determines a permutation which rearranges strings into an ascending or descending order. stri_sort sorts the vector according to a lexicographic order.

### Usage

    stri_order(str, decreasing = FALSE, na_last = TRUE, ...,
      opts_collator = NULL)

    stri_sort(str, decreasing = FALSE, na_last = NA, ...,
      opts_collator = NULL)

### Arguments

`str` | a character vector
`decreasing` | a single logical value; should the sort order be nondecreasing (`FALSE`, default) or nonincreasing (`TRUE`)?
`na_last` | 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`
`opts_collator` | a named list with ICU Collator's options as generated with `stri_opts_collator`, `NULL` for default collation options

### Details

For more information on ICU's Collator and how to tune it up in stringi, refer to `stri_opts_collator`.

These functions use a stable sort algorithm (STL's stable_sort), which performs up to N*log^2(N) element comparisons, where N is the length of `str`.

Interestingly, our benchmarks indicate that `stri_order` is most often faster that R's `order`.

### Value

For `stri_order`, an integer vector that gives the sort order is returned.

For `stri_order`, you get a sorted version of `str`, i.e. a character vector.

### References

Collation - ICU User Guide, http://userguide.icu-project.org/collation

### See Also

Other locale_sensitive: `%s<%`, `stri_compare`, `stri_count_boundaries`, `stri_duplicated`, `stri_enc_detect2`, `stri_extract_all_boundaries`, `stri_locate_all_boundaries`, `stri_opts_collator`, `stri_split_boundaries`, `stri_trans_tolower`, `stri_unique`, `stri_wrap`, `stringi-locale`, `stringi-search-boundaries`, `stringi-search-coll`

### Examples

    stri_sort(c("hladny", "chladny"), locale="pl_PL")

    stri_sort(c("hladny", "chladny"), locale="sk_SK")

[Package stringi version 1.1.1 Index]