Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在linux上根据Windows-1252进行R字符排序_R_Sorting_Locale_Collate - Fatal编程技术网

在linux上根据Windows-1252进行R字符排序

在linux上根据Windows-1252进行R字符排序,r,sorting,locale,collate,R,Sorting,Locale,Collate,问题: 我需要在我的linux(ubuntu)机器上对字符串向量进行排序,排序方式与在另一台windows机器上使用windows-1252 locale collate进行排序的方式相同 在windows上,它的工作原理如下: >顺序(c(“A”、“A”、“0”、“_”、“/”) [1] 5 4 3 2 1 在ubuntu 20.4上,它的工作原理如下: >顺序(c(“A”、“A”、“0”、“_”、“/”) [1] 4 5 3 2 1 更多信息: windows计算机上的区域设置如下所示:

问题:

我需要在我的linux(ubuntu)机器上对字符串向量进行排序,排序方式与在另一台windows机器上使用windows-1252 locale collate进行排序的方式相同

在windows上,它的工作原理如下:

>顺序(c(“A”、“A”、“0”、“_”、“/”)
[1] 5 4 3 2 1
在ubuntu 20.4上,它的工作原理如下:

>顺序(c(“A”、“A”、“0”、“_”、“/”)
[1] 4 5 3 2 1
更多信息: windows计算机上的区域设置如下所示:

>Sys.getlocale()
[1] “LC\U COLLATE=英国\美国。1252;LC\U CTYPE=英国\美国。1252;LC\货币=英国\美国。1252;LC\数字=C;LC\时间=英国\美国。1252”
我已经尝试在linux机器上将locale设置为en_US.CP1252,但排序没有改变:

>Sys.getlocale()
[1] “LC_CTYPE=en_US.CP1252;LC_NUMERIC=C;LC_TIME=en_.CP1252;LC_COLLATE=en_.CP1252;LC_MONETARY=en_.CP1252;LC_MESSAGES=en_.CP1252;LC_PAPER=en_.CP1252;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_.CP1252;LC_IDENTIFICATION=C”
我还尝试将所需的排序规则传递给str_order函数,但没有成功:

> str_order(c("A", "a", "0", "_", "/"), locale = "en")
[1] 4 5 3 2 1
排序时是否有强制排序规则的本机方法?如果没有,我如何编写自己的分类器/比较器? 谢谢大家!