全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4585 2
2016-12-10
悬赏 90 个论坛币 未解决
求助,本人SAS新手。问题是这样的。举个例子 :数据集DATA1:
NAME 状态A 状态B 状态C 状态D
a          y        n        n       y
b          n        n        y       n
c          n        n        n       n
……

数据集DATA2:
NAME  状态A 状态B 状态C 状态D 观测值
a           n        n       n      n           20
a           n       n        n      y            15
a           n       n        y      y            30
a           n       y        n     n             39
……
b           n        n       n      n           20
b           n       n        n      y            15
b          n       n        y      y            30
b         n       y        n     n             39

……

如何根据DATA1中的观测a(b,c,d……)的条件,比如DATA1第一条观测 a         y        n        n       y,筛选出DATA2中观测值。
由于数据量大,我不明白的就是如何自动读取DATA1中的条件,然后去匹配DATA2中符合条件的观测的观测值。
谢谢各位大佬帮忙!!!!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2016-12-10 16:03:40
dingshangqu!!!!!!!!!!
二维码

扫码加我 拉你入群

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

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

2016-12-11 21:55:04
是根据数据集A中的状态b,c,d去筛选数据集B中的数据吗?  
可以用PROC SQL实现:
data a;
input name $2. statusA $2. statusB $2. statusC $2. statusD $2.;
cards;
a y n n y
b n n y n
c n n n n
;
run;

data b;
input name $2. statusA $2. statusB $2. statusC $2. statusD $2. value;
cards;
a n n n n 20
a n n n y 15
a n n y y 30
a n y n n 39
b n n n n 20
b n n n y 15
b n n y y 30
b n y n n 39
;
run;

proc sql;
select *
from b
where exists (
select 1 from a
where a.statusB=b.statusB
and a.statusC=b.statusC
and a.statusD=b.statusD
);
run;
  
  
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群