【问题标题】:R zoo series sliding window calculationR zoo系列滑动窗口计算
【发布时间】:2011-01-10 20:01:04
【问题描述】:

鉴于我有一个动物园数据集,我想对其执行滑动操作,结果是另一个动物园数据集。

> x 是 (09/24/09 08:00:13) 3.1 (09/24/09 08:05:13) 4.2 (09/24/09 08:10:13) 4.5 (09/24/09 08:15:13) 9.4 (09/24/09 08:20:13) 9.8 (09/24/09 08:25:13) 7.7 (09/24/09 08:30:13) 13.3 (09/24/09 08:35:13) 6.5 (09/24/09 08:40:13) 14.7 (09/24/09 08:45:13) 23.5 (09/24/09 08:50:13) 20.9 (09/24/09 08:55:13) 8.5

我的目标是通过迭代每个时间间隔并获得当前点 +/- 15 分钟的 Y 点集的平均值来产生“平滑”平均值。

我有一种平均工作的分桶方法,但它降低了数据的分辨率。我还没有弄清楚如何使用艺术数学从动物园中制作出相对子集,窗口应该会有所帮助,但访问索引很困难。

谢谢。

【问题讨论】:

    标签: r time-series


    【解决方案1】:

    使用rollmean。这是一个例子:

    x.Date <- as.Date(paste(2004, rep(1:4, 4:1), sample(1:28, 10), sep = "-"))
    x <- zoo(rnorm(12), x.Date)
    rollmean(x, 3)
    

    在您的情况下,您会希望在取平均值后滞后数据,因为您的平均值大约是某个时间点。

    最后,您应该了解 zoo 中的 rollapply 函数,它可以对任何函数(包括您定义的函数)进行滚动操作。

    【讨论】:

    • @Shane,你又是那个男人了。学习 R 我正在尝试完成某项任务,但我还没有接触到足够多的库。谢谢!
    • 再次感谢我不必编写自定义函数!哈哈!
    猜你喜欢
    • 2018-08-27
    • 2021-05-31
    • 2015-12-16
    • 2014-03-02
    • 2018-06-05
    • 2017-03-12
    • 2012-05-27
    • 1970-01-01
    • 2023-01-29
    相关资源
    最近更新 更多