R中的格式日期(年 - 月)

时间:2014-02-20 18:30:02

标签: r date format

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

1402 1401 1312

意思是2014年2月。2014年1月和2013年12月。

我试过了:

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

但我得到NA作为输出。

3 个答案:

答案 0 :(得分:14)

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"

答案 1 :(得分:1)

您需要包含日期编号,否则无法理解您想到的月份,请考虑:

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

答案 2 :(得分:0)

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