Search code examples
rdate-formatting

Order dataframe chronologically based on dates which are formatted %d/%m/%Y


I have some data that has to be formatted as (%d/%m/%Y). The data is out of chronological order because it is sorted by the first number which is the day, not the month.

I'm hoping I can specify to order or reorder that I want the sorting to happen differently. I'm just not sure how to do this.

Here is some date data to be ordered:

date
1/1/2009  
1/1/2010
1/1/2011
5/4/2009
5/4/2011
10/2/2009
10/3/2011
15/9/2010
15/3/2009
31/12/2011
31/7/2009

Thanks for any suggestions.


Solution

  • When order by column date convert it Date format.

    df[order(as.Date(df$date,format="%d/%m/%Y")),,drop=FALSE]
             date
    1    1/1/2009
    6   10/2/2009
    9   15/3/2009
    4    5/4/2009
    11  31/7/2009
    2    1/1/2010
    8   15/9/2010
    3    1/1/2011
    7   10/3/2011
    5    5/4/2011
    10 31/12/2011