Подтвердить что ты не робот

R-последовательность дат с lubridate

Привет, я пытаюсь получить последовательность дат с lubridate

Это не работает

seq(ymd('2012-04-07'),ymd('2013-03-22'),by=week(1))

базовая команда

seq(as.Date('2012-04-7'),as.Date('2013-03-22'),'weeks')

но я хотел бы знать, есть ли элегантный способ сделать это с помощью lubridate.

ИЗМЕНИТЬ

Пожалуйста, проигнорируйте: решился, поэтому оставил только для потомков. С удовольствием удаляем это при необходимости.

seq(ymd('2012-04-07'),ymd('2013-03-22'),by='weeks')

Есть ли трюк

4b9b3361

Ответ 1

ymd - это оболочка для синтаксического анализа строк даты и возвращает объект POSIXct.

Вам просто нужно использовать стандартную терминологию, описанную в ?seq.POSIXt (не lubridate), чтобы определить недели

seq(ymd('2012-04-07'),ymd('2013-03-22'), by = '1 week')
seq(ymd('2012-04-07'),ymd('2013-03-22'), by = 'weeks')

будет работать

как и

seq(ymd('2012-04-07'),ymd('2013-03-22'), by = '2 week')

Вы можете принудить объект класса lubridate Period к difftime, но это кажется ненужным

seq(ymd('2012-04-07'),ymd('2013-03-22'), by = as.difftime(weeks(1)))