是否可以将以下数字格式化为年 - 月 我的条目如下:
1402 1401 1312
意思是2014年2月。2014年1月和2013年12月。
我试过了:
date <- 1402
date <- as.Date(as.character(date), format = "%y%m")
但我得到NA作为输出。
答案 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