2

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

> 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 点集的平均值来产生“平滑”平均值。

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

谢谢。

4

1 回答 1

5

使用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)

在你的情况下,你会想要在取平均值之后滞后你的数据,因为你是一个时间点的平均值。

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

于 2010-01-29T12:41:21.853 回答