【问题标题】:R Date conversion for multiple data typesR 多种数据类型的日期转换
【发布时间】:2019-10-23 17:31:08
【问题描述】:

使用as.Date() 函数将 Excel 日期转换为 R 日期非常简单:

as.Date(12345, origin = "1899-12-30")
#> [1] "1933-10-18"

如何将以下内容转换为 R 日期类?

as.Date(c("-", "TBD", NA, 12345), origin = "1899-12-30")
#> Error in charToDate(x) : 
#>   character string is not in a standard unambiguous format

输出将如下所示。如果不是 Excel 日期,只需将其标记为 NA

#> [1] NA
#> [2] NA
#> [3] NA
#> [4] "1933-10-18"

【问题讨论】:

    标签: r excel date lubridate


    【解决方案1】:

    前期:

    v <- c("-", "TBD", NA, 12345)
    as.Date(as.integer(v), origin="1899-12-30")
    # Warning in as.Date(as.integer(c("-", "TBD", NA, 12345)), origin = "1899-12-30") :
    #   NAs introduced by coercion
    # [1] NA           NA           NA           "1933-10-18"
    

    只要您有c("-", ..., 12345)12345 就永远不会匹配,因为它被强制转换为向量中的character。上述技巧奏效的唯一原因是它取消了强制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 2017-04-16
      • 2014-07-26
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      相关资源
      最近更新 更多