相关疑难解决方法(0)

将参数传递给单个向量中的函数

我创建了以下功能:

nDone <- function(under,strike,ttoe,vol,rf,dy) {
    pnorm(((log(under/strike)+ (rf-dy+(vol^2)/2)*ttoe)/(vol*(ttoe^0.5))))
}

nDone(90,100,3,0.17,0.05,0)
# Result: 
[1] 0.6174643
Run Code Online (Sandbox Code Playgroud)

然后我用以下函数调用该函数:

d <- c(90,100,3,0.17,0.05,0)

nDone(d)

Error in under/strike : 'strike' is missing
Run Code Online (Sandbox Code Playgroud)

结果

nDone <- function(under,strike,ttoe,vol,rf,dy) {
    pnorm(((log(under/strike)+ (rf-dy+(vol^2)/2)*ttoe)/(vol*(ttoe^0.5))))
}

nDone(90,100,3,0.17,0.05,0)
# Result: 
[1] 0.6174643
Run Code Online (Sandbox Code Playgroud)

好到目前为止都很好.

现在我在对象中创建一个具有相同值的向量:

d <- c(90,100,3,0.17,0.05,0)

nDone(d)

Error in under/strike : 'strike' is missing
Run Code Online (Sandbox Code Playgroud)

我尝试使用该对象调用该函数.

nDone <- function(under,strike,ttoe,vol,rf,dy) {
    pnorm(((log(under/strike)+ (rf-dy+(vol^2)/2)*ttoe)/(vol*(ttoe^0.5))))
}

nDone(90,100,3,0.17,0.05,0)
# Result: 
[1] 0.6174643
Run Code Online (Sandbox Code Playgroud)

我收到以下错误.

d <- c(90,100,3,0.17,0.05,0)

nDone(d)

Error in under/strike : 'strike' is missing
Run Code Online (Sandbox Code Playgroud)

我做错了什么以及如何解决?

谢谢

RSG

arguments r function parameter-passing

24
推荐指数
1
解决办法
2万
查看次数

标签 统计

arguments ×1

function ×1

parameter-passing ×1

r ×1