以年月格式从时间中减去月份

Subtract months from time in format year-month

我想从年月格式的给定日期中减去月份。

global_date = "2017-01"

我正在使用 zoo 库将其转换如下:

as.yearmon(global_date) - 0.1

但它给我的是 2016 年 11 月,我希望它是“201612”

如何在 R 中实现?

因为我们要减去一个月,所以我们应该减去 1/12 也就是 0.083 而不是 0.1

library(zoo)
as.yearmon(global_date) - (1/12)
#[1] "Dec 2016"

如果我们需要上述格式的输出

format(as.yearmon(global_date) - (1/12), "%Y%m")
#[1] "201612"

仅使用 base R 并且仅对 OP 的代码进行最小的更改

format(as.Date(paste0(global_date, "-01")) - 0.1*10, "%Y%m")
#[1] "201612"

注意:没有使用外部包