【问题标题】:I'm getting NA errors when I switch around the order of format in the as.date function in R当我在 R 中的 as.date 函数中切换格式顺序时出现 NA 错误
【发布时间】:2016-04-13 17:40:09
【问题描述】:

我正在使用下面的代码来尝试更改从 CSV 文件导入的文件的日期格式。它工作正常并返回像“2013-09-21”这样的日期。但是,我希望它返回 2013 年 9 月 21 日。我尝试将格式更改为 Y/d/m,但它返回所有 NA。我怎样才能解决这个问题?

web <- read.csv("Web.csv", header = TRUE)
as.Date(web$CLAIM.DATE, format = "%m/%d/%Y")

另外,在相关说明中,如何将网络数据集中的列替换为 as.date 中的值(当我得到正确时)?谢谢!!

【问题讨论】:

  • format 参数告诉as.Date() 当前格式,因此它知道如何正确读取日期。它没有告诉它您想要显示的格式。
  • 由于您的数据示例似乎是年-月-日格式,难怪您会得到 NA 和 Y/d/m。

标签: r


【解决方案1】:
> mydate <- "2013-09-21"
> as.Date(mydate)
[1] "2013-09-21"
> format(as.Date(mydate), '%m/%d/%Y')
[1] "09/21/2013"

如果你想替换你可以使用的列:

web$CLAIM.DATE <- format(as.Date(web$CLAIM.DATE), '%m/%d/%Y')

【讨论】:

  • 谢谢弹力球。这在您的示例中有效,但是当我这样做时,它将日期变量转换为字符类。我在运行代码之前检查了课程,上面写着“日期,格式”:“2013-01-01”等。这是我使用的代码。 'code' 格式(as.Date(mydate), '%m/%d/%y') 'code' 谢谢。
  • 也许您应该提供一些数据或可重现的示例。我无法重现您的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
  • 2022-12-05
  • 1970-01-01
  • 2018-07-17
  • 2020-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多