无法在R中正确生成按季度排列的日期序列

时间:2015-08-31 08:10:06

标签: r date seq

我想从给定日期(2015年7月31日)开始按季度生成一系列日期。而不是4月的最后一天,我得到了5月的第一天,如下所示:

> seq(as.Date('2015-07-31'), as.Date('2014-09-30'), by = '-3 month')
[1] "2015-07-31" "2015-05-01" "2015-01-31" "2014-10-31"

我也尝试在-quarter选项中传递by,但我收到以下错误:

> seq(as.Date('2015-07-31'), as.Date('2014-09-30'), by = '-quarter')
Error in seq.Date(as.Date("2015-07-31"), as.Date("2014-09-30"), by = "-quarter") : 
invalid string for 'by'

虽然如果日期已被过度调整到错误的月份,我可以查看当月的日期并相应更正,但我想知道是否存在一段简洁的代码片段来执行上述操作?

1 个答案:

答案 0 :(得分:3)

快速修复将采取下个月的第一天并减去一个:

seq(as.Date('2015-08-01'), as.Date('2014-10-01'), by = '-3 month') -1 

[1] "2015-07-31" "2015-04-30" "2015-01-31" "2014-10-31"