gpt4 book ai didi

r - 从数据帧中的带时间戳的行分区和聚合间隔的有效方法是什么?

转载 作者:行者123 更新时间:2023-12-04 17:05:29 25 4
gpt4 key购买 nike

从带有时间戳行的数据帧(strptime 结果)中,聚合间隔统计信息的最佳方法是什么?

间隔可以是一小时、一天等。

这是aggregate函数,但这无助于将每一行分配给一个间隔。我计划在数据框中添加一列表示间隔并将其与 aggregate 一起使用,但如果有更好的解决方案,听到它会很棒。

感谢您的任何指点!

示例数据

从 03:00 开始,将时间戳分为 15 分钟间隔的五行。

间隔 1

  • "2010-01-13 03:02:38 UTC"
  • "2010-01-13 03:08:14 UTC"
  • "2010-01-13 03:14:52 UTC"

  • 间隔 2
  • "2010-01-13 03:20:42 UTC"
  • "2010-01-13 03:22:19 UTC"


  • 结论

    使用时间序列包,例如 xts应该是解决方案;但是我没有成功使用它们并最终使用 cut .因为我目前只需要绘制直方图,行按间隔分组,这就足够了。
    cut喜欢这样使用:
    interv <- function(x, start, period, num.intervals) {
    return(cut(x, as.POSIXlt(start)+0:num.intervals*period))
    }

    最佳答案

    使用 time series package. xts 包具有专门为此设计的功能。或者查看zoo包中的aggregate和rollapply函数。

    rmetrics 电子书有一个有用的讨论,包括各种包的性能比较:https://www.rmetrics.org/files/freepdf/TimeSeriesFAQ.pdf

    编辑:看 my answer to this question .基本上,您需要将每个时间戳截断为特定间隔,然后使用这些新截断的时间戳作为分组向量进行聚合。

    关于r - 从数据帧中的带时间戳的行分区和聚合间隔的有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2441136/

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