[R] [SOLVED] Two functions as parametrs of a function.

From: KENNETH R CABRERA <krcabrer_at_une.net.co>
Date: Thu, 07 Apr 2011 09:12:23 -0500

Dr. Murdoch:

Thank you very much for your help.

Where can I find a more systematic documentation about these topics?

I mean, examples of "do.call", environments, "as.function", the scoping and the way understand when to use "force", etc.

Again, thank you.

Kenneth

> On 07/04/2011 7:45 AM, Kenneth Roy Cabrera Torres wrote:
> >Hi R users:
> >
> >I'm trying to make a function where two of the parameters are
> >functions, but I don't know how to put each set of parameters for
> >each function.
> >
> >What am I missing?
> >
> >I try this code:
> >
> >f2<-
> function(n=2,nsim=100,fun1=rnorm,par1=list(),fun2=rnorm,par2=list()){> force(fun1)
> > force(fun2)
> > force(n)
> > p1<-unlist(par1)
> > p2<-unlist(par2)
>
> You don't want to unlist those. Leave them as lists, and
> use the do.call() function for the calls. For example,
>
> localfun1 <- function() do.call(fun1, c(list(n), par1))
>
>
> > force(p1)
> > force(p2)
>
> Calling force() is only useful for arguments to your
> function: it kicks the evaluator, so it's not so
> lazy. Since p1 and p2 were calculated earlier,
> there's no need to force them. You might need to force n,
> since it is only used in the localfun1 and localfun2 calls, and
> if the argument to f2 changes before you make those calls, the
> wrong value will be used. That's pretty unlikely with your
> code, but since fun1 and fun2 can do anything, it's safest to
> fix the value of n before you call them. The same argument
> applies to fun1 and fun2 themselves.
>
> Duncan Murdoch
>
> > localfun1<- function() fun1(n, p1)
> > localfun2<- function() fun2(n, p2)
> > vp<-
> replicate(nsim,t.test(localfun1(), localfun2())$p.value)
> > return(vp)
> >}
> >
> >f2(fun1=rbeta,par1=list(shape1=2,shape2=2),fun2=rbeta,par2=list(shape1=1,shape2=2))
> >
> >Thank you for your help.
> >
> >Kenneth
> >
> >______________________________________________
> >R-help_at_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.
>

        [[alternative HTML version deleted]]



R-help_at_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. Received on Thu 07 Apr 2011 - 14:20:21 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 07 Apr 2011 - 15:00:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive