r - 计算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
...
什么是合适的方法?
解决方案
我们可以从 year 中删除季度信息,然后mean
取year
和region
。
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))
推荐阅读
- ios - Google Cast iOS 无法加载媒体
- xcode - “复制捆绑资源”和“复制文件”->“资源”有什么区别
- java - 如何在 IntelliJ Idea 上启动 Java RMI 服务器
- machine-learning - 如何使用机器学习算法进行事件预测,例如洪水预测?
- amazon-web-services - AWS EKS 节点内存/CPU 限制较低 (10%)
- sql - 使用条件取表的前 N 行
- c - 将字符串存储在变量中
- android - How to get AWS Pinpoint Analytics to use Wifi or Cellular data
- solr - Solr、OutOfMemoryErrors 和堆未释放
- laravel - 使用 vuejs 和 laravel 的权限和角色