我在将股票定价数据导入到R时遇到了一些问题。我有超过4k个符号的列表,有些不再有效/有效。我在列表中使用了一个名为get.hist.quote的lapply,但是一些糟糕的收单机构太多地阻止了它,因为它不是一个实用的方法。以下这篇文章:l_ply: how to pass the list's name attribute into the function?并试图使用接受的答案是我能找到的看似最好的方法,但它不起作用。 l_ply不会将任何符号加载到我的工作区中。我得到这些警告:getSymbols没有按预期返回数据
Warning messages:
1: In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 90279 != reported length 200
2: In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 87827 != reported length 200
3: In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
downloaded length 89737 != reported length 200
上面引用的我试图使用的代码如下。有没有解决这个问题?我看到有关类似情况的其他帖子,但是像这样的修复程序并不适合我。如果其他人有一个很好的方式让我获得很多代码的日常数据,我愿意接受所有建议。提前致谢。
library(quantmod)
library(plyr)
symbols <- c("MSFT","C","MMM")
#1
l_ply(symbols, function(sym) try(getSymbols(sym)))
symbols <- symbols[symbols %in% ls()]
#2
sym.list <- llply(symbols, get)
#3
data <- xts()
for(i in seq_along(symbols)) {
symbol <- symbols[i]
data <- merge(data, get(symbol)[,paste(symbol, "Close", sep=".")])
}
那些更常见的成语是警告,而不是错误。但是,你说“不按预期返回数据”。什么是预期的,它与你得到的有什么不同? – GSee
措辞不佳;是的,警告。我期待在工作空间中使用数据的符号;但是,我没有。 – StatsViaCsh
哦,我明白了。如果你使用'getSymbols(sym,env = globalenv())'它会做你所期望的。我将添加一个更常见的成语 – GSee