Ответ 1
Попробуйте modifyList
использовать следующим образом:
f <- function(x, ...) {
defaults <- list(xlab = "x", ylab = "y")
args <- modifyList(defaults, list(x = x, ...))
do.call("plot", args)
}
У меня есть функция
somefun <- function(someparameters , ...) { plot(stuff, ...)}
Теперь я хотел бы предоставить некоторые значения по умолчанию для графика в том случае, если пользователь не указал эти аргументы. (т.е. xlab=""
).
Как предоставить набор параметров по умолчанию, но все же разрешить пользователю переопределять эти аргументы? Поскольку, если один и тот же аргумент вводится дважды, R выдает ошибку: формальный аргумент, сопоставляемый несколькими фактическими аргументами.
Мне известно, что я могу передать все эти параметры через свою функцию
somefun <- function(someparameters, main, xlab, ylab, xlim....)
но я предпочел бы этого не делать.
Есть ли какое-то легкое опрятное решение для достижения этого?
Попробуйте modifyList
использовать следующим образом:
f <- function(x, ...) {
defaults <- list(xlab = "x", ylab = "y")
args <- modifyList(defaults, list(x = x, ...))
do.call("plot", args)
}