全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3266 4
2014-11-27
求教各位专家:SAS里如何求一列里的每一行是否含有另一列的任意一行的字符。有点绕,意思是我有以下A、B两列:
A             B
101          0
102          1
898          2
104          3
675          4
求A中的第一行101是否含有B中包含的0或者1或者2或者3或者4,有则C为1,无为0;A中的第二行102是否含有0或者1或者2或者3或者4,有则C为1,无为0。。。。以此类推生成以下:
A             B             C
101          0             1
102          1             1
898          2             0
104          3             1
675          4             0
有些麻烦,衷心感谢帮助!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2014-11-27 22:11:36
proc sql;
     select distinct  b  into :chkvar separated by ''
     from yourdata;
quit;
data yourdata;
        set yourdata;
        if prxmatch("/[&chkvar]/",a) then c=1;
       else c=0;
run;
二维码

扫码加我 拉你入群

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

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

2014-11-27 23:03:15
data aa(drop=a1 b1);
input a b;
a1=put(a,3.);
b1=put(b,1.);
c=(index(a1,b1)>0);
cards;
101          0
102          1
898          2
103          3
675          4
;
二维码

扫码加我 拉你入群

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

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

2014-11-28 20:27:21
真的非常非常感谢!
二维码

扫码加我 拉你入群

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

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

2017-3-20 15:20:18
teqel 发表于 2014-11-27 23:03
data aa(drop=a1 b1);
input a b;
a1=put(a,3.);
这段程序有问题。“另一列的任意一行”。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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