【问题标题】:as.Date error when converting using tryFormatsas.Date 使用 tryFormats 转换时出错
【发布时间】:2021-03-04 18:14:57
【问题描述】:

我在 RStudio 中运行这个命令:

as.Date("31.01.07", tryFormats = c("%d.%m.%y"))

我得到这个错误:

charToDate(x) 中的错误: 字符串不是标准的明确格式

当我尝试这个时:

as.Date("31.01.07", format = "%d.%m.%y")

它有效并给我这个:

[1] "2007-01-31"

我正在使用 RStududio 版本 1.2.5042 和 R 版本 3.2.3 (2015-12-10) -- “木制圣诞树”

我应该重新安装 R 还是丢弃我的电脑?

【问题讨论】:

  • 你能更新你的 R 版本吗? tryFormats 可能适用于新版本。它与R 4.0.4 as.Date("31.01.07", tryFormats = c("%d.%m.%y"))# [1] "2007-01-31" 一起工作正常
  • "... 还是扔掉我的电脑"?一个极端的选择(我知道这主要是在开玩笑)。在使用 5 年前(3.2.4,3016 年 3 月)更新并在近 4 年前停止测试的版本(3.4.0,3.4.0, 2017 年 4 月,当“r-oldrel”应该转移到 3.3.3 时......如果我正确阅读了 R 版本列表)。

标签: r rstudio as.date


【解决方案1】:

tryFormats 的添加发生在 R 3.5.0 中,如 NEWS 所示。从 OP 的帖子来看,R version3.2.3。所以,它显示一个错误

as.Date() 和 as.POSIXlt() 的字符方法比较多 灵活的 via 新参数 tryFormats 和可选:查看它们的 帮助页面。


在 Mac 上的 R 4.0.4 中,代码给出了

as.Date("31.01.07", tryFormats = c("%d.%m.%y"))
#[1] "2007-01-31"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 2017-01-01
    相关资源
    最近更新 更多