2017-06-27 11 views
1

私はこの形式に従うRの文字列のベクトルを持っています:​​。それでは、私はそれがRで数値を持つ文字列をソートする方法はありますか?

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

になるように、このベクトルを分類したい文字列

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

とのベクトルがRで、このことのできる機能があります持っているとしましょうか?私はgtoolsライブラリから

mixedsort(x, decreasing = FALSE) 

を試してみましたが、このベクトルは、同様の手紙Bを含めるようにスケールアップされたとき、まだ完全には非常にうまく動作するようには思えません。何か案は?

+0

です文字Bを含めることもできます "。 – dww

答えて

3

1つのオプションは、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" 
関連する問題