3

我在 R 中有一个函数可以很好地接受标量值,但它不接受向量。

有没有办法在它上面放置一个包装器,所以这个包装器函数可以接受一个向量?

函数本身有 5 个参数。

我试过的

我已经尝试了所有我能想到的 和 的组合sapplylapply并且mapply至少可以说,R 不断给出一些晦涩难懂的错误。

4

1 回答 1

3

知道了。

原来的函数调用是:

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

方法一

要使其接受向量输入,只需mapply在函数调用前添加并将第一个左括号(转换为逗号,

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

方法二

感谢@Roland,键入??Vectorize以查找可以包装函数以使其接受向量的函数。

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

在幕后,Vectorize 正在调用mapply.

于 2013-08-24T14:54:53.097 回答