GetQuote:.rowNamesDF <-`(x,值=值)中的错误:无效的'row.names'长度getsymbols

时间:2019-01-04 01:30:38

标签: r quantmod

我想从Qunatmod中获取所有符号,并使用所有getquote结果创建一个数据框。

symbols <- stockSymbols()
symbols <- symbols[,1]
symbols <- unique(symbols)

df <- getQuote((symbols))

“下载集:1、2、3,.rowNamesDF<-(x,值=值)中的错误:'row.names'长度无效”

我收到无效的row.names长度错误。

1 个答案:

答案 0 :(得分:1)

发生这种情况是因为有些符号无法返回。这也可能与Yahoo上的音量限制请求有关。请查看帮助页面以获取详细信息。

解决此问题的一种方法是利用try()。在前1000个符号中,类似这样的内容对我有效:

library(data.table)
dat <- lapply(symbols, function(x) try(getQuote(x)))
#create boolean for the symbols that retuned correctly
is_df <- sapply(dat, is.data.frame)
#bind them together
out <- rbindlist(dat[is_df], use.names = TRUE, fill = TRUE)
#add the names back
out[, Symbol := symbols[is_df]]
相关问题