2012-12-06 49 views
4

雖然在R中一個新的項目工作,我寫了下面的代碼:DIFF()動物園對象上失敗

sp500 <- get.hist.quote("^GSPC",start=(today <- Sys.Date())-735,quote="Cl") 
lsp500 <- log(sp500) 
rlsp500 <- diff(lsp500) 

的問題是DIFF()函數,它產生以下錯誤:

Error in MATCH(x, x) : could not find function "MATCH" 

所有其他代碼執行沒有問題。我在Mac OSX 10.8.2上使用RStudio和R版本2.15.2(2012-10-26) - 「搗蛋」。

> sessionInfo() 
R version 2.15.2 (2012-10-26) 
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit) 

locale: 
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] tseries_0.10-30 

loaded via a namespace (and not attached): 
[1] grid_2.15.2  lattice_0.20-10 quadprog_1.5-4 tools_2.15.2 zoo_1.7-9  

我在想什麼?

+1

請在你的問題中包含'sessionInfo()'的輸出。我無法在我的系統上重現錯誤。 – Roland

+0

Thx快速回復 - 我更新了問題! – Klase

+0

這是一個很好的問題,但將標題改爲'diff()在動物園對象上失敗(並且從標題中刪除R,該信息由[r]標記攜帶)會使它更好... –

回答

7

tseries::get.hist.quote默認情況下會返回一個動物園對象,但tseries包不會附加動物園,因此找不到zoo::MATCH。我假定zoo::MATCH用於diff.zoo或其中的一個函數。

附加動物園(通過library(zoo))將解決這個問題。

+0

謝謝!這確實解決了問題! – Klase