gpt4 book ai didi

r - 如何将多个参数作为单个向量传递给函数?

转载 作者:行者123 更新时间:2023-12-03 10:58:47 25 4
gpt4 key购买 nike

我用六个参数创建了以下函数:

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

现在,我在一个对象中创建一个具有相同值的 vector ,并尝试使用该 vector 调用该函数,但出现以下错误:
d <- c(90,100,3,0.17,0.05,0)

nDone(d)

Error in under/strike : 'strike' is missing

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

最佳答案

尝试这个

 do.call(nDone, as.list(d))

@joran从注释中首次尝试发生的情况的解释:

R看到您将一个参数传递给 nDone,即 vector d,该参数已传递给第一个函数参数 under。由于您尚未为其他用户指定默认值,因此它们丢失了,因此会出现错误

关于r - 如何将多个参数作为单个向量传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9235781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com