如何在 r 中按日期对数据框进行排序(带有示例)
在 R 中按日期对数据框进行排序有两种简单的方法:
方法1:来自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 "))),]
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)))
本教程展示了如何在实践中使用每种方法的示例。
方法 1:使用 R 库中的 order()
在 R 中按日期变量对数据框进行排序的最简单方法是使用 R 基本order()函数。下面的代码展示了如何在实际中使用这个函数:
#create and view data frame df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'), sales=c(3, 15, 14, 9)) df dirty dates 1 10/30/2021 3 2 11/18/2021 15 3 11/13/2021 14 4 11/19/2021 9 #sort from least recent to most recent df[ order ( as.Date (df$date, format=" %m/%d/%Y ")),] dirty dates 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 "))),] dirty date 4 11/19/2021 9 2 11/18/2021 15 3 11/13/2021 14 1 10/30/2021 3
方法 2:使用 Lubridate 和 Dplyr
按日期变量对数据框进行排序的更快方法是使用 lubridate 和 dplyr 包中的函数。下面的代码展示了如何在实践中使用这些函数:
#create and view data frame df <- data.frame(date=c('10/30/2021', '11/18/2021', '11/13/2021', '11/19/2021'), sales=c(3, 15, 14, 9)) df dirty date 1 10/30/2021 3 2 11/18/2021 15 3 11/13/2021 14 4 11/19/2021 9 #sort from least recent to most recent df %>% arrange ( mdy (df$date)) dirty date 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))) dirty date 1 11/19/2021 9 2 11/18/2021 15 3 11/13/2021 14 4 10/30/2021 3
请注意,我们使用 lubridate 来指定mdy()格式的日期,但如果您的日期采用不同的格式,您可以参考此备忘单来查看其他日期格式。