2017-06-27 106 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" 
相關問題