【问题标题】:Converting numeric values to yyyymm dates in r将数值转换为 r 中的 yyyymm 日期
【发布时间】:2015-04-02 22:40:29
【问题描述】:

我正在尝试隐藏以下日期格式。我在使用 lubridate 包中的 parse_date_time 和 strfttime 函数时遇到了麻烦,因为它将整个列转换为相同的日期,或者因为它继续返回日期值。我不想在我的解决方案中看到任何日期。

 mydata=data.frame(dates=c(200102,200102,200111,200202),desired=c('2001-02','2001-02', '2001-11','2002-02'))

我只想在我的专栏中返回 YYYY-mm 格式。我很难做到这一点。我尝试过使用

【问题讨论】:

    标签: r date


    【解决方案1】:

    试试这个:

    transform(mydata, desired = sub("(....)(..)", "\\1-\\2", dates))
    

    这种形式不方便操作(绘图等)。您可能更喜欢使用 zoo 包中的 "yearmon" 类,该类在内部将年/月存储为年 + 分数,其中分数为 0 代表一月,1/12 代表二月,...,11/12 代表十二月。默认渲染是,例如,Jan 2000:

    library(zoo)
    transform(mydata, ym = as.yearmon(as.character(dates), "%Y%m"))
    

    【讨论】:

      猜你喜欢
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多