【问题标题】:lubridate::as_datetime() fails when as.POSIXct() works?当 as.POSIXct() 工作时,lubridate::as_datetime() 失败?
【发布时间】:2020-10-08 18:54:37
【问题描述】:

有人可以解释为什么lubridate::as_datetime() 在这里失败,但as.POSIXct() 有效吗?

> as.POSIXct("2020-10-27 20:25")
[1] "2020-10-27 20:25:00 CDT"

> lubridate::as_datetime("2020-10-27 20:25")
[1] NA
Warning message:
All formats failed to parse. No formats found. 

【问题讨论】:

  • as_datetime("2020-10-27 20:25:00") 工作

标签: r datetime lubridate


【解决方案1】:

为什么一个有效而不是另一个我不知道,但你可以通过提供一个格式字符串来帮助 as_datetime() 理解输入,它指定文本字符串的格式。

lubridate::as_datetime("2020-10-27 20:25", format = "%Y-%m-%d %H:%M")

查看 as_datetime() 和 strptime() 的文档,了解如何编写格式字符串。

编辑:似乎 as_datetime 的格式参数默认为 NULL,如果提供了 format = NULL,as.Posixct() 会生成类似的错误。

as.POSIXct("2020-10-27 20:25", format = NULL)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    相关资源
    最近更新 更多