[R] manipulating "..." inside a function
Ben Bolker
ben at zoo.ufl.edu
Fri Mar 21 21:59:23 CET 2003
I have a couple of slightly ugly functions to do this in my bbmisc
package:
clean.args <- function(argstr,fn,extrabad=NULL,dots.ok=TRUE) {
fnargs <- names(formals(fn))
if (length(argstr)>0 && !("..." %in% fnargs && dots.ok)) {
badargs <- !sapply(names(argstr),"%in%",c(fnargs,""))
argstr <- argstr[!badargs]
}
for (i in extrabad)
argstr[[i]] <- NULL
argstr
}
remove.args <- function(argstr,fn) {
fnargs <- names(formals(fn))
argstr[!(names(argstr) %in% fnargs)]
}
On Fri, 21 Mar 2003, Liaw, Andy wrote:
> Dear R-help,
>
> Can some one tell me how to do the following (if it's possible)?
>
> Suppose I have a function like this:
>
> f <- function(x, y, ...) {
> ## some code
> g(x, y, ...)
> ## some more code
> }
>
> The problem is that g() may not understand everything that comes through in
> "...". Is there a way to delete some component of "..." and then pass it to
> g()?
>
> Here's the description of the real problem: f() is a panel.something
> function, and g() is a model fitting function. Lattice passes
> "panel.number" as part of "..." to f(), and g() complains about unused
> argument "panel.number".
>
> I'd be very grateful for any help!
>
> Cheers,
> Andy
>
>
> ------------------------------------------------------------------------------
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>
--
318 Carr Hall bolker at zoo.ufl.edu
Zoology Department, University of Florida http://www.zoo.ufl.edu/bolker
Box 118525 (ph) 352-392-5697
Gainesville, FL 32611-8525 (fax) 352-392-3704
More information about the R-help
mailing list