Как сохранить X месяцев от самой старой даты в R - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть дата (dt) со следующими элементами, id предмета, дата и запас в этот день.

 ID        date             Stock
193sd      2016-03-23        12
238ds      2016-04-20         1
238ds      2017-07-20         1
238ds      2018-07-20         1
193sd      2017-09-12         1
193sd      2018-09-12         1
193sd      2018-03-12         1
193sd      2018-05-12         1

Чтобы сохранить 5 месяцев от самого старого дня, я делаю следующее:

dt$date = as.Date(dt$date, origin="1899-12-30")

months5= aux[, .SD[date>= min(date) %m-% months(5)], by = ID]
ID        date             Stock
193sd      2016-03-23        12
238ds      2016-04-20         1
238ds      2017-07-20         1
238ds      2018-07-20         1
193sd      2017-09-12         1
193sd      2018-09-12         1
193sd      2018-03-12         1
193sd      2018-05-12         1

Но итоговая таблица (месяцы5) имеет те же значения, которые превышают 5 месяцев,

Скажите, пожалуйста, что я делаю неправильно в своей функции.

ОБНОВЛЕНИЕ!: запустив следующий код, предложенный Грегором

months5= dt[, .SD[date<= min(date) %m+% months(5)], by = ID]
    ID        date             Stock
    193sd      2016-03-23        12
    238ds      2016-04-20         1
    193sd      2018-05-12         1

Но все еще между 2016-03-23 ​​ и 2018-05-12 в ID 193sd существует более 5 месяцев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...