的每一行的功能我创造了这个功能:传递参数从矩阵
nDone<- function (under,strike,ttoe,vol,rf,dy) {
return(pnorm(((log(under/strike) + (rf-dy+(vol^2)/2)*ttoe)/(vol*(ttoe^0.5)))))
}
nDone(90,100,3,0.17,0.05,0)
[1] 0.6174643
到目前为止,这是罚款和工作。现在我想把这个函数应用到矩阵的每一行。
b<- c(90,95,100,100,3,2,0.17,0.18,0.05,0.05,0,0)
dim(b) <- c(2,6)
其中给出:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 90 100 3 0.17 0.05 0
[2,] 95 100 2 0.18 0.05 0
所以现在我想每一行中的元素传递给函数。我已经尝试使用适用于:
apply(b,1,nDone)
并得到以下错误:
Error in under/strike : 'strike' is missing
我也试过:
lapply(b,nDone)
我得到以下错误:
Error in under/strike : 'strike' is missing
我想要的是该函数的多个结果。我在这里做错了什么?
嗯....这是完全一样的[最后](http://stackoverflow.com/questions/9235781/passing-arguments-to-a-function-in-a-single-vector)的问题。 – joran 2012-02-10 23:33:57
嗨乔兰,我知道它看起来是一样的,我当然不会浪费任何人的时间。在这个问题现在我试图将矩阵的每一行传递给一个函数。再次感谢您的评论。 – user1181337 2012-02-10 23:43:37
是的。 @ joran对上一个问题的回答(实际上是一个评论)也应该能够回答这个问题。他留下了一点空间来进行斗争/解释。我建议你看看他的评论,看看你是否可以理解如何处理它,然后(如果你不能)回来并要求澄清那里... – 2012-02-10 23:59:52