导读:请教SAS高手一个数据步的问题(Do循环), 请教SAS高手一个数据步的问题(Do循环),我想在SAS中产生一系列的随机数,具体来说:对应id为1 ,产生1个随机数,对应id为2,产生2随机数,以此类推,一直到id=99时,产生99个随机数.但是我目前写的程序,每个id均只能产生一个随机数(也就是数据库里只有99条记录,但是我想得到1+2+3+...+99共4950条记录),不...
请教SAS高手一个数据步的问题(Do循环),
请教SAS高手一个数据步的问题(Do循环),
我想在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两个变量呢?
landel
1年前他留下的回答
已收到1个回答
蒸气冰
网友
该名网友总共回答了18个问题,此问答他的回答如下:采纳率:94.4%
data s;
do id=1 to 99;
do j=1 to id;
ran=(248-((j-1)*2))+(24.8-((j-1)*0.2))*rannor(j);
output;
end;
end;
run;
再套一个循环就好了,
宏程序的循环里面,id是作为宏变量~所以不会显示在数据集里面.
1年前他留下的回答
9
以上就是小编为大家介绍的请教SAS高手一个数据步的问题(Do循环), 的全部内容,如果大家还对相关的内容感兴趣,请持续关注小蜗的小窝网!
标签:
内容声明:网站所展示的内容均由第三方用户投稿提供,内容的真实性、准确性和合法性均由发布用户负责。诚智拓展网对此不承担任何相关连带责任。诚智拓展网遵循相关法律法规严格审核相关关内容,如您发现页面有任何违法或侵权信息,欢迎向网站举报并提供有效线索,我们将认真核查、及时处理。感谢您的参与和支持!