2011-07-23 4 views
5

Yahooからシンボルを取得した後、過去のボラティリティを提供する関数を作成しようとしています。しかし、出力をボラティリティ関数に渡すと、ボラティリティ関数が気に入らない。 Get変数には引用符付きのベクトルが割り当てられます。 "SPY"しかし、ボラティリティ機能は引用符なしでしか使用できません(SPYには "SPY"はありません)。数学関数Rのクォート解析:Quantmodアプリケーション

私のコード

require(quantmod) 

vClose = function(X){ 
Get <- getSymbols(X, from="2000-01-01", src="yahoo") 
Set <- noquote(Get) 
volatility(Set, calc="close") 
} 

どれでも役立つだろうに非数値引数:ログに

エラー(X):私はnoquote()を使用してオフに引用符を取り、今、次のエラーを取得しよう偉大になる。

答えて

1

ちょうどgetSymbolsにお電話でauto.assign=FALSEを設定します。

require(quantmod) 
Get <- getSymbols("SPY", from="2000-01-01", auto.assign=FALSE) 
volatility(Get, calc="close") 
2

noquote()は答えではありません。代わりにget()が必要です。次の例では、変数名を変更したい場合がありますが、getGetは混乱する可能性があります。

require(quantmod) 

vClose = function(X){ 
Get <- getSymbols(X, from="2000-01-01", src="yahoo") 
volatility(get(Get), calc="close") 
} 

vClose("SPY") 
+0

を本当にありがとうございました!大きな助け。 – jd8585