每月滞后为季度数据

时间:2017-10-26 07:58:54

标签: r

我想将每月系列作为季度数据汇总,但不是作为一个平均数或一个总和,而是每个季度有三个系列的月度滞后。到目前为止,我已经尝试过:

for (i in seq(1,n,3))
{ if (i==1) 
  {
  monthly_1=quarterly[(i+2)]
  monthly_2=quarterly[(i+1)]
  monthly_3=quarterly[i]
  }
else {
  monthly_1=rbind(monthly_1,quarterly[(i+2)]) 
  monthly_2=rbind(monthly_2,quarterly[(i+1)])
  monthly_3=rbind(monthly_3,quarterly[i])
  }
}

我相信它可以在R中完成,我只是没有想出正确的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

以下是我的理解:您希望能够在一个季度内每个月执行汇总功能,并希望比较每个季度的第一个月,第二个月和第三个月。在这种情况下,您应该使用类似下面的内容:

library(lubridate)
library(tidyverse)

dates = tibble(dt = seq.Date(from = as.Date("2016-01-01", "%Y-%m-%d"), to = as.Date("2017-02-01", "%Y-%m-%d"), "days")) %>%
  mutate(rnd_dat = sample(10, nrow(dates), replace = TRUE))

df1 <- dates %>%
  mutate(yr = year(dt),
         mnth = month(dt),
         quarter = quarter(dt),
         the_lag = if_else(mnth %% 3 == 0, 3, mnth %% 3))