r - 使用 R 和 lubridate 生成时间序列

标签 r date lubridate tidyverse

有没有一种有效的方法来生成时间序列向量 tidyverselubridate ?我知道这两个可以一起工作 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)进入 36530如果只需要年或月的近似值,但想知道是否有更聪明的方法来考虑闰年和月。

为了提供更多上下文,我想生成一个日期向量,以便我可以自定义 scale_x_dateggplot .而不是让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/

相关文章:

r - 年份变量应该是 R 面板数据中的因子还是数字?

r - ggplot 2 中的多行标题带有多个斜体字

r - 如何对数据框列表中的每个数据框进行分组和汇总

java - 无法在Java中将字符串转换为日期,转换后时区错误

javascript - 使用 Javascript 在 safari 中获取 NAN 形式的日期值

r - 使用 lubridate 进行矢量化时区转换

r - 如何确定日期是否是周末(不使用 lubridate)

在R中用双引号读取csv文件

javascript - 以 MM/DD/YYYY 格式查找下一个最接近的日期 JavaScript

r - 如何在 R 中将时间数据拆分为时间间隔?