Как вычесть месяцы из года и месяца

Я хочу вычесть месяцы из заданной даты в формате год и месяц.

global_date = "2017-01"

Я конвертирую это с zoo библиотека следующим образом:

as.yearmon(global_date) - 0.1

но это дает мне ноябрь 2016 года, я хочу его как "201612"

Как я могу сделать это в R?

2 ответа

Решение

Поскольку мы хотим вычесть один месяц, мы должны вычесть 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 и внесение только минимальных изменений в код ОП

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

ПРИМЕЧАНИЕ: внешние пакеты не используются

Другие вопросы по тегам