2010-03-18 51 views

回答

1

有很多方法可以做到这一点(与R中的所有内容一样)。我总是建议在处理时间序列数据时使用时间序列。

zoo包可能是最流行的时间序列包(虽然你也可以看看其他如XTS,时间序列,它,FTS):

library(zoo) 
z <- zoo(data.frame(a=1:50, b=3:52), as.Date(1:50)) 
rollapply(z, 30, cor, by.column=F, align = "right") 

你也可以找到在该chart.RollingCorrelation功能PerformanceAnalytics包有用。

+0

感谢您的快速响应。你让我朝着正确的方向前进。通过帮助文件混淆以获得最终解决方案。 – Milktrader 2010-03-18 02:15:00

+0

我从动物园获得了rollapply方法。检查它与我从Excel获得的结果相匹配。 我做了不同的一件事是用read.zoo方法读入文件,并从头开始敲掉动物园对象问题。 要设置的重要参数是by.column = F。我一开始并没有把它扔进垃圾。 – Milktrader 2010-03-18 02:46:39

+0

是的。我在我的例子中设定了这个理由。 by.column = F意味着它不会单独对每列进行滚动应用,而是一次全部将其全部传递。还要确保你使用align =“right”。 – Shane 2010-03-18 03:16:00