gpt4 book ai didi

r - 按 R 中的日期序列和 id 变量聚合

转载 作者:行者123 更新时间:2023-12-04 11:58:20 24 4
gpt4 key购买 nike

我正在努力将每小时的温度汇总为 3 小时,同时保持站点 ID。这是 df:


ID
日期
温度


1155
2012-01-01 00:00:00
-0.8

1155
2012-01-01 01:00:00
0.1

1155
2012-01-01 02:00:00
0.5


我正在努力做到:


ID
日期
温度


1155
2012-01-01
-0.2


我详细说明了这段代码:

library(dplyr)
Temp_3h<- df %>%
group_by(ID)%>%
aggregate(.,by=list(Date=cut(as.POSIXct(df$Date), "3 hour")),mean)
但除了“临时”变量之外,它还倾向于聚合 ID(分类),因此它们成为 NA。而且我不知道如何将 ID 集成到“by=”参数中。任何帮助,将不胜感激

最佳答案

您可以使用 floor_date/ceiling_date将每 3 小时的时间戳合并为一个并取平均值 temp每个 ID 的值.

library(dplyr)
library(lubridate)

Temp_3h <- df %>%
group_by(ID, Date = floor_date(ymd_hms(Date), '3 hours')) %>%
summarise(temp = mean(temp, na.rm = TRUE), .groups = 'drop')

Temp_3h

关于r - 按 R 中的日期序列和 id 变量聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69333896/

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