【发布时间】:2013-11-19 01:58:04
【问题描述】:
我想生成 0 到 10^12 之间的 10000 个整数随机数。 通常,代码如下所示:
x <- sample(0:1000000000000,10000,replace=T)
但我收到以下错误消息:
Error in 0:1000000000000 : result would be too long a vector
有没有一种内存效率更高的方法,不必将 10^12 个整数放入一个向量中即可获得大小为 10000 的样本? 如果没有,有没有办法增加向量的最大大小?我正在开发具有 12GB 可用 RAM 的 64 位操作系统。
【问题讨论】:
-
它们需要是唯一的吗?
-
您是否估计过包含 10^12 个元素的向量的内存需求? 12 GB 是不够的。
-
为什么要这么大的范围?本质上,您要求的是具有 12 位精度的均匀随机样本,我无法理解对这种精细细节的需求。