在SAS中生成随机数

San*_*pta 6 sas

如何使用sas中的ranuni()函数生成10到50之间的随机整数.

为了生成1到5之间的随机整数,我使用了这段代码

data random;
 do i=1 to 10;
    random_int = int(ranuni(0) * 5 + 1);
    output;
 end;
Run Code Online (Sandbox Code Playgroud)

跑;

Unk*_*nts 8

使用相同的逻辑,您可以使用:

random_int = int(ranuni(0) * 41 + 10);
Run Code Online (Sandbox Code Playgroud)

ranuni从interval返回一个值<0, 1>,乘以41得到一个值<0, 41>,加10,最终值来自<10, 51>.转换为int只会截断小数部分,所以你永远不会得到51.

Generaly:

a * ranuni(seed) + b;
Run Code Online (Sandbox Code Playgroud)

从interval返回一个值<b, a + b>.