Как выполнить естественную сортировку?

Существует ли естественный вид для R?

Скажите, что у меня был символьный вектор как так:

seq.names <- c('abc21', 'abc2', 'abc1', 'abc01', 'abc4', 'abc201', '1b', '1a')

Я хотел бы отсортировать его aphanumerically, таким образом, я возвращаю это:

c('1a', '1b', 'abc1', 'abc01', 'abc2', 'abc4', 'abc21', 'abc201')

Это существует где-нибудь, или я должен начать кодировать?

21
задан Jaap 16 March 2018 в 09:04
поделиться

1 ответ

Я не думаю, что "алфавитно-цифровая сортировка" означает то, что вы думаете, что она означает.

В любом случае, похоже, что вы хотите mixedsort.

> 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"
35
ответ дан 29 November 2019 в 20:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: