【问题标题】:R code - Dates returned NULL after applying date formattingR 代码 - 应用日期格式后返回 NULL 的日期
【发布时间】:2018-07-17 15:06:08
【问题描述】:

我正在尝试使用 R 将日期提取为 yyyy-mm-dd (2008-12-30)。所以,只有年、月和日。

我的数据中的原始日期如下所示"2008-12-30 00:00:00.0000000"

我在下面尝试过:

dfs$date<-as.POSIXct(dfs$date, format="%Y-%m-%d")

dfs$date <-as.Date(dfs$date, format="%Y-%m-%d")

对于我数据中 10% 的原始日期,两者都返回 null,但其余 90% 似乎是正确的。

我非常感谢任何解决此问题的建议!

【问题讨论】:

  • 请检查 10% 的日期。它必须是不同的格式。对我来说as.Date 工作正常str1 &lt;- "2008-12-30 00:00:00.0000000." &gt; as.Date(str1, "%Y-%m-%d")# [1] "2008-12-30"
  • 如果您知道它不起作用的示例,请通过包含这些示例使这个问题更多reproducible
  • @akrun 谢谢!!意识到我的数据中有一些“//NAs”导致转换日期类型问题

标签: r date format


【解决方案1】:

如果您的原始源数据只是文本,您可以在这里使用substr

x <- "2008-12-30 00:00:00.0000000."
substr(x, 1, 10)
[1] "2008-12-30"

# or
as.Date(substr(x, 1, 10))

如果您的某些数据确实存在问题,上述建议可能会解决该问题,假设每一行实际上都以 10 个字符的日期字符串开头。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-05
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多