在R中使用多个省略号参数

reg*_*rar 11 r

是否有可能在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 ...参数是像往常一样处理.

  • 解决方案的一个例子会很有用 (2认同)