SAS中文论坛

标题: 怎样把生成的随机数存放在不同的变量内 [打印本页]

作者: shiyiming    时间: 2010-5-27 21:49
标题: 怎样把生成的随机数存放在不同的变量内
怎样将生成的1000个随机数的和存放在x1到x10内使得1到100随机数的和存放到x1,,901到1000的随机数的和存放在x10内!
作者: shiyiming    时间: 2010-5-27 22:55
标题: Re: 怎样把生成的随机数存放在不同的变量内
Here you go:  <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->

[code:9el3tz74]data rand_1(drop = i);
  array ranNum(1000) r1-r1000;
  array x(10) x1-x10;

  do i = 1 to 1000;
    ranNum(i) = rannor(0);

    if mod(i, 100) = 1 then x(ceil(i / 100)) = 0;

    x(ceil(i / 100)) = sum(x(ceil(i / 100)), ranNum(i));
  end;
run;

%macro method_2;
  %local i;

  data rand_2;
    set rand_1(drop = x1-x10);

    %do i = 1 %to 10;
      x&amp;i&#46; = sum(of r%eval(100 * &amp;i&#46; - 99)-r%eval(100 * &amp;i&#46;));
    %end;
  run;
%mend method_2;

%method_2;[/code:9el3tz74]
作者: shiyiming    时间: 2010-5-28 00:17
标题: Re: 怎样把生成的随机数存放在不同的变量内
to jiangyanhua
随机什么数啊?
作者: shiyiming    时间: 2010-5-28 12:00
标题: Re: 怎样把生成的随机数存放在不同的变量内
[code:175gwrfn]data raw(drop=i var);
        array x{10};
        do i=1 to 1000;
                var=i; /*var=rannor(0);*/
                x(ceil(i/100))=sum(x(ceil(i/100)),var);
        end;
        output;
run;[/code:175gwrfn]
作者: shiyiming    时间: 2010-5-28 16:53
标题: Re: 怎样把生成的随机数存放在不同的变量内
谢了啊!
作者: shiyiming    时间: 2010-5-30 11:07
标题: Re: 怎样把生成的随机数存放在不同的变量内
data a;
do i=1 to 1000;
y=ranuni(10);
output;
end;
drop i;
run;
proc transpose data=a out=b;
var y;
run;
data b;
set b;
x1=sum(of col1-col100);
x2=sum(of col101-col200);
x3=        sum(of col201-col300);
x4=sum(of col301-col400);
x5=sum(of col401-col500);
x6=        sum(of col501-col600);
x7=sum(of col601-col700);
x8=sum(of col701-col800);
x9=        sum(of col801-col900);
x10=sum(of col901-col1000);
drop col1-col1000 _name_;
format x1-x10 f8.2;
run;




欢迎光临 SAS中文论坛 (https://mysas.net/forum/) Powered by Discuz! X3.2