Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将日期字母转换为数字并排序_R_Date_Sorting - Fatal编程技术网

R 将日期字母转换为数字并排序

R 将日期字母转换为数字并排序,r,date,sorting,R,Date,Sorting,我的数据框中有这样的日期格式(因子格式的日期),我想排序 date<-factor (c("13DEC2016", "02JAN2016", "27APR2016")) 或者说: 02-01-2016 27-04-2016 13-12-2016 要对日期进行排序,首先需要将date的类别从factor更改为date。这可以使用base R或lubridatepackage完成 date<-factor (c(&quo

我的数据框中有这样的日期格式(因子格式的日期),我想排序

date<-factor (c("13DEC2016", "02JAN2016", "27APR2016"))
或者说:

02-01-2016  27-04-2016  13-12-2016

要对日期进行排序,首先需要将
date
的类别从factor更改为date。这可以使用base R或
lubridate
package完成

date<-factor (c("13DEC2016", "02JAN2016", "27APR2016"))
#Using base R
sorted_date <- sort(as.Date(date, '%d%b%Y'))
sorted_date
#[1] "2016-01-02" "2016-04-27" "2016-12-13"
#Using `lubridate`
sorted_date <- sort(lubridate::dmy(date))

as.Date(Date,'%d%b%Y')
给了我
NA-NA-NA
%b
依赖于区域设置。您应该将区域设置设置为英语,以便R将
DEC
JAN
等标识为月份名称。
date<-factor (c("13DEC2016", "02JAN2016", "27APR2016"))
#Using base R
sorted_date <- sort(as.Date(date, '%d%b%Y'))
sorted_date
#[1] "2016-01-02" "2016-04-27" "2016-12-13"
#Using `lubridate`
sorted_date <- sort(lubridate::dmy(date))
format(sorted_date, '%d-%b-%Y')
#[1] "02-Jan-2016" "27-Apr-2016" "13-Dec-2016"
format(sorted_date, '%d-%m-%Y')
#[1] "02-01-2016" "27-04-2016" "13-12-2016"
toupper(format(sorted_date, '%d%b%Y'))
#[1] "02JAN2016" "27APR2016" "13DEC2016"