Try this: f2 <- function(n, nsim, fun1, fun2) { vp <- replicate(nsim, do.call(fun1$name, c(n, fun1$args)), do.call(fun1$name, c(n, fun1$args))) vp
} f2(2, 100, fun1 = list(name = rbeta, args = list(shape1 = 2, shape2 = 2), fun1 = list(name = rbeta, args = list(shape1 = 2, shape2 = 2)))) On Thu, Apr 7, 2011 at 8:45 AM, Kenneth Roy Cabrera Torres <krcab...@une.net.co> 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) > force(p1) > force(p2) > 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@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. > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O ______________________________________________ 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.