楼主: 右手悠
3165 3

求助:某个变量的观测值是否存在于另一数据集某变量的观测中。 [推广有奖]

  • 1关注
  • 0粉丝

初中生

90%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
162 点
帖子
6
精华
0
在线时间
31 小时
注册时间
2015-4-18
最后登录
2016-9-21

楼主
右手悠 发表于 2016-3-31 09:54:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现在有两个数据集A,B,A中含有目标数据,B中是一个集合的数据,匹配A中每个数据是否存在于B中变量y下的某个观测,如果存在则在数据集A中输出变量c=1,不存在则c=0。data A;
input x score$;
1301111 df
1301112 dc
1301113 df
1301114 dv
;
run;
data B;
input y;
1301110
1301112
1301113
1311111
1342131
1351111
1373231
;
run;
由于数据量较为庞大,上面是举的例子,希望大牛能系统的处理,求助中ing。。。
二维码

扫码加我 拉你入群

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

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

关键词:观测值 数据集 Input score Data sas 数据集 匹配 观测

沙发
右手悠 发表于 2016-3-31 11:16:00
大牛们求助!!!

藤椅
孤单的我们 发表于 2016-3-31 13:00:01
hash方法抛砖引玉,我不太懂hash,sas help里套用的
  1. data A;
  2.         input x score$;
  3. cards;
  4. 1301111 df
  5. 1301112 dc
  6. 1301113 df
  7. 1301114 dv
  8. ;
  9. run;
  10. data B;
  11. input y;
  12. cards;
  13. 1301110
  14. 1301112
  15. 1301113
  16. 1311111
  17. 1342131
  18. 1351111
  19. 1373231
  20. ;
  21. run;

  22. data b(rename=(y=x));
  23.     if _N_ EQ 1 then do;
  24.           declare hash h(dataset: 'b');
  25.             h.defineKey('y');
  26.             h.defineData('y');
  27.             h.defineDone();
  28.     end;
  29.     set a(rename=(x=y));
  30.            rc =h.find();
  31.            if rc=0 then c=1;
  32.                    else c=0;
  33.         keep y score c;
  34. run;
复制代码

板凳
右手悠 发表于 2016-3-31 14:21:14
孤单的我们 发表于 2016-3-31 13:00
hash方法抛砖引玉,我不太懂hash,sas help里套用的
相当给力!虽然不太懂中间的东西,不过总算处理完了一个任务。谢谢!!

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

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