我编写了一个函数 x <- function() ...
,它根据我想研究的分布生成随机数。
> x()
[1] 0.8947771
> x()
[1] 0.4478619
我可以通过 for 循环使用
x
生成 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)
。
最佳答案
关于r - 如何从生成随机数的用户定义函数中采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19161405/