1

我想提示用户在控制台输入股票代码(例如 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)

我错过了什么?

4

2 回答 2

3

s1 是一个字符串,它不是可强制转换为 xts 的时间序列对象(如错误所述)

尝试:

s1 <- "AAPL"
getSymbols(s1)
barChart(get(s1))
于 2011-07-18T19:53:02.450 回答
3

你不需要cat并且s1是一个字符向量。@Jeff 解决方案的另一个选项是关闭自动分配:

s2 <- getSymbols(s1, auto.assign=FALSE)
barChart(s2)

图表的名称将是“s2”,但您可以使用参数将其更改回股票代码name

barChart(s2, name = s1)
于 2011-07-18T19:54:25.320 回答