【发布时间】:2018-09-17 08:28:18
【问题描述】:
我有一个数据框,每 10 分钟测量一次温度。测量是在不同的位置(称为“LCZ”)进行的,每个位置的值在不同的列中。
这是我的数据框的一部分:(它还包含缺失值 NA)
Time `LCZ 3-2` `LCZ 3-10` `LCZ 6-1` `LCZ 6-9` `LCZ 9-4`
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2017-08-26 17:00:00 27.5 27.5 27.5 27.0 27.0
2 2017-08-26 17:10:00 27.5 27.0 27.5 27.0 27.0
3 2017-08-26 17:20:00 27.5 27.0 27.0 27.0 27.0
4 2017-08-26 17:30:00 27.0 26.5 27.0 26.5 26.5
5 2017-08-26 17:40:00 26.5 26.5 26.5 26.5 26.5
6 2017-08-26 17:50:00 26.5 26.0 26.5 26.0 26.5
7 2017-08-26 18:00:00 26.5 26.0 26.5 26.5 26.5
8 2017-08-26 18:10:00 27.0 26.0 26.5 26.5 26.0
9 2017-08-26 18:20:00 26.5 26.5 26.5 26.5 26.0
10 2017-08-26 18:30:00 26.5 26.5 26.5 26.5 26.0
我希望为每个位置或列计算每小时的最低/最高/中值温度,此外,对于每小时的最低/最高温度,我还希望计算分别发生最低/最高温度的原始数据的时间戳。
R 可以做到这一点吗?
我已经尝试了各种功能。
group_by 允许我计算每列的最小值/最大值,但没有时间戳。 period.apply 还允许我计算最小值/最大值/中值,但仅限于一列。
aggregate() 也没有成功。
我正在学习 R,但没有接近解决这个问题。
这个网站帮助我解决了各种问题,但我真的被困在这个问题上。有人可以帮忙吗?提前致谢
【问题讨论】:
-
如何定义一个小时?
-
一小时作为 17:10, 17:20,...,17:50 的值的汇总,同样适用于 18:10, 18:20,...,18: 50等
-
@M95 如果您可以在问题中包含所需输出的格式,这将有所帮助。谢谢
-
所以每小时需要 15 个值 = 5 cols x 3 stats?
-
是的,我不确定会发生什么输出,但这满足了我的需求。谢谢您的回答!还有你回答中的额外解释,这让我在 R 中再次了解了更多。