我想提示用户输入股票代码的控制台输入(例如GOOG),然后使用R的quantmod包中的getSymbols函数下载给定股票代码的tick数据,并使用quantmod的barChart函数创建一个图表
我有
s1 <- readline("enter a symbol: ")
getSymbols(cat('"',s1,'"',sep=""),src="yahoo")
barChart(s1)
我收到以下错误消息“try.xts中的错误(x,错误=”chartSeries需要一个xtsible对象“): chartSeries需要一个xtsible对象“
仅使用控制台(不提示输入)我得到以下工作:
> getSymbols("GOOG",src="yahoo")
[1] "GOOG"
> barChart(GOOG)
我错过了什么?
答案 0 :(得分:3)
s1是一个字符串,它不是一个可以对xts强制的时间序列对象(作为错误状态)
尝试:
s1 <- "AAPL"
getSymbols(s1)
barChart(get(s1))
答案 1 :(得分:3)
您不需要cat
,s1
是一个字符向量。 @ Jeff解决方案的另一个选择是关闭自动分配:
s2 <- getSymbols(s1, auto.assign=FALSE)
barChart(s2)
图表的名称将为“s2”,但您可以使用name
参数将其更改回股票代码:
barChart(s2, name = s1)