0

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

global_date = "2017-01"

我将它与zoo库进行如下转换:

as.yearmon(global_date) - 0.1

但它给了我 2016 年 11 月,我希望它为 '201612'

我怎样才能在 R 中做到这一点?

4

2 回答 2

7

由于我们想减去一个月,我们应该减去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"
于 2017-01-02T08:18:05.247 回答
1

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

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

注意:不使用外部包

于 2017-01-02T08:19:36.643 回答