【问题标题】:Converting monthly numerics to readable dates in R将每月数字转换为 R 中的可读日期
【发布时间】:2019-01-29 10:05:28
【问题描述】:

在将整数转换为日期时,如何将 R 设置为计算月份而不是日期? 在阅读了关于如何在 R 中转换日期的几个线程之后,似乎没有人问如果数字是按月时间序列给出的,如何转换数字日期。例如。 552 代表 2006 年 1 月。

我已经尝试了几件事,例如使用 as.Date(dates,origin="1899-12-01"),但我认为 R 计算的是天而不是月。因此,上述年份月份编号 552 上的代码生成“1901-06-06”,而不是正确的 2006-01-01。

旁注:我也希望格式为 YEARmonth,但 R 是否允许显示没有天数的日期?

【问题讨论】:

  • 你能提供你的数据样本吗?
  • 从 1899 年 12 月开始计数时,552 如何代表 2006 年 1 月?

标签: r datetime


【解决方案1】:

我认为您的开始日期应该是“1960-01-01”。

无论如何你可以使用包lubridate来解决这个问题。

在这种情况下,您可以从日期开始并添加月份。

library(lubridate)
as.Date('1960-01-01') %m+% months(552)

它给你

[1] "2006-01-01"

您只能显示日期的年份和月份,但在这种情况下,R 会将日期强制转换为字符。

format(as.Date('2006-01-01'), "%Y-%m")

【讨论】:

  • zoo中还有类yearmon
猜你喜欢
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2019-09-04
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2021-02-13
相关资源
最近更新 更多