Как вычесть месяцы из года и месяца
Я хочу вычесть месяцы из заданной даты в формате год и месяц.
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"
ПРИМЕЧАНИЕ: внешние пакеты не используются