Function to facilitate the control of arguments passed to subroutines.
Many R functions need to pass several arguments to several different subroutines. Such arguments can are given as part of the three magic dots "...". The function SmartControl reads the dots together with a list of default values and returns for each subroutine a list of arguments.
SmartControl(call, keys, ignore, defaults, forced, split, ignore.case = TRUE, replaceDefaults, verbose = TRUE)
call |
A list of named arguments, as for example can be obtained via
|
keys |
A vector of names of subroutines. |
ignore |
A list of names which are removed from the argument
|
defaults |
A named list of default argument lists for the subroutines. |
forced |
A named list of forced arguments for the subroutines. |
split |
Regular expression used for splitting keys from arguments.
Default is |
ignore.case |
If |
replaceDefaults |
If |
verbose |
If |
Thomas Alexander Gerds <tag@biostat.ku.dk>
myPlot = function(...){ ## set defaults plot.DefaultArgs=list(x=0,y=0,type="n") lines.DefaultArgs=list(x=1:10,lwd=3) ## apply smartcontrol x=SmartControl(call=list(...), defaults=list("plot"=plot.DefaultArgs, "lines"=lines.DefaultArgs), ignore.case=TRUE,keys=c("plot","axis2","lines"), forced=list("plot"=list(axes=FALSE),"axis2"=list(side=2))) ## call subroutines do.call("plot",x$plot) do.call("lines",x$lines) do.call("axis",x$axis2) } myPlot(plot.ylim=c(0,5),plot.xlim=c(0,20),lines.lty=3,axis2.At=c(0,3,4))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.