无法在 R 中按季度正确生成日期序列
Unable to generate sequence of dates by quarter properly in R
我想从给定日期(2015 年 7 月 31 日)开始按四分之一向后生成一系列日期。我得到的不是四月的最后一天,而是五月的第一天,如下所示:
> 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"
我也尝试在 by
选项中传递 -quarter
,但出现以下错误:
> 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'
虽然我可以检查每月的日期并在日期过度调整到错误的月份时进行相应更正,但我想知道是否存在执行上述操作的简洁代码片段?
一个快速解决方法是将下个月的第一天减去一天:
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"
我想从给定日期(2015 年 7 月 31 日)开始按四分之一向后生成一系列日期。我得到的不是四月的最后一天,而是五月的第一天,如下所示:
> 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"
我也尝试在 by
选项中传递 -quarter
,但出现以下错误:
> 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'
虽然我可以检查每月的日期并在日期过度调整到错误的月份时进行相应更正,但我想知道是否存在执行上述操作的简洁代码片段?
一个快速解决方法是将下个月的第一天减去一天:
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"