5
大文字小文字を考慮して文字ベクトルを並べ替えるための組み込み機能はありますか? sort
とorder
ケースを無視:文字列をソートする際に大文字小文字を無視しないでください
tv <- c("a", "A", "ab", "B")
sort(tv)
## [1] "a" "A" "ab" "B"
は、これはこれまでのところ私のソリューションです:
Sys.setlocale(, "C")
sort(tv)
# [1] "A" "B" "a" "ab"
EDIT:
CAPS <- grep("^[A-Z]", tv)
c(sort(tv[CAPS]), sort(tv[-CAPS]))
## [1] "A" "B" "a" "ab"
私は全く逆の問題を抱えていた、つまり、私のデフォルトのLC_COLLATEは "C"で、大文字と小文字を区別しない順序付けを使いたいと思っていました。インストールされているロケールを試してみて、Sys.setlocale( "LC_COLLATE"、 "eu_ES.iso88591")で3行目を置き換えてみると、何も見つかりませんでした。それは間違っていると確信しています。それを行う正しい方法は何ですか? –
もっと良い方法は 'stringr :: str_sort'を使うことです。ロケールを割り当てることで一貫した結果が得られます。 – dracodoc