【发布时间】:2021-06-01 09:18:13
【问题描述】:
我有以下数据框,想订购。
time <- c ("Feb (2019)", "Apr (2019)", "Jun (2019)" ,"Aug (2019)", "Oct (2019)", "Dec (2019)", "Feb (2020)" "Apr (2020)", "Jun (2020)", "Aug (2020)", "Oct (2020)", "Dec (2020)", "Jan (2019)", "Mar (2019)", "May (2019)", "Jul (2019)", "Sep (2019)", "Nov (2019)", "Jan (2020)", "Mar (2020)", "May (2020)", "Jul (2020)" "Sep (2020)", "Nov (2020)", "Jan (2021)")
为此,我使用以下代码
library(lubridate)
time <- gsub("[()]", "", time)
time <- (my(time))
time <- as.data.frame(as.integer(gsub("[-]", "", time)))
arrange(time)
很遗憾,我没有得到我想要的结果:
1 20190201
2 20190401
3 20190601
4 20190801
5 20191001
6 20191201
7 20200201
8 20200401
9 20200601
10 20200801
11 20201001
12 20201201
13 20190101
14 20190301
15 20190501
16 20190701
17 20190901
18 20191101
19 20200101
20 20200301
21 20200501
22 20200701
23 20200901
24 20201101
25 20210101
我尝试了各种方法,但没有任何效果。非常感谢您的建议!
【问题讨论】:
-
sort(strptime(sprintf("01 %s",time), "%d %b (%Y)"))