我想在SAS中产生一系列的随机数,具体来说:对应id为1 ,产生1个随机数,对应id为2,产生2随机数,以此类推,一直到id=99时,产生99个随机数。但是我目前写的程序,每个id均只能产生一个随机数(也就是数据库里只有99条记录,但是我想得到1+2+3+...+99共4950条记录),不知道怎么实现。我写的程序如下:
%macro datas;
data s;
%do id= 1 %to 99;
ran=(248-((&id-1)*2))+(24.8-((&id-1)*0.2))*rannor(&id);
output;
%end;
run;
%mend datas;
%datas;
另外,为什么这段程序运行出来只有一个变量(即ran这个变量),没有id这个变量啊? 如果不是宏程序,为什么就会产生id和ran两个变量呢?