2012-06-05 25 views
0

我有data.frame df與日期df$Date和密切df$Close列。 我試圖讓每年的回報,但我有問題[R從數據框中年度回報的日期和密切

我試圖

library(quantmod) 
yr <- data.frame(periodReturn(df, period='yearly', subset='2008::')) 

,並且還具有日期rownames,但不能讓它開始工作。 謝謝你的幫助。如果你只是轉換爲xts

+3

你究竟有哪些問題?你能提供你的數據樣本嗎?它會讓我們重現您遇到的具體問題。但是,如果沒有這些,只是對執行第二行時看到的問題和錯誤的描述將會有所幫助。 – Justin

+1

例如後'dput(DF)'或者,如果實在是太大了'STR(DF)'和'頭(DF)' – nico

回答

2

您的代碼幾乎工作。如果您遇到困難轉換您data.framexts,然後提供更多關於你的數據在你的問題的意見要求。

getSymbols("SPY", src='yahoo', return.class='data.frame') 
#[1] "SPY" 
class(SPY) 
#[1] "data.frame" 
as.data.frame(periodReturn(xts(SPY[["SPY.Close"]], as.Date(rownames(SPY))), 
          'yearly', subset="2008/")) 
      yearly.returns 
2008-12-31 -0.382805554 
2009-12-31 0.234929078 
2010-12-31 0.128409907 
2011-12-30 -0.001988072 
2012-06-04 0.020717131 
+0

非常感謝你。這非常有幫助。 –

+0

@ adam.888,你不應該把它轉換成xts。這個函數應該是爲你做的,但''返回'裏有兩個小的錯別字,可以防止直接使用data.frames。我已經通過電子郵件向作者發送了一個補丁。 – GSee

+0

@ adam.888,該補丁已在R-forge的Rev. 580中應用。你可以檢查出來並自己構建它(或者等到R-forge構建它,或者等待更長時間直到它被推到CRAN)。有了這個版本,'periodReturn(SPY,'annual',subset ='2008 /')'將起作用。 – GSee

相關問題