我正在使用quantmod
从Yahoo下载数据:
> 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
如何使用此对象?
答案 0 :(得分: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))
答案 1 :(得分:3)
HNZ <- getSymbols('HNZ-A.TO', auto.assign=FALSE)
。
答案 2 :(得分:3)
另一个替代方法是setSymbolLookup
告诉getSymbols
在查询中使用其他符号。
> setSymbolLookup(HNZ=list(src="yahoo", name="HNZ-A.TO"))
> getSymbols("HNZ")
[1] "HNZ"
答案 3 :(得分:-1)
好的,但是你不能得到报价。也许另一种解决方案可能是:
HNZ&lt; -read.csv(&#34; http://ichart.finance.yahoo.com/table.csv?s=HNZ-A.TO&ignore=.csv&#34 ;, stringsAsFactors = F)
头(HNZ)
优势在于,您可以轻松获得所需的列。