如何创建一个矢量,它是时间序列中过去 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")
所以,我有两个时间序列,频率为每月一次。巴西联邦政府每月收入("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")