2017-06-27 72 views
1

我有一个R的字符串向量,遵循这种格式:​​。所以我们可以说我有一个字符串有没有办法对R中有数字的字符串进行排序?

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

我想通过这个载体来进行排序,以便它成为

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

是否有一个功能是能够在这个R A载体?我曾尝试

mixedsort(x, decreasing = FALSE) 

gtools库,但似乎仍然没有完全很好地工作时,这个向量被放大到包括信B为好。有任何想法吗?

+0

你有什么示例数据和预期的结果时,“矢量被放大也包括字母B“。 – dww

回答

3

一种选择是mixedsort

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

或用gsub删除非数字字符和order

x[order(as.numeric(gsub("\\D+", "", x)))] 
#[1] "1:A" "2:A" "201:A" 
相关问题