【发布时间】:2012-09-17 15:36:55
【问题描述】:
我将如何有效地对值 1:n 进行 1×1 升序随机抽样,确保每个随机抽样值始终高于 之前的值?
例如:
对于值 1:100,获取一个随机数,例如 61。(当前列表=61)
然后在 62 到 100 之间选择另一个数字,比如 90(当前列表=61,90)
然后在 91 到 100 之间选择另一个数字,比如 100。
在达到最大值时停止进程(最终列表=61,90,100)
我一直陷入循环,以这种笨拙的方式思考:
a1 <- sample(1:100,1)
if(a1 < 100) {
a2 <- sample((a+1):100,1)
}
etc etc...
我想报告一个最终向量是 a1,a2,a(n) 的串联:
result <- c(a1,a2)
尽管这听起来像是一个家庭作业问题,但事实并非如此。谢天谢地,我多年前离开了做作业的日子。
【问题讨论】: