[R] manipulating "..." inside a function

Liaw, Andy andy_liaw at merck.com
Fri Mar 21 22:40:57 CET 2003


Thanks to those who responded.  I finally got by with some pretty ugly hack
(ceorcing ... to list, delete the unwanted part, add other arguments, and
use do.call).

Cheers,
Andy

> -----Original Message-----
> From: Ben Bolker [mailto:ben at zoo.ufl.edu]
> Sent: Friday, March 21, 2003 3:59 PM
> To: Liaw, Andy
> Cc: 'r-help at stat.math.ethz.ch'
> Subject: Re: [R] manipulating "..." inside a function
> 
> 
> 
>   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