1

I have string vector like:

 > all.files
 [1] "./freq_1.txt"  "./freq_10.txt" "./freq_11.txt" "./freq_12.txt"
 [5] "./freq_13.txt" "./freq_14.txt" "./freq_15.txt" "./freq_16.txt"
 [9] "./freq_17.txt" "./freq_18.txt" "./freq_19.txt" "./freq_2.txt" 
 [13] "./freq_20.txt" "./freq_21.txt" "./freq_22.txt" "./freq_23.txt"
 [17] "./freq_24.txt" "./freq_25.txt" "./freq_26.txt" "./freq_27.txt"
 [21] "./freq_28.txt" "./freq_29.txt" "./freq_3.txt"  "./freq_30.txt"
 [25] "./freq_4.txt"  "./freq_5.txt"  "./freq_6.txt"  "./freq_7.txt" 
 [29] "./freq_8.txt"  "./freq_9.txt"

Now how can I sort this vector as

 "./freq_1.txt" "./freq_2.txt" "./freq_3.txt" ....
FatihAkici
  • 4,679
  • 2
  • 31
  • 48
dawei
  • 57
  • 1
  • 7

1 Answers1

3

You could do something like this:

no <- gsub("[^0-9]", "", all.files) # remove everything except 0-9
no <- as.numeric(no)
all.files[order(no)]  # sort by numeric component
lebatsnok
  • 6,329
  • 2
  • 21
  • 22