R语言 如何按日期对数据框架进行排序
在这篇文章中,我们将讨论如何在R编程语言中对一个数据框架进行排序。
我们可以通过使用data.frame()函数在R中创建一个数据框架。在数据框架中,我们可以使用as.Date()函数以’%m/%d/%Y’格式创建一个日期列。
例子 :
让我们创建一个有两列日期的数据框架
# create a dataframe
data=data.frame(date=c('1/1/2021', '4/5/2021',
'2/3/2021', '11/21/2011'),
values=c(34,56,78,32))
# display
data
输出:
方法1:从基础R中使用order()
这里order()函数被用来对数据框架进行排序,R使用order()函数基于日期列,我们必须将日期列转换为日期格式,这将以升序排序。
语法:
data[order(as.Date(data$column_name, format="%m/%d/%Y")),]
其中
- data是输入的数据框架
- column_name是日期列
例子:
# create a dataframe
data = data.frame(date=c('1/1/2021', '4/5/2021',
'2/3/2021', '11/21/2011'),
values=c(34, 56, 78, 32))
# display
data[order(as.Date(data$date, format="%m/%d/%Y")), ]
输出
为了进行降序排序,我们必须使用rev()函数,该函数用于反转数据帧。
例子。
# create a dataframe
data = data.frame(date=c('1/1/2021', '4/5/2021',
'2/3/2021', '11/21/2011'),
values=c(34, 56, 78, 32))
# display
data[rev(order(as.Date(data$date, format="%m/%d/%Y"))), ]
输出 :
方法2:使用lubridate和dplyr包的函数
我们可以使用这些包,通过以下方法对数据框进行日期排序。 mdy()用于对数据框中的日期进行排序,并将以升序排序
语法:
data %>% arrange(mdy(data$column_name))
其中
- data是输入的数据框架
- column_name是日期列
例子:
# import libraries
library(lubridate)
library(dplyr)
# create a dataframe
data = data.frame(date=c('1/1/2021', '4/5/2021',
'2/3/2021', '11/21/2011'),
values=c(34, 56, 78, 32))
# display
data % > % arrange(mdy(data$date))
输出
如果我们想对数据框架中的日期进行反向排序,那么我们必须使用desc()函数。
语法。
data %>% arrange(desc(mdy(data$column_name)))
例子 :
# import libraries
library(lubridate)
library(dplyr)
# create a dataframe
data = data.frame(date=c('1/1/2021', '4/5/2021',
'2/3/2021', '11/21/2011'),
values=c(34, 56, 78, 32))
# display
data % > % arrange(desc(mdy(data$date)))
输出: