Home Â» How to Sort a Data Frame by Date in R (With Examples)

# How to Sort a Data Frame by Date in R (With Examples)

There are two easy ways to sort a data frame by date in R:

Method 1: User order() from base R

```#sort from least recent to most recent
df[order(as.Date(df\$date, format="%m/%d/%Y")),]

#sort from most recent to least recent
df[rev(order(as.Date(df\$date, format="%m/%d/%Y"))),]
```

Method 2: Use functions from the lubridate and dplyr packages

```library(lubridate)
library(dplyr)

#sort from least recent to most recent
df %>% arrange(mdy(df\$date))

#sort from most recent to least recent
df %>% arrange(desc(mdy(df\$date)))
```

This tutorial shows an example of how to use each of these methods in practice.

### Method 1: Use order() from base R

The most basic way to sort a data frame by a date variable in R is to use theÂ order() function from base R. The following code shows how to use this function in practice:

```#create and view data frame
df

#sort from least recent to most recent
df[order(as.Date(df\$date, format="%m/%d/%Y")),]

date sales
1 10/30/2021     3
3 11/13/2021    14
2 11/18/2021    15
4 11/19/2021     9
#sort from most recent to least recent
df[rev(order(as.Date(df\$date, format="%m/%d/%Y"))),]

date sales
4 11/19/2021     9
2 11/18/2021    15
3 11/13/2021    14
1 10/30/2021     3
```

### Method 2: Use lubridate and dplyr

A faster way to sort a data frame by a date variable is to use functions from the lubridate and dplyr packages. The following code shows how to use these functions in practice:

```#create and view data frame
df

#sort from least recent to most recent
df %>% arrange(mdy(df\$date))

date sales
1 10/30/2021     3
2 11/13/2021    14
3 11/18/2021    15
4 11/19/2021     9

#sort from most recent to least recent
df %>% arrange(desc(mdy(df\$date)))

date sales
1 11/19/2021     9
2 11/18/2021    15
3 11/13/2021    14
4 10/30/2021     3```

Note that we used lubridate to specify the date as aÂ mdy() format, but you can refer to this cheat sheet to see other date formats if your date happens to be in a different format.