【问题标题】:Format Date (Year-Month) in R [duplicate]在R中格式化日期(年月)[重复]
【发布时间】:2014-03-21 21:49:33
【问题描述】:

是否可以将以下数字格式化为年月 我的条目如下:

1402 1401 第1312章

表示 2014 年 2 月、2014 年 1 月和 2013 年 12 月。

我试过了:

date <- 1402
date <- as.Date(as.character(date), format = "%y%m")

但我得到一个 NA 作为输出。

【问题讨论】:

    标签: r date format


    【解决方案1】:

    zoo 包有一个"yearmon" 类,直接处理年/月对象:

    library(zoo)
    nums <- c(1402, 1401, 1312)
    ym <- as.yearmon(as.character(nums), "%y%m")
    

    给予:

    > ym
    [1] "Feb 2014" "Jan 2014" "Dec 2013"
    

    【讨论】:

      【解决方案2】:

      您需要包含天数,否则无法理解您想到的月份中的哪一天,请考虑:

      > strptime('011402', format = "%d%y%m")
      [1] "2014-02-01"
      

      【讨论】:

        【解决方案3】:

        as.Date 需要完整的日期,并指定日期。由于您不包括一天,因此它不知道该怎么做。

        你可以添加任何一天,它应该像这样工作

        date <- 140201
        date <- as.Date(as.character(date), format="%y%m%d")
        

        您可以使用lubridate 包来更轻松地处理日期。

        > library(lubridate)
        > month(ymd(as.character(140201), label=TRUE)
        [1] February
        

        【讨论】:

          猜你喜欢
          • 2018-10-24
          • 1970-01-01
          • 1970-01-01
          • 2020-01-08
          • 1970-01-01
          • 2015-04-29
          • 1970-01-01
          • 1970-01-01
          • 2013-07-06
          相关资源
          最近更新 更多