gpt4 book ai didi

r - 如何将每小时降雨数据数据聚合成24小时系列

转载 作者:行者123 更新时间:2023-12-04 08:37:28 25 4
gpt4 key购买 nike

我的数据框如下

df <- tibble::tribble(
~date, ~pcp,
"9/27/2017 9:00", 0,
"9/27/2017 10:00", 0,
"9/27/2017 11:00", 0,
"9/27/2017 12:00", 0,
"9/27/2017 13:00", 0,
"9/27/2017 14:00", 0,
"9/27/2017 15:00", 0,
"9/27/2017 16:00", 0,
"9/27/2017 17:00", 0,
"9/27/2017 18:00", 0,
"9/27/2017 19:00", 0,
"9/27/2017 20:00", 0,
"9/27/2017 21:00", 0,
"9/27/2017 22:00", 0,
"9/27/2017 23:00", 0,
"9/28/2017 0:00", 0,
"9/28/2017 1:00", 0,
"9/28/2017 2:00", 0,
"9/28/2017 3:00", 0,
"9/28/2017 4:00", 0,
"9/28/2017 5:00", 0,
"9/28/2017 6:00", 0,
"9/28/2017 7:00", 0.15,
"9/28/2017 8:00", 8.76,
"9/28/2017 9:00", 0.02,
"9/28/2017 10:00", 0,
"9/28/2017 11:00", 0,
"9/28/2017 12:00", 0,
"9/28/2017 13:00", 0,
"9/28/2017 14:00", 0,
"9/28/2017 15:00", 0,
"9/28/2017 16:00", 0,
"9/28/2017 17:00", 0,
"9/28/2017 18:00", 0,
"9/28/2017 19:00", 0,
"9/28/2017 20:00", 0,
"9/28/2017 21:00", 0,
"9/28/2017 22:00", 0,
"9/28/2017 23:00", 0,
"9/29/2017 0:00", 0,
"9/29/2017 1:00", 0,
"9/29/2017 2:00", 0,
"9/29/2017 3:00", 0,
"9/29/2017 4:00", 0,
"9/29/2017 5:00", 0,
"9/29/2017 6:00", 0,
"9/29/2017 7:00", 0,
"9/29/2017 8:00", 0.31
)
我想每天汇总数据(总和)。而不是从同一天的 00:00 到 23:59 聚合,我希望它的初始时间从当天的 09:00 开始 i并在当天的 08:59 结束 i + 1 (24 小时后)。
输出是欲望如下
9/28/2017,8.91
9/29/2017,0.33
我是在 Excel 中手动完成的,我不确定要使用什么代码来解决这个问题。
提供的示例是长数据帧的摘录。
谢谢...

最佳答案

如果你想要每个日期的数据

library(tidyverse)
library(lubridate)
df %>%
mutate(datetime = parse_date_time(date, "mdy H:M"),
date = date(datetime)) %>%
group_by(date) %>%
summarise(sum_pcp = sum(pcp))
会产生
# A tibble: 3 x 2
date sum_pcp
<date> <dbl>
1 2017-09-27 0
2 2017-09-28 8.93
3 2017-09-29 0.31
如果你想从 9:00 到第二天的 9:00 计算,你可以引入一个 subjective_day通过从原始 datetime 中减去 9 小时目的。
df %>% 
mutate(datetime = parse_date_time(date, "mdy H:M"),
date = date(datetime),
initial_day = date(first(date)),
time = hour(datetime),
subjective_day = datetime - hours(9)) %>%
group_by(subjective_day = floor_date(subjective_day, "1 day")) %>%
summarise(sum_pcp = sum(pcp))
会产生

subjective_day sum_pcp
<dttm> <dbl>
1 2017-09-27 00:00:00 8.91
2 2017-09-28 00:00:00 0.33
您的主观一天将始终落后 1 天,因此您可以对此进行调整,或者记住世界上有 9 小时时差的地方实际上将其作为正确的日期时间:)

关于r - 如何将每小时降雨数据数据聚合成24小时系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64732210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com