【发布时间】:2012-08-07 08:11:49
【问题描述】:
我是 R 编程的新手,现在正在开发一个可以与 R 交互的系统。我的问题是:
如何从脚本中的硬编码而不是从“yahoo”“google”等各种来源获取引号?
为什么我需要在脚本中硬编码引号?
我使用 Rserve 作为我的下游系统,主系统获取数据并执行其他投资组合检查,然后调用 R-TTR-quantmod 包以计算财务数字。所以我不希望 R 重新获取这些引号,所以我希望引号被硬编码并从我的系统发送到Rserve,在那里它被执行并从那里返回结果。这样我的代码将依赖于 R 的标准计算,用户可以专注于其他业务逻辑。
为什么我不使用 csv 文件方法?
我在一个实时系统中,文件 io 会花费大量时间并且会降低我的系统速度。
例如:
library(quantmod)
library(TTR)
从 Yahoo! 中提取 S&P500 指数数据金融
getSymbols("^RIL", from="2000-01-01", to="2008-12-07")
计算 RSI 指标
rsi <- RSI(Cl(RIL),2)
所以这就是我需要的:
- 而不是调用
getSymbol我想将数据作为 脚本中的变量。 - 我认为数据有时可能非常大或有时非常小。
- 那么在这种情况下我应该怎么做?
【问题讨论】:
-
如果我理解正确,您可能会发现
dput很有用。它返回 R 数据结构的代码,您可以将其放入脚本中以复制数据项。 -
如果数据已经存在,作为
xts对象,可以直接使用。例如,如果数据在变量x中,则可以使用rsi <- RSI(x,2)或rsi <- RSI(Cl(x),2)。