在将整数转换为日期时,如何设置R以计数月份而不是日期? 在阅读了有关如何在R中转换日期的几个线程之后,似乎没有人问过如果数字是按月时间序列给出的,则如何转换数字日期。例如。 552代表2006年1月。
我已经尝试了几种方法,例如使用as.Date(dates,origin="1899-12-01")
,但是我认识到R是几天而不是几个月。因此,上面的年份-月份数字552上的代码将产生“ 1901-06-06”,而不是正确的2006-01-01。
旁注:我也希望格式为YEARmonth,但是R是否允许显示不带日期的日期?
答案 0 :(得分:2)
我认为您的开始日期应该是“ 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")