我是R的新手,我正在尝试将我的代码存储在CSV文件中,从CSV中读取代码并运行一些代码,我的CSV只有3行:
股票代码
YHOO
IBM
下面是我的代码。
Stocks <- read.csv(file.choose(),head=T) # tried to put in sep="," no luck
#loop through the tickers
for (i in Stocks){
getSymbols(i)
# do something here
}
然后我得到这个错误 do.call出错(paste(“getSymbols。”,symbol.source,sep =“”),list(符号= current.symbols,: 找不到功能“getSymbols.1”
我尝试调试,所以我做
for(i in stocks){print(i)}
[1] YHOO IBM
级别:IBM YHOO
这就是我得到的。我想当我试图运行循环时,代码将YHOO IBM作为1个自动收报机,而不是一次加载1个自动收报机。 有人可以建议什么是从CSV文件中读取的正确方法并循环通过自动收报机? 感谢建议!
答案 0 :(得分:2)
您的read语句和data.frame没有任何问题。唯一的问题是你的for
循环。你需要:
for (i in Stocks$Ticker) {print (i)}
[1] "YHOO"
[1] "IBM"
答案 1 :(得分:0)
getSymbols可以将向量作为输入,因此不需要循环,例如,您可以执行以下操作:
Stocks <- read.csv(file.choose(),head=T)
getSymbols(as.vector(Stocks$Ticker))