SAS可以ranuni(0)返回0吗?

时间:2015-10-24 23:31:57

标签: random sas

函数ranuni(0)是否可以返回0?我知道理论概率为零,但实际上它取决于发电机。

2 个答案:

答案 0 :(得分:3)

我会说不。文档将范围列为(0,1)。注意使用()代替[],这是排除间隔结束点的正常表示法。

较新的RAND('uniform')函数是比RANUNI()更好的随机数生成器。该功能的文档清楚地表明范围是0 <0。 x&lt; 1。

答案 1 :(得分:2)

不,它不能返回零(或一)。

用于计算下一个随机数的formula SAS用于:

SEED = mod( SEED * 397204094, 2**31-1 )
RETURN (SEED/(2**31-1))

由于2**31-1是素数而新种子本身不能是2 ** 31-1(由于使用了模运算符),mod([anything],2**31-1)永远不会返回0。