Rが実行されているロケールを変更する必要があります。Windowsインストール全体(最適ではないようです)に対して、またはRセッション内で次の方法で変更します。
Sys.setlocale("LC_COLLATE", "C")
代わりに他の有効なロケール文字列を使用できます"C"
が、これにより、必要な並べ替え順序に戻ることができますletters
。
詳細についてはお読みください?locales
。
Sys.getlocale()
ロケールパラメータの現在の設定を照会する姉妹関数に注目する価値があると思います。したがって、あなたはすることができます
(locCol <- Sys.getlocale("LC_COLLATE"))
Sys.setlocale("LC_COLLATE", "lt_LT")
sort(letters)
Sys.setlocale("LC_COLLATE", locCol)
sort(letters)
Sys.getlocale("LC_COLLATE")
## giving:
> (locCol <- Sys.getlocale("LC_COLLATE"))
[1] "en_GB.UTF-8"
> Sys.setlocale("LC_COLLATE", "lt_LT")
[1] "lt_LT"
> sort(letters)
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "y" "j" "k" "l" "m" "n"
[16] "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "z"
> Sys.setlocale("LC_COLLATE", locCol)
[1] "en_GB.UTF-8"
> sort(letters)
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o"
[16] "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
> Sys.getlocale("LC_COLLATE")
[1] "en_GB.UTF-8"
もちろん、これは、devtoolsをインストールすると、@ Hadley'sAnswerwith_collate()
がやや簡潔に実行することを示しています。