使用 R quantmod getSymbols 函数提示用户输入以下载报价数据
我想提示用户在控制台输入股票代码(例如 GOOG),然后使用 R 的 quantmod 包中的 getSymbols 函数下载给定股票代码的刻度数据,并使用 quantmod 的 barChart 函数创建绘图。
我
s1 <- readline("enter a symbol: ")
getSymbols(cat('"',s1,'"',sep=""),src="yahoo")
barChart(s1)
收到以下错误消息“try.xts(x, error =“chartSeries 需要 xtsible 对象”) 中的错误: ChartSeries 需要 xtsible 对象”
仅使用控制台(不提示输入)我可以得到以下结果:
> getSymbols("GOOG",src="yahoo")
[1] "GOOG"
> barChart(GOOG)
我缺少什么?
I want to prompt a user for console input of a ticker symbol (e.g. GOOG) and then use the getSymbols function in the quantmod package of R to download the tick data for the given ticker symbol and create a plot using quantmod's barChart function.
I have
s1 <- readline("enter a symbol: ")
getSymbols(cat('"',s1,'"',sep=""),src="yahoo")
barChart(s1)
I get the following error message "Error in try.xts(x, error = "chartSeries requires an xtsible object") :
chartSeries requires an xtsible object"
Using just the console (without prompting for input) I get the following to work:
> getSymbols("GOOG",src="yahoo")
[1] "GOOG"
> barChart(GOOG)
What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
s1 是一个字符串,它不是一个可强制转换为 xts 的时间序列对象(如错误所述)
尝试:
s1 is a character string, which isn't a time series object that is coercible to xts (as the error states)
Try:
您不需要
cat
并且s1
是一个字符向量。 @Jeff 解决方案的另一个选项是关闭自动分配:图表的名称将为“s2”,但您可以使用
name
参数将其更改回股票代码:You don't need
cat
ands1
is a character vector. Another option to @Jeff's solution is to turn off automatic assignment:The name of the chart will be "s2", but you can change it back to the ticker symbol with the
name
argument: