6

tidyverse有没有一种有效的方法可以用和生成时间序列向量lubridateseq()我知道当一个使用日期数作为间隔时,两者可以一起使用。例如,输入:

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_datein ggplot。我不想让waiver()显示 2000、2003、2006、2009 年,而是希望情节有所有单独的年份,如果可能的话,甚至每三个月的时间段。

4

1 回答 1

4

您可以尝试使用 seq.Date():

seq.Date(from=as.Date("2000-01-01"), to=as.Date("2010-01-01"), by="month")

或者:

seq(as.Date("2000/1/1"), by = "month", length.out = 12)
于 2017-02-21T17:10:14.523 回答