你可以使用" ...",例如
传递函数中的参数myfun <- function(..., cex=0.7, mytext=1:10){
plot(...)
text(...,label=mytext)
}
有没有办法获得&#34; ...&#34;的价值?里面的功能? 假设你做了
myfun(runif(10), runif(10), cex=0.3, label=1:10)
你会得到一个错误,因为cex在text()中被设置了两次,所以很高兴从&#34; ...&#34;中提取x和y。用于文本()。 (我知道par(&#34; usr&#34;)可用于从绘图设备中获取x和y)。
答案 0 :(得分:7)
有不同的方式:
最简单的方法是使用
dots = list(...)
返回参数的命名列表。但是,这会评估所有参数,虽然这通常是 你想要的东西,但有时却不是。要获得未评估的参数列表,请使用
dots = match.call(expand.dots = FALSE)$...
为了说明差异,请考虑
f = function (...) list(...)
g = function (...) match.call(expand.dots = FALSE)$...
被称为
f(2 + 2)
g(2 + 2)
结果:
[[1]]
4
[[1]]
2 + 2