4

我编写了一个函数x <- function() ...,可以根据我想研究的分布生成随机数。

> x()
[1] 0.8947771
> x()
[1] 0.4478619

x我可以通过 for 循环生成 10 个随机数的列表:

> s <- c()
> for(i in 1:10) s <- c(s,x())
> s
 [1] 0.6035317 0.4556456 0.6063270 0.4567958 0.5805186 0.7688124 0.6722493
 [8] 0.3908357 0.4513608 0.2747064

然而,这似乎很笨拙。我想知道:有没有更好的方法来创建这样的列表?

在 R 中有一些生成列表数字的简洁方法,例如(1:10)^2(生成正方形)和runif(10,0,1)(生成 0 到 1 之间的均匀随机数),rnorm(10)(生成正态分布数字),但我似乎无法理解在我的情况下工作:x(1:10)返回Error in x(1:10) : unused argument(s) (1:10)

4

1 回答 1

7

尝试使用replicate

replicate(10, x())

另请注意,您在Circle 2中,请阅读R inferno

于 2013-10-03T14:09:14.103 回答