计算R中季度数据的年平均值

Calculate annual average of quarterly data in R

我有一个数据框,其中包含一些季度报告的 TS 数据,如下

quarter region value
2018T4    A      4
2018T3    A      2
2018T2    A      3
2018T1    A      9
2018T4    B      6
2018T3    B      2
2018T2    B      5
2018T1    B      8
2017T4    A      2
...

我想汇总季度观察结果并取平均值以获得每年和每个地区的年度平均值,因此

quarter region value
2018      A     4.5
2018      B     5.25
2017      A     2
...

什么是合适的方法?

我们可以从年份中删除季度信息,并通过 yearregion 获得 mean

aggregate(value~year+region, transform(df, year = sub('T.*', '', quarter)), mean)

#  year region value
#1 2017      A  2.00
#2 2018      A  4.50
#3 2018      B  5.25

同样使用 dplyr :

library(dplyr)
df %>%
  group_by(year = sub('T.*', '', quarter), region) %>%
  summarise(value = mean(value))