假设我有一个功能
test< - function(s,t){
..
} 这需要两个参数。
我怎样才能使它也只需要一个参数,即test(t)
会返回test(t,t)
?提前谢谢。
答案 0 :(得分:2)
因为R使用延迟评估,您可以将第二个参数的默认值设置为等于第一个参数...
foo <- function(s,t=s) {
s+t
}
> foo(4)
[1] 8
> foo(4,5)
[1] 9
答案 1 :(得分:0)
为参数设置默认值是最简单的,但您也可以使用函数内部的missing
函数(在if
语句中)来检查是否为函数提供了参数并根据这一点做一些不同的事情。