我想在日期列上对我的数据框进行排序。我的示例数据框:
library(tidyverse)
dates <- tibble(date = c("01-01-2017", "02-03-2017", "01-02-2017", "02-01-2017", "01-03-2017"),
value = c(8, 12, 4, 14, 11))
Run Code Online (Sandbox Code Playgroud)
因此,以下内容不起作用,因为它仅在当天进行排序。
arrange(dates, date)
Run Code Online (Sandbox Code Playgroud)
根据您的评论,这里存在一个问题,日期数据类型应存储为日期,而不是字符串,这样您就可以对它们进行排序和过滤等。
当您选择输出信息时,您可以对其进行格式化并使其在人们眼中看起来很漂亮。
第一个示例将日期转换为实际日期,然后您可以按此列过滤/排序,第二个只会对其进行排序,如果您希望执行其他操作,则需要再次转换。
选项 1(好):
dates_mos <- dates %>%
mutate(date = as.Date(date, "%d-%m-%Y")) %>%
arrange(date)
Run Code Online (Sandbox Code Playgroud)
输出 1:
date value
<date> <dbl>
1 2017-01-01 8
2 2017-01-02 14
3 2017-02-01 4
4 2017-03-01 11
5 2017-03-02 12
Run Code Online (Sandbox Code Playgroud)
选项2(不太好):
dates_mos <- dates %>%
arrange(date = as.Date(date, "%d-%m-%Y"))
Run Code Online (Sandbox Code Playgroud)
输出 2:
date value
<chr> <dbl>
1 01-01-2017 8
2 02-01-2017 14
3 01-02-2017 4
4 01-03-2017 11
5 02-03-2017 12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22488 次 |
| 最近记录: |