【发布时间】:2019-09-13 23:14:52
【问题描述】:
我有一个包含 3 列的时间序列数据,其中包含日期、能量值和站点名称。 我想分别获得每个站点的能量值的小时平均值。
我的数据是这样的
df
Datetime Energy Station
1 2016-01-01 07:19:00 743.0253 Ajmer
2 2016-01-01 07:20:00 765.7225 Ajmer
3 2016-01-01 07:21:00 788.1493 Ajmer
4 2016-01-01 08:20:00 834.7815 Ajmer
5 2016-01-01 08:21:00 857.3012 Ajmer
6 2016-01-31 16:58:00 3427.098 Kotada
7 2016-01-31 16:59:00 3397.591 Kotada
8 2016-01-31 17:00:00 3344.149 Kotada
9 2016-01-31 17:01:00 3270.803 Kotada
预期输出:
Datetime Energy Station
1. 2016-01-01 07:00:00 765.6324 Ajmer
2. 2016-01-01 08:00:00 846.0413 Ajmer
3. 2016-01-01 16:00:00 3412.345 Kotada
4. 2016-01-01 17:00:00 3307.476 Kotada
我尝试使用 group_by 函数按站名形成分组数据框,然后使用聚合函数获得每小时平均值。但它不起作用。
> byStn=df %>% group_by(Station)
> hour_byStn=byStn %>%
+ aggregate(energy,
+ list(hourtime = cut(Datetime, breaks="hour")),
+ mean, na.rm = TRUE)
我得到以下错误: 剪切错误(日期时间,中断 =“小时”):找不到对象“日期时间”。
你能告诉我怎么做吗?这是我第一次使用时间序列数据和 dpylr 包。
【问题讨论】:
标签: r dplyr time-series