Цитаты на диапазон в 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")