假设我写了以下函数
f = function(x, y, ...){
plot(x, ...)
lines(y, col='red', ...)
}
当我使用参数f
调用col=
时,会抛出错误。我知道如何查找使用...
传递的参数,但我想从它们中移除col
,如果它存在,所以以下工作。我怎么能这样做?
答案 0 :(得分:2)
如果您想设置该值,最简单的方法就是截取该值,以防止它首先进入...
。
f = function(x,y,col='red',...){
plot(x,...)
lines(y,col=col,...)
}
或者你可以抓住点并调整它们,但是当你通过do.call列出时你必须传递参数
f = function(x,y,...){
plot(x,...)
dots <-list(...)
dots$col<-NULL
do.call(lines, c(list(y,col="red"), dots))
}