Я создал эту функцию:
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:
apply(b,1,nDone)
И получаю следующую ошибку:
Error in under/strike : 'strike' is missing
Я также пытался:
lapply(b,nDone)
Я получаюошибка:
Error in under/strike : 'strike' is missing
Я хочу получить несколько результатов функции.Что я тут не так делаю?