R系列滑动窗口计算

R系列滑动窗口计算,r,time-series,R,Time Series,假设我有一个zoo数据集,我想对它执行一个滑动操作,结果是另一个zoo数据集 > x Y (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 (

假设我有一个zoo数据集,我想对它执行一个滑动操作,结果是另一个zoo数据集

> x Y (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 我的目标是通过迭代每个时间间隔并获得Y点集的平均值来生成平滑的平均值,Y点集距离当前点+/-15分钟

我有一个平均工作的bucketing方法,但它降低了数据的分辨率。我还没有弄清楚如何用artibrary math制作动物园的相对子集,窗口应该会有帮助,但访问索引是很困难的

谢谢。

使用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我正试图完成一项特定的任务,我还没有接触到足够的图书馆。谢谢我再次感谢我不必编写自定义函数!哈哈!