【发布时间】:2014-07-18 07:07:51
【问题描述】:
简单的问题,我希望。如果用户未指定,我想编写一个绘图函数,该函数具有 y 轴标签的默认值。我还想允许... 参数用于其他绘图参数,并允许用户手动设置ylab。但我不知道该怎么做。
# simple scatterplot function with a default ylab
scatter <- function(x,y, ...) {
plot(x, y, ylab="Default y-axis label", ...)
}
# generate data
x <- rnorm(100)
y <- x+rnorm(100)
# use the default
scatter(x,y)
# here I want to use my own label, but I get an error!
scatter(x, y, ylab="New y-axis label")
我得到的错误是:
Error in plot.default(x, y, ylab = "Default y-axis label", ...) :
formal argument "ylab" matched by multiple actual arguments
我了解问题所在,但我不知道解决问题的最佳方法。感谢您的帮助!
编辑:我意识到我可以做类似的事情
scatter <- function(x,y,ylab = "Default y-axis label", ...) {
plot(x, y, ylab= ylab, ...)
}
...但是如果我正在编写一个要提交给 CRAN 的包,并且我有很多默认选项我想摆弄,我不想记录所有这些标准绘图参数,因为它们'在我的函数定义中使用。
【问题讨论】:
标签: r function argument-passing