SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 734|回复: 5
打印 上一主题 下一主题

怎样把生成的随机数存放在不同的变量内

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-5-27 21:49:28 | 只看该作者

怎样把生成的随机数存放在不同的变量内

怎样将生成的1000个随机数的和存放在x1到x10内使得1到100随机数的和存放到x1,,901到1000的随机数的和存放在x10内!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-5-27 22:55:21 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-5-28 00:17:31 | 只看该作者

Re: 怎样把生成的随机数存放在不同的变量内

to jiangyanhua
随机什么数啊?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-5-28 12:00:35 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-5-28 16:53:53 | 只看该作者

Re: 怎样把生成的随机数存放在不同的变量内

谢了啊!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-5-30 11:07:37 | 只看该作者

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;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 06:40 , Processed in 0.076477 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表