我有一个日期对象,如下所示:
'2013-01'
'2013-02'
...
例如,如何从2013年减去1年,同时保持月份不变
'2012-01'
'2012-02'
...
答案 0 :(得分:4)
可以通过转换为yearmon
类然后减去1来完成
library(zoo)
format(as.yearmon(str1) - 1, '%Y-%m')
#[1] "2012-01" "2012-02"
类似地,要减去一个月,请使用1/12
format(as.yearmon(str1) - 1/12, '%Y-%m')
str1 <- c('2013-01', '2013-02')
答案 1 :(得分:1)
使用as.POSIXlt
s=as.POSIXlt(paste0(str1,'-01'))
s$year=s$year-1
format(s,'%Y-%m')
[1] "2012-01" "2012-02"