【问题标题】:Convert character to Date and sort by Date in R [duplicate]将字符转换为日期并按R中的日期排序[重复]
【发布时间】:2019-08-05 13:58:12
【问题描述】:

我有一个 csv 文件,其日期格式如下。

date<-c("2018-08-11 03-PM","2018-02-11 05-AM","2018-08-11 01-AM")

如何将其转换为日期以便按日期和时间对其进行排序?

【问题讨论】:

  • 一旦它们的类型为Date,就可以像对任何变量进行排序一样进行排序:How to sort a data frame by date
  • 看来我无法正确设置时间并在“2018-08-11 03-PM”之前得到“2018-08-11 01-AM”。想法?
  • 解析日期和时间真的很挑剔。它可能没有正确理解“小时-上午/下午”。查看?lubridate::parse_date_time 了解您可以使用的所有不同格式代码。您可能需要花点时间才能让它正确阅读。对于时间部分,您可能需要类似:"... H-Op"

标签: r sorting date


【解决方案1】:

一条线解决方案-

date<-sort(as.Date(c("2018-08-11 03-PM","2018-02-11 05-AM","2018-08-11 01-AM")))

编辑:

您需要从时间部分中删除--

date <- stringi::stri_replace_last_fixed(date, '-', ' ')
sort(lubridate::ydm_h(date))

【讨论】:

  • 但这只显示没有时间的日期,我想写成 ` date
  • 查看以上解决方案!!
猜你喜欢
  • 2021-12-26
  • 1970-01-01
  • 2019-01-05
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多