如何使用 sas 中的 ranuni() 函数生成 10 到 50 之间的随机整数。
为了生成 1 到 5 之间的随机整数,我使用了这段代码
data random;
do i=1 to 10;
random_int = int(ranuni(0) * 5 + 1);
output;
end;
跑;
如何使用 sas 中的 ranuni() 函数生成 10 到 50 之间的随机整数。
为了生成 1 到 5 之间的随机整数,我使用了这段代码
data random;
do i=1 to 10;
random_int = int(ranuni(0) * 5 + 1);
output;
end;
跑;
使用相同的逻辑,您可以使用:
random_int = int(ranuni(0) * 41 + 10);
ranuni
从区间返回一个值<0, 1>
,将它乘以 41 得到一个值<0, 41>
,再加上 10,最终值是从<10, 51>
。转换为 int 只是截断了小数部分,所以你永远不会得到 51。
一般:
a * ranuni(seed) + b;
从区间返回一个值<b, a + b>
。
如果 u 是 [0,1] 中的随机均匀变量,则 x = a + (ba)*u 是 [a,b] 上的随机均匀变量。请参阅http://blogs.sas.com/content/iml/2011/08/24/how-to-generate-random-numbers-in-sas/