首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为数据创建5秒的间隔并进行分组

为数据创建5秒的间隔并进行分组
EN

Stack Overflow用户
提问于 2019-09-17 17:32:53
回答 1查看 150关注 0票数 3

我有一个数据帧,其中一列是时间,另一列是价格。它看起来像这样

代码语言:javascript
复制
Time     | Price
15:31:01 | 2
15:31:03 | 4
15:31:05 | 3
15:31:08 | 1
15:31:10 | 9

我想将数据分组为5秒的间隔,并取每个5秒间隔的平均值,如下所示

代码语言:javascript
复制
Time     | Price
15:31:05 | 4.5
15:31:10 | 5

我知道可以通过dplyr将它们分组到分钟桶中,在那里我提取每一行的分钟数据,然后按分钟对它们进行分组。但是,有没有办法在自定义的秒间隔内做到这一点呢?在这种情况下,我看到的是5秒的间隔。

EN

回答 1

Stack Overflow用户

发布于 2019-09-17 17:48:33

我们可以将Time列转换为POSIXct格式,并将其转换为"5秒“的间隔,然后将其用作一个组,并在每个组中使用mean

代码语言:javascript
复制
aggregate(Price~ group, transform(df, 
    group = cut(as.POSIXct(Time, format = "%T"), breaks = "5 secs")), mean)

#                group Price
#1 2019-09-17 15:31:01     3
#2 2019-09-17 15:31:06     5

data

代码语言:javascript
复制
df <- structure(list(Time = structure(1:5, .Label = c("15:31:01", "15:31:03", 
"15:31:05", "15:31:08", "15:31:10"), class = "factor"), Price = c(2L, 
4L, 3L, 1L, 9L)), class = "data.frame", row.names = c(NA, -5L))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57971381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档