Hello, Adam,

I'm rather uncertain about your goal (and consequently even more so about how to reach it), but anyway, maybe the function match.call() with its argument expand.dots is of some help for you. From its help page:

"match.call is most commonly used in two circumstances:

To record the call for later re-use: for example most model-fitting functions record the call as element call of the list they return. Here the default expand.dots = TRUE is appropriate.

To pass most of the call to another function, often model.frame. Here the common idiom is that expand.dots = FALSE is used, and the ... element of the matched call is removed. An alternative is to explicitly select the arguments to be passed on, as is done in lm."


 Hth  --  Gerrit

On Fri, 13 Sep 2013, Adam Ryczkowski wrote:


  (This is crosspost from
  [1]http://stackoverflow.com/questions/18670895/how-to-write-a-wrapper-functi
  on-which-can-honour-default-values-when-the-target, posted week ago, where
  although the question did receive some attention, nobody was able to help
  me.)
  I'd like to write a more-or-less generic caller to `targetf` that retains
  its default parameters.
  Suppose we have a provided by some 3rd party library `targetf`:
      targetf<-function(x=1,...){
          print(paste("x =",x))
      }
  How to write `wrapperf`, that will respect `targetf`s default arguments, so
  calling `wrapperf()` would not yield the error massage `Error in paste("x
  =", x) : argument "x" is missing, with no default`?
  The obvious candidate
      wrapperf1<-function(x,y) {
          targetf(x=x)
      }
   doesn't seem to respect targetf's default value for parameter `x`.
  OTH the
      wrapperf2<-function(...) {
          targetf(...)
      }
   behaves correctly, but it doesn't work for me, because I only care to pass
  the `x` argument, (and possibly reserve the `...` to other functions in
  `wrapperf` body).
  Maybe to solve the issue I'd have to play with ellipsis filtering, which is
  a *terra incognita* for me at the moment...
      *    *    *
  One idea on how to solve the problem: maybe I'd need to create a specially
  crafted `...` object from scratch in `wrapperf` to do pseudo code like this:
      wrapperfX<-function(x,y,...)
      {
          ...<-if(missing(x){
                  list()
              }else{
                  list(x=x)
              }
          targetf(...)
      }
  But I have no idea how to even start doing assignments into ellipsis... is
  it possible at all?
  kind regards,
  Adam Ryczkowski

  [2]www.statystyka.net
  [3]+48505919892
  [4]Skype:sisteczko

References

  1. 
http://stackoverflow.com/questions/18670895/how-to-write-a-wrapper-function-which-can-honour-default-values-when-the-target
  2. http://www.google.com/
  3. callto:+48505919892
  4. skype:sisteczko
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to