有没有办法对R中有数字的字符串进行排序?

时间:2017-06-27 17:40:22

标签: r string sorting

我在R中有一个字符串向量,它遵循以下格式:1:A。所以,让我说我有一个带字符串的向量

x = c("1:A", "201:A", "2:A") 

我想对此向量进行排序,使其变为

["1:A" "2:A" "201:A"]

R中是否有能够实现此功能的功能?我试过了

mixedsort(x, decreasing = FALSE) 
来自gtools库的

,但是当此向量按比例放大以包含字母B时,它似乎仍然无法正常工作。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

一个选项是mixedsort

library(gtools)
mixedsort(x)
#[1] "1:A"   "2:A"   "201:A"

或者使用gsuborder

删除非数字字符
x[order(as.numeric(gsub("\\D+", "", x)))]
#[1] "1:A"   "2:A"   "201:A"