R 函数中是否可以有多个省略号参数?我正在尝试做的简化版本是这样的:
plotgenerator<-function(x,y,...,...,...){
plot(x,y,...)
axes(...)
legend(...)
}
我的想法是使用可选的字符串参数,如下所示:
plotgenerator<-function(x,y,plotargs="",axesargs="",legendargs=""){
plot(x,y,plotargs)
axes(axesargs)
legend(legendargs)
}
但这不起作用。有谁知道这样的事情是否可能?我为此搜索了很多,但是像“R ...”这样的搜索字符串实际上并不是很有帮助;)
最佳答案
如果您使用 do.call
,您可以使用类似于您的第二选择的内容。 ,它允许您将参数作为列表传递给函数。例如。通axesarg
作为列表,然后在您的函数中有: do.call(axes,axesarg)
等等
例如:
outer_fxn <- function(inner_args=list(), ...) {
do.call(inner_fxn, inner_args)
}
inner_fxn <- function(...) {
# do stuff
}
# function call
outer_fxn(inner_args=list(a=1, b=2), outer_arg1=3, etc)
在上面,任何应该由
inner_fxn
处理的参数...
应该在 inner_args
中传递列表。 outer_fxn
...
参数照常处理。
关于r - 在 R 中使用多个省略号参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5080972/