2017-06-27 3 views
1

Ich habe einen Vektor von Strings in R, die diesem Format folgen: 1:A. Also lassen Sie uns sagen, ich habe einen Vektor mit StreichernGibt es eine Möglichkeit, eine Zeichenfolge mit Zahlen in R zu sortieren?

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

ich durch diesen Vektor sortieren möchten, damit es

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

wird Gibt es eine Funktion, die in der Lage ist, R ist das? Ich habe versucht,

mixedsort(x, decreasing = FALSE) 

aus der gtools Bibliothek, aber es scheint immer noch nicht ganz gut zu funktionieren, wenn dieser Vektor skaliert wird, um den Brief B auch aufzunehmen. Irgendwelche Ideen?

+0

was Ihre Beispieldaten und erwartete Ergebnis sind, wenn der „Vektor ist verkalkt um auch den Buchstaben B einzubeziehen ". – dww

Antwort

3

Eine Option ist mixedsort

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

oder die nicht-numerischen Zeichen entfernen mit gsub und order

x[order(as.numeric(gsub("\\D+", "", x)))] 
#[1] "1:A" "2:A" "201:A" 
Verwandte Themen