R:添加参数以匹配。调用输出
假设我在R中有以下功能:R:添加参数以匹配。调用输出,r,R,假设我在R中有以下功能: tst <- function(x,y){ foo <- match.call() print(foo) } tst(4,5) 这将打印tst(x=4,y=5,6),这非常好。但是,我需要添加一个参数name,以便函数知道如何处理它。例如,我希望它是tst(x=4,y=5,z=6)。我只是尝试了foo[[length(foo)+1]]实际上,您可以将调用视为一个列表,并给它一个命名参数: > tst = function(x,y){ fo
tst <- function(x,y){
foo <- match.call()
print(foo)
}
tst(4,5)
这将打印tst(x=4,y=5,6),这非常好。但是,我需要添加一个参数name,以便函数知道如何处理它。例如,我希望它是
tst(x=4,y=5,z=6)
。我只是尝试了foo[[length(foo)+1]]实际上,您可以将调用视为一个列表,并给它一个命名参数:
> tst =
function(x,y){
foo = match.call()
foo[["this"]] ="that"
print(foo)
}
> tst(x=2,y=3)
tst(x = 2, y = 3, this = "that")
为什么需要调用
输出?你打算如何使用它?从一开始就得到一份清单不是更好吗?这源于一个问题。我想修改答案以包含nls
。与给定答案中的lm
和nls
不同,nls
需要额外的参数,如start
。因此,在mysmooth
函数中,我想添加这些参数。
> tst =
function(x,y){
foo = match.call()
foo[["this"]] ="that"
print(foo)
}
> tst(x=2,y=3)
tst(x = 2, y = 3, this = "that")