我希望编写一个小函数来从适当的分布中生成样本,类似于这样:
makeSample <- function(n,dist,params)
values <- makeSample(100,"unif",list(min=0,max=10))
values <- makeSample(100,"norm",list(mean=0,sd=1))
大部分代码工作正常,但我无法弄清楚如何为每个分布传递命名参数。例如:
params <- list(min=0, max=1)
runif(n=100,min=0,max=1) # works
do.call(runif,list(n=100,min=0,max=1)) # works
do.call(runif,list(n=100,params)) # doesn't work
我猜测我可能缺少一个包装函数,但是无法弄清楚。
谢谢!