2015-08-31 17 views
3

我想从给定日期(2015年7月31日)开始,按季度向后生成一系列日期。而不是让四月的最后一天,我得到五月的第一天,如下:无法在R中正确生成季度序列

> 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" 

我也试过路过-quarterby选项,但我得到了以下错误:

> 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' 

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

+0

什么是从上面的操作所需输出? –

+0

@DavidArenburg [1]“2015-07-31”“2015-04-31”“2015-01-31”“”2014-10-31“ –

回答

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"