本文介绍了如何在 R 中执行自然(词典)排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有针对 R 的自然排序?
假设我有一个像这样的字符向量:
Say I had a character vector like so:
seq.names <- c('abc21', 'abc2', 'abc1', 'abc01', 'abc4', 'abc201', '1b', '1a')
我想按字母数字排序,所以我得到这个:
I'd like to sort it aphanumerically, so I get back this:
c('1a', '1b', 'abc1', 'abc01', 'abc2', 'abc4', 'abc21', 'abc201')
这是否存在于某处,还是我应该开始编码?
Does this exist somewhere, or should I start coding?
推荐答案
我不认为字母数字排序"意思是你认为的意思.
I don't think "alphanumeric sort" means what you think it means.
无论如何,看起来你想要混合排序,gtools的一部分.
In any case, looks like you want mixedsort, part of gtools.
> install.packages('gtools')
[...]
> require('gtools')
Loading required package: gtools
> n
[1] "abc21" "abc2" "abc1" "abc01" "abc4" "abc201" "1b" "1a"
> mixedsort(n)
[1] "1a" "1b" "abc1" "abc01" "abc2" "abc4" "abc21" "abc201"
这篇关于如何在 R 中执行自然(词典)排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!