首页 > 解决方案 > 在R中向后生成四分之一序列

问题描述

我想向后生成季度数据序列。例如,如果我输入两个参数——“当前季度”= Q2'20 和“季度数”= 20,它应该返回过去 20 个季度的数据。

我知道如何生成季度的前向序列(见下文),但是当我知道当前季度时,我很难向后做。

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

标签: rdplyr

解决方案


你可以做

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"

如果你想按日历顺序,只需将其反转

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"

这只是使用基数 R。不需要dplyr


推荐阅读