Есть ли эффективный способ сгенерировать вектор временной последовательности с tidyverse и lubridate? Я знаю, что эти двое могут работать с seq(), если использовать количество дат в качестве интервала. Например, при вводе:
seq(today(), today()+dyears(1), 60)
можно получить серию свиданий с интервалом в 60 дней
"2017-02-14" "2017-04-15" "2017-06-14" "2017-08-13" "2017-10-12" "2017-12-11" "2018-02-09"
Однако есть ли способ, которым это может работать в течение недель, месяцев и лет? Возможно, что-то похожее на приведенный ниже код, который, как я думал, сработает, но не работает:
seq(as_date(2000-01-01), as_date(2017-01-01), dyears(1))
Ошибка: несовместимые классы продолжительности (продолжительность, числовые). Пожалуйста, уговорите
as.duration.
Я знаю, что можно изменить dyears(1) на 365 или 30, если нужно только приблизительное значение года или месяца, но мне было интересно, есть ли более разумные способы учитывать високосные годы и месяцы.
Чтобы предоставить больше контекста, я хотел бы сгенерировать вектор даты, чтобы я мог настроить scale_x_date в ggplot. Вместо того, чтобы позволять waiver() отображать 2000, 2003, 2006, 2009, я хочу, чтобы график отображал все отдельные годы или даже каждые три месяца, если это возможно.
seq.Date. Это немного волшебства; Вы можете передать этоby = '2 weeks', и он разберется. - person alistaire   schedule 14.02.2017by=можно указать "недели" и "годы" дляseq()- person Carl PCH   schedule 14.02.2017?seqстранице, вы, должны также перейти по ссылке на?seq.Date, где ответ стал бы очевидным. - person IRTFM   schedule 14.02.2017