質問

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(). 。次の例は機能しますが、変数名を次のように変更することをお勧めします getGet混乱する可能性があります。

require(quantmod)

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

vClose("SPY")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top