如何创建一个矢量,它是时间序列中过去 12 个月的值的总和?

How do I create a vector that is the sum of the last 12 months' values in a time series?

所以,我有两个时间序列,频率为每月一次。巴西联邦政府每月收入("receitamensal" 向量)和每月支出("gastomensal" 向量)。我想从这些系列中创建两个向量:过去 12 个月的累计收入和过去 12 个月的累计支出。因此,在任何给定月份,该值都是最近 12 个月的总和。 我正在使用 BETS 库来获取我的数据。现在我的代码是:

library(BETS) 
Receitamensal <- BETS.deflate(BETS.get(7544),
                          BETS.GET(433),
                            type='perc')
Gastomensal <- BETS.deflate(BETS.get(7546),
                        BETS.GET(433),
                          type='perc')

那么,我该怎么办?

哇,那个包有很多依赖项要安装。 以下对您有用吗?

tail(Receitamensal,12)
tail(Gastomensal, 12)

然后简单地在每一个周围加上 sum()

编辑:

如果您正在寻找评论中指出的滚动总和,那么您会发现 zoo 包中的 rollsum() 函数(谢谢 @ulfelder)最有用:

install.packages("zoo")
zoo::rollsum(Receitamensal, 12, fill = NA, align = "right")