使用R语言quantmod计算股票Spike的代码报错问题求助
问题排查与修正方案
你的代码存在两个关键问题导致报错:
- 语法括号不匹配:
spike<-augenSpike(as.vector(ticker[,5]这一行末尾缺少一个闭合的括号),R解析到此处时语法中断,因此抛出"unexpected symbol"错误。 - getSymbols变量引用错误:
getSymbols(ticker)执行后,会在环境中创建以股票代码命名的对象(比如指定BABA时,生成的是BABA对象),而非将数据存入ticker变量。直接用ticker[,5]是在对字符串取子集,完全无法获取股价数据的第5列。
修正后的代码如下:
ticker <- "BABA" getSymbols(ticker) # 动态获取行情数据并查看最后5行 tail(get(ticker), 5) # 补全括号,正确提取数据的第5列传入函数 spike <- augenSpike(as.vector(get(ticker)[,5])) tail(spike)
说明:
- 补全缺失的括号后,R能正确解析函数调用,解决语法层面的报错;
- 使用
get(ticker)可动态调取对应股票代码的行情数据对象,无论ticker赋值为何种代码,都能正确获取数据列传入augenSpike函数。
内容的提问来源于stack exchange,提问作者Bubbles
相关产品推荐
相关产品推荐

