Generate sequence of quarters backward in R

Viewed 300

I want to generate sequence of quarterly data backwards. For example if I input two arguments - 'Current Quarter' = Q2'20 and 'number of quarters' = 20 it should returns past 20 quarters data.

I know how to generate forward sequence of quarters (see below) but struggling how to do it backwards when I know the current quarter.

seq(as.Date("2020-10-01"), by="quarter", length.out = 10)
1 Answers

You can do

seq(as.Date("2020-10-01"), by="-1 quarter", length.out = 10)
#  [1] "2020-10-01" "2020-07-01" "2020-04-01" "2020-01-01" "2019-10-01"
#  [6] "2019-07-01" "2019-04-01" "2019-01-01" "2018-10-01" "2018-07-01"

And if you want it in calendar order, just reverse it

rev(seq(as.Date("2020-10-01"), by="-1 quarter", length.out = 10))
#  [1] "2018-07-01" "2018-10-01" "2019-01-01" "2019-04-01" "2019-07-01"
#  [6] "2019-10-01" "2020-01-01" "2020-04-01" "2020-07-01" "2020-10-01"

This just uses base R. No dplyr needed.

Related