有没有一种有效的方法,可以使用 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))
错误:不兼容的持续时间类(Duration,数字)。请使用
as.duration
进行强制转换。
我知道如果只需要年或月的近似值,可以将dyears(1)
更改为365
或30
,但我想知道是否有更聪明的方法考虑闰年和月份。
为了提供更多背景信息,我想生成一个日期向量,以便可以自定义ggplot
中的scale_x_date
。我希望这个图表显示所有单独的年份,甚至是每三个月的周期(如果可能的话),而不是让waiver()
显示2000、2003、2006、2009。
seq.Date
。它有点神奇;你可以传递by='2 weeks'
,然后它就会自动计算。 - alistaireseq()
的by=
中可以指定“周”和“年”。 - Carl H?seq
页面时,您也应该按照到?seq.Date
的链接,这样答案就变得明显了。 - IRTFM