2012-02-13 40 views
4

假设我写一个函数,没有输入,但返回随机变量如当函数没有输入时,R中返回函数值向量的习惯用法是什么?

example.f <- function() runif(1, 0, 1) 

如果我想要得到长的矢量从这个函数返回的结果为100,我不能做到这一点:

rep(example.f(), 100) 

因为它只是重复第一个返回的值。我可以这样做,使用匿名功能:

sapply(1:100, function(x) example.f()) 

但这让我觉得有点不雅。有另一种方法吗?

+1

有臭虫在你代表的例子。你应该在函数exmaple.f后加上括号。 – 2012-02-13 14:28:29

回答

8

使用重复:

replicate(100, example.f()) 
+1

真正有功能的程序员使用plyr的'r_ply'来代替 – baptiste 2012-02-13 03:27:09

相关问题