4

在 R 中处理一个新项目时,我编写了以下代码:

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"

所有其他代码执行没有问题。我正在使用 RStudio 和 R 版本 2.15.2 (2012-10-26) -- Mac OSX 10.8.2 上的“不给糖就捣蛋”。

> 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      

我错过了什么?

4

1 回答 1

7

tseries::get.hist.quote默认情况下返回一个动物园对象,但 tseries 包不附加动物园,所以zoo::MATCH找不到。我假设在它调用的函数zoo::MATCHdiff.zoo或其中一个函数中使用。

附加动物园(通过library(zoo))将解决问题。

于 2012-12-06T15:10:09.233 回答