4

我正在使用以下方式从 Yahoo 下载数据quantmod

> getSymbols("HNZ-A.TO")
[1] "HNZ-A.TO"
Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m,  :
  downloaded length 70893 != reported length 200

该文件显示在我的 R 工作区中。数据在那里,我可以edit用来查看对象,但我不能使用对象。例如:

> head(HNZ-A.TO)
Error in head(HNZ - A.TO) : object 'HNZ' not found

我可以做些什么来使用这个对象?

4

4 回答 4

3

使用反引号或get.

HNZA.TO <- `HNZ-A.TO`
HNZA.TO <- get("HNZ-A.TO")

auto.assign=FALSE或者,您可以通过设置调用来完全避免这种情况getSymbols

HNZA.TO <- getSymbols("HNZ-A.TO", auto.assign=FALSE)

您可能还想通过以下方式调整列名:

colnames(HNZA.TO) <- make.names(colnames(HNZA.TO))
于 2013-02-07T20:45:23.637 回答
3

HNZ <- getSymbols('HNZ-A.TO', auto.assign=FALSE)根据 getSymbols 的帮助页面。

于 2013-02-07T20:46:10.060 回答
3

另一种选择是setSymbolLookup告诉getSymbols在查询中使用不同的符号。

> setSymbolLookup(HNZ=list(src="yahoo", name="HNZ-A.TO"))
> getSymbols("HNZ")
[1] "HNZ"
于 2013-02-07T21:08:28.720 回答
-1

好的,但是你不能得到报价。也许另一种解决方案可能是:

HNZ<-read.csv(" http://ichart.finance.yahoo.com/table.csv?s=HNZ-A.TO&ignore=.csv ", stringsAsFactors=F)

负责人(新西兰)

优点是仍然很容易轻松获得您想要的列。

于 2015-06-02T18:32:31.193 回答