如何从R中的日期对象中减去1年?

Son*_*ang 1 r date

我有一个日期对象如下:

'2013-01'

'2013-02'

...
Run Code Online (Sandbox Code Playgroud)

例如,如何在保持月份不变的情况下从 2013 年减去 1 年

'2012-01'

'2012-02'

...
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

可以通过转换为yearmon类然后减去1来完成

library(zoo)
format(as.yearmon(str1) - 1, '%Y-%m')
#[1] "2012-01" "2012-02"
Run Code Online (Sandbox Code Playgroud)

同样,要减去一个月,请使用 1/12

format(as.yearmon(str1) - 1/12, '%Y-%m')
Run Code Online (Sandbox Code Playgroud)

数据

str1 <- c('2013-01', '2013-02')
Run Code Online (Sandbox Code Playgroud)