gpt4 book ai didi

r - 在 R 中每小时对数据框进行分组

转载 作者:行者123 更新时间:2023-12-04 17:36:23 24 4
gpt4 key购买 nike

我有一个数据框,它在日期列中包含 DateTime 值,在每个日期时间的计数中包含三列。

我正在尝试使用三列的计数每小时对数据进行分组

Sample Data

聚合函数适用于单列,但我正在尝试为整个数据框执行此操作。有小费吗?

aggregate(DateFreq$ColA,by=list((substr(DateFreq$Date,1,13))),sum) 

最佳答案

您可以使用 dplyr使用 dplyr::group_by 进行聚合和 dplyr::summarise :

library(lubridate)
library(anytime)
library(tidyverse)

Lines <- "Date,c1,c2,c3
06/25/2013 12:01,0,1,1
06/25/2013 12:08,-1,1,1
06/25/2013 12:48,0,1,1
06/25/2013 12:58,0,1,1
06/25/2013 13:01,0,1,1
06/25/2013 13:08,0,1,1
06/25/2013 13:48,0,1,1
06/25/2013 13:58,0,1,1
06/25/2013 14:01,0,1,1
06/25/2013 14:08,0,1,1
06/25/2013 14:48,0,1,1
06/25/2013 14:58,0,1,1"

setClass("myDate")
setAs("character","myDate", function(from) anytime(from))
df <- read.csv(text = Lines, header=TRUE, colClasses = c("myDate", "numeric", "numeric", "numeric"))

df %>%
group_by(Date=floor_date(Date, "1 hour")) %>%
summarize(c1=sum(c1), c2=sum(c2), c3=sum(c3))
# A tibble: 3 × 4
Date c1 c2 c3
<dttm> <dbl> <dbl> <dbl>
1 2013-06-25 12:00:00 -1 4 4
2 2013-06-25 13:00:00 0 4 4
3 2013-06-25 14:00:00 0 4 4

关于r - 在 R 中每小时对数据框进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17487225/

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