У меня есть вектор дат, и я хочу проверить на определенную дату, существует ли значение в векторе за 150 дней до него, И за 150 дней до этого.Простой пример моих данных выглядит так:
given_date <- as.Date('2006-06-06')
dates <- as.Date(c("2005-02-22", "2005-04-26", "2005-08-02", "2005-10-04", "2005-12-06", "2006-03-14", "2006-06-06"))
Я знаю, что на определенную дату я могу сделать given_date %in% dates
, что возвращает TRUE
.
Однако, для моей проблемы,Я хочу проверить что-то похожее на следующее:
ifelse(range(given_date-1, given_date-150) %in% dates & range(given_date-151, given_date-300) %in% dates, TRUE, FALSE)
Таким образом, для данных, которые я предоставил, результат вернет TRUE
, потому что существует дата в пределах 150дней до given_date
(например, 2006-03-14 существует в диапазоне (2006-01-07, 2006-06-06)), а другой существует в течение 150 дней до этого (например, 2005-10-04 существуетв пределах (2005-08-10, 2006-01-07)).
Буду признателен за любую помощь относительно того, как я могу сделать это в R!