在 R 中,我想做这样的事情:
我有一个函数 f1,它有一个带有默认值的参数; k=3。
f1 = function(x,k=3){
u=x^2+k
u
}
然后我定义了第二个函数 f2 来调用 f1。
f2 = function(z,s){
s*f1(z)
}
允许 f2 用户覆盖内部函数 f1 中 k 的默认值的最简洁方法是什么?一种简单的解决方案是将 f2 重新定义为:
f2 = function(z,s,K){
s*f1(z,K)
}
然而,我觉得如果我正在处理一个大的函数层次结构,这可能会很麻烦。有什么建议么?谢谢。
处理这个问题最简单的方法是使用...
争论。这允许您将任意数量的附加参数传递给其他函数:
f1 = function(x,k=3){
u=x^2+k
u
}
f2 = function(z,s, ...){
s*f1(z, ...)
}
您会看到这通常用于使用许多可选参数调用其他函数的函数中,例如plot
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)