2010-03-18 40 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