是否有可能在R函数中有多个省略号参数?我正在尝试做的简化版本是这样的:
plotgenerator<-function(x,y,...,...,...){
plot(x,y,...)
axes(...)
legend(...)
}
Run Code Online (Sandbox Code Playgroud)
我的想法是使用可选的字符串参数,如下所示:
plotgenerator<-function(x,y,plotargs="",axesargs="",legendargs=""){
plot(x,y,plotargs)
axes(axesargs)
legend(legendargs)
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.有谁知道这样的事情是否可能?我已经搜索了很多,但像"R ......"这样的搜索字符串实际上并没有很大帮助;)
fra*_*nkc 12
如果你使用的话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)
Run Code Online (Sandbox Code Playgroud)
在上面,应该inner_fxn ...在inner_args列表中传入应该由其处理的任何参数.该outer_fxn ...参数是像往常一样处理.