楼主: a252693398
875 4

求一段程序,请大神们指教。 [推广有奖]

  • 1关注
  • 0粉丝

大专生

83%

还不是VIP/贵宾

-

威望
0
论坛币
3 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
16638 点
帖子
31
精华
0
在线时间
89 小时
注册时间
2012-7-30
最后登录
2020-12-30

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. data a ;
  2.         input a b c n;
  3. cards;
  4. 1 2 3 1
  5. 2 1 3 2
  6. 2 5 7 4
  7. 3 5 4 6
  8. 4 5 6 7
  9. ;
  10. run;
  11. data b;
  12.         input a b c n;
  13. cards;
  14. 1 2 3 1
  15. 2 1 3 2
  16. 2 1 5 3
  17. 2 5 7 4
  18. 2 3 4 5
  19. 3 5 4 6
  20. 4 5 6 7
  21. ;
  22. run;
复制代码
请问如何才能出现下面的数据集1 2 3 1
2 1 3 2
.  .  .  3
2 5 7 4
. . .    5
3 5 4 6
4 5 6 7
二维码

扫码加我 拉你入群

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

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

关键词:cards Input card Data Run 程序

已有 1 人评分经验 收起 理由
crackman + 100 鼓励积极发帖讨论

总评分: 经验 + 100   查看全部评分

沙发
yongyitian 发表于 2014-1-13 12:18:39 |只看作者 |坛友微信交流群
  1. data _null_;
  2. if _n_ = 1 then do;
  3.      declare hash h(dataset: 'a', ordered: 'Yes');
  4.          h.definekey('n');
  5.          h.definedata('a', 'b', 'c', 'n');
  6.          h.definedone();
  7. end;
  8. do until(last);
  9.      set b end=last;
  10.     rc = h.find();
  11.         if rc ^= 0 then do;
  12.            call missing(a, b, c);
  13.            rc = h.add();
  14.         end;
  15.   end;
  16.   rc=h.output(dataset: 'c');
  17. run;
复制代码
已有 1 人评分经验 收起 理由
crackman + 100 热心帮助其他会员

总评分: 经验 + 100   查看全部评分

使用道具

藤椅
a252693398 发表于 2014-1-13 12:20:24 |只看作者 |坛友微信交流群
yongyitian 发表于 2014-1-13 12:18
谢谢

使用道具

板凳
zhengbo8 发表于 2014-1-13 12:33:55 |只看作者 |坛友微信交流群
Hash表很好,但是太大材小用了。

可以merge实现。
  1.     data a ;
  2.             input a b c n;
  3.     cards;
  4.     1 2 3 1
  5.     2 1 3 2
  6.     2 5 7 4
  7.     3 5 4 6
  8.     4 5 6 7
  9.     ;
  10.     run;
  11.     data b;
  12.             input a b c n;
  13.     cards;
  14.     1 2 3 1
  15.     2 1 3 2
  16.     2 1 5 3
  17.     2 5 7 4
  18.     2 3 4 5
  19.     3 5 4 6
  20.     4 5 6 7
  21.     ;
  22.     run;

  23. proc sort data=a; by n a b c;run;
  24. proc sort data=b; by n a b c;run;

  25. data c;
  26.         merge a(in=ina) b(in=inb);
  27.         by n a b c;
  28.         if not ina and inb then call missing(a,b,c);
  29. run;
复制代码
已有 1 人评分经验 收起 理由
crackman + 100 热心帮助其他会员

总评分: 经验 + 100   查看全部评分

使用道具

报纸
a252693398 发表于 2014-1-15 13:17:18 |只看作者 |坛友微信交流群
zhengbo8 发表于 2014-1-13 12:33
Hash表很好,但是太大材小用了。

可以merge实现。
thanks

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 09:15