3

スカラー値を非常にうまく受け入れる R の関数がありますが、ベクトルは受け入れません。

その上にラッパーを配置する方法はありますか?このラッパー関数はベクトルを受け入れることができますか?

関数自体には 5 つのパラメーターがあります。

私が試したこと

のすべての組み合わせを試してみましたがsapply、思いつく限り、控えめlapplymapply言っても、R はややあいまいなエラーを出し続けています。

4

1 に答える 1

3

とった。

元の関数呼び出しは次のとおりです。

result<-MyFunc(P=34,S=100,X=100,T=1)

方法 1

これがベクトル入力を受け入れるようにするmapplyには、関数呼び出しの前に追加し、最初の開き括弧(をコンマに変換するだけ,です:

result<-mapply(MyFunc,P=34,S=100,X=100,T=1)

方法 2

@Roland のおかげで、入力??Vectorizeして、関数をラップしてベクトルを受け入れることができる関数を見つけます。

MyFuncOnVector <- Vectorize(MyFunc)
result <- MyFuncOnVector(P=34,S=100,X=100,T=1)

舞台裏では、Vectorize が を呼び出してmapplyいます。

于 2013-08-24T14:54:53.097 に答える