I have a following data frame
a = data.frame(a=c(1,2,3,4,5,6,7),b=c(1,2,3,10,12,21,4),c=c(1,2,10,11,\"X\",\"Y\",3))
> a
a b c
1 1 1 1
2 2 2 2
3 3
Unfortunately mixedsort does not (yet) support multiple column sorting. So, you need to implement it yourself, for example like this:
a[order(sub("[0-9]+", "", a$c),
as.numeric(sub("[[:alpha:]]*([[:digit:]]*)", '\\1', a$c)),
as.numeric(a$b),
as.numeric(a$a)), ]
This first, alphanumerically sorts data.frame using a$c, and for tie situations(which actually does not exist in your data.frame 'a'), it uses a$b and a$a.
Output is:
a b c
1 1 1 1
2 2 2 2
7 7 4 3
3 3 3 10
4 4 10 11
5 5 12 X
6 6 21 Y
PS: This was written by David Winsemius in this post as a reply to a similar question.