楼主: lucyber
10456 4

[原创博文] SAS二维数组赋值 [推广有奖]

  • 0关注
  • 1粉丝

已卖:244份资源

博士生

8%

还不是VIP/贵宾

-

威望
0
论坛币
1668 个
通用积分
0.0600
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
465 点
帖子
55
精华
0
在线时间
387 小时
注册时间
2010-4-25
最后登录
2016-6-3

楼主
lucyber 发表于 2010-9-18 22:05:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请问如果我有一张100×100的SAS数据集的表。我现在想用二维数组对表中大于某个阈值的数进行定位,例如array[j]>alpha,则输出i,j。我的问题是如何将表中的数据表达到二维数组中,例如array a{100,100}  a(1,1)-a(100,100) 后面的值应该怎么赋予,不要告诉小弟一个个手输。
希望高手可以指点一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:sas数据集 array Alpha 我的问题 ARR 数据表 如何

沙发
bobguy 发表于 2010-9-19 12:20:17
lucyber 发表于 2010-9-18 22:05
请问如果我有一张100×100的SAS数据集的表。我现在想用二维数组对表中大于某个阈值的数进行定位,例如array[j]>alpha,则输出i,j。我的问题是如何将表中的数据表达到二维数组中,例如array a{100,100}  a(1,1)-a(100,100) 后面的值应该怎么赋予,不要告诉小弟一个个手输。
希望高手可以指点一下。
Here is an example for a 10 by 10 case.

data t1;
array x(*) x1 - x10;
  do i = 1 to 10;
     do j=1 to 10;
        x(j)=ceil(ranuni(123)*10);
     end;
    output;
  end;
  drop i j;
run;

proc print; run;

data X_LE_9;
  set t1;
  array x(*)  x1-x10;
  i+1;
  do j=1 to dim(x);
      if x(j) >=9 then do;
           x_le_9=x(j);
           output;
     end;
  end;
  keep i j     x_le_9;
run;

proc print; run;

藤椅
maidenhan 发表于 2010-9-19 15:00:19
引用楼上的一段程序,后面是我的方法。

data t1;
array x(*) x1 - x10;
  do i = 1 to 10;
     do j = 1 to 10;
        x(j) = ceil( ranuni(123) * 10 );
     end;
    output;
  end;
  drop i j;
run;

data t2;
        array m{10,10} _temporary_;
        retain m;
        set t1 end=eof;
        array temp{10} x1-x10;
        i + 1;
        do j = 1 to 10;
                m{i,j} = temp{j};
        end;
        if eof then do;
                do i = 1 to 10;
                                put m{i,1} m{i,2} m{i,3} m{i,4} m{i,5} m{i,6} m{i,7} m{i,8} m{i,9} m{i,10};
                end;
        end;
run;

板凳
jolterheadmmtt 发表于 2014-2-11 11:36:30
mark

报纸
jolterheadmmtt 发表于 2014-2-11 12:02:49
bobguy 发表于 2010-9-19 12:20
Here is an example for a 10 by 10 case.

data t1;
你好,我试了一下程序,但不知道为什么换了10,换成其他的数竟然不能运行,是怎么回事啊,请教!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 04:38