SAS:找到用于生成随机数的种子

时间:2017-03-10 21:41:51

标签: random sas

是否有可能找到用于生成一组随机数的种子SAS?

例如,如果我运行

data random;
  do i = 1 to 10;
    x = rand('uniform');
    output;
  end;
  drop i;
run;

和SAS生成一系列我喜欢的值,我可以找到生成该特定值序列的种子吗?

将种子用于特定的运行可能是有用的,例如,抖动数据。当我需要为绘图抖动数据时,我必须手动尝试不同的种子来找到一个没有(太多)重叠的种子。让SAS选择种子,运行抖动直到情节看起来很好,然后将种子设置为SAS恰好选择的任何值都会更简单。

1 个答案:

答案 0 :(得分:4)

当您使用RAND功能时,您正在寻找由SAS创建的宏变量SYSRANDOM。

28         data random;
29            *call streaminit(0);
30            do _n_ = 1 to 4;
31               x = rand('uniform');
32               output;
33               end;
34         
35            run;

NOTE: The data set WORK.RANDOM has 4 observations and 1 variables.

36         %put NOTE: &=sysrandom;
NOTE: SYSRANDOM=1065925276