当函数没有输入时,R中返回函数值向量的惯用方法是什么?

Joh*_*ton 4 r

假设我编写的函数不接受任何输入但返回随机变量,例如,

example.f <- function() runif(1, 0, 1)
Run Code Online (Sandbox Code Playgroud)

如果我想从这个函数得到一个长度为100的结果向量,我不能这样做:

rep(example.f(), 100)
Run Code Online (Sandbox Code Playgroud)

因为它只是重复第一个返回值.我可以这样做,具有匿名功能:

sapply(1:100, function(x) example.f())
Run Code Online (Sandbox Code Playgroud)

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

Dav*_*son 8

使用复制:

replicate(100, example.f())
Run Code Online (Sandbox Code Playgroud)