有没有一种有效的方法来生成时间序列向量 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))
Error: Incompatible duration classes (Duration, numeric). Please coerce with
as.duration
.
我知道可以更改
dyears(1)
进入 365
或 30
如果只需要年或月的近似值,但想知道是否有更聪明的方法来考虑闰年和月。为了提供更多上下文,我想生成一个日期向量,以便我可以自定义
scale_x_date
在 ggplot
.而不是让waiver()
显示 2000、2003、2006、2009 年,如果可能的话,我希望情节具有所有单独的年份甚至每三个月的时间段。
最佳答案
你可以尝试使用 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)
关于r - 使用 R 和 lubridate 生成时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42234607/