请教一个问题,R里面对中文字符进行sort,我在不同的服务器得出的结果不同,一个是基于UTF8ToInt的结果,一个是基于拼音的结果(还没找到内置原理),我想得到后者,所以可否找到让它确定用拼音进行sort的方法?

0
已邀请:
0

marxsong 2016-10-14 回答

可以参考一下这个,可能需要看你的环境:
sessionInfo()  ##查看当前语言环境
一般如果是中文环境,则:
locale:
[1] LC_COLLATE=Chinese (Simplified)_People's Republic of China.936 
[2] LC_CTYPE=Chinese (Simplified)_People's Republic of China.936   
[3] LC_MONETARY=Chinese (Simplified)_People's Republic of China.936
[4] LC_NUMERIC=C                                                   
[5] LC_TIME=Chinese (Simplified)_People's Republic of China.936    
 
如果不是中文环境,换成中文环境:
Sys.setlocale(category = "LC_ALL", locale = "Chinese-simplified")
 
这样在中文环境下,sort就是按照中文的拼音来的:
> test<-c("一","二","三","四","五","六")
> test
[1] "一" "二" "三" "四" "五" "六"
> sort(test)
[1] "二" "六" "三" "四" "五" "一"
 
 
 

要回复问题请先登录注册