我正在尝试在 proc IML 中使用 call randgen 来创建 10 个随机数,这些随机数遵循具有某些参数的 Weibull 分布。这是我正在使用的代码(显然会有不止一个循环,但我现在只是在测试):
do i = 1 to 1;
Call randgen(Rands[i,1:Ntimes], 'Weibull', alpha[i], beta[i]);
print (rands[1,1:Ntimes]);
print (alpha[i]) (beta[i]);
end;
对于此示例,Ntimes = 10,alpha[i] = 4.5985111,beta[i] = 131.79508。我的问题是 10 个迭代/随机数中的每一个都返回为 1。我在 R 中使用了具有相同参数的 rweibull 函数并得到了有意义的结果,所以我认为它与 SAS 或我的代码有关,而不是参数的问题。我是否正确使用了 Randgen 调用?有谁知道为什么结果会这样出来?