我想将每月系列作为季度数据汇总,但不是作为一个平均数或一个总和,而是每个季度有三个系列的月度滞后。到目前为止,我已经尝试过:
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中完成,我只是没有想出正确的方法。有什么建议吗?
答案 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))