Вы можете сделать что-то похожее на ваш второй выбор, если вы используете 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
...
обрабатываются как обычно.