R:Quantmod应用程序中的解析报价
-
22-10-2019 - |
题
我正在尝试创建从Yahoo获得符号后提供历史波动性的功能。但是,当我将输出传递给波动率函数时,它不喜欢它。 get变量被指定为带引号的向量,例如“间谍”,但波动率函数仅在没有引号(间谍否“间谍”)的情况下摄取。我尝试使用noquote()取下报价,现在得到以下错误:
日志中的错误(x):非数字参数到数学函数
我的代码
require(quantmod)
vClose = function(X){
Get <- getSymbols(X, from="2000-01-01", src="yahoo")
Set <- noquote(Get)
volatility(Set, calc="close")
}
任何帮助都会很棒。
解决方案
只是设置 auto.assign=FALSE
在您的电话中 getSymbols
:
require(quantmod)
Get <- getSymbols("SPY", from="2000-01-01", auto.assign=FALSE)
volatility(Get, calc="close")
其他提示
noquote()
不是答案。相反,您想要 get()
. 。以下示例有效,尽管您可能想将变量名称更改为 get
和 Get
会感到困惑。
require(quantmod)
vClose = function(X){
Get <- getSymbols(X, from="2000-01-01", src="yahoo")
volatility(get(Get), calc="close")
}
vClose("SPY")
不隶属于 StackOverflow