全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1061 4
2016-01-03
XE9WYRZ7PYO]O(X6OJ`%Z(J.png ZN~0ME%{5L{I4%MAV2Y@YHY.png 55A20@{{O1EO$SQPK(YFHB4.png
这里有三张图,我要根据sex的取值,如果sex=1 ,然后就取图1的symptom并去除掉存在在图2里的symptom
如果sex=0 ,然后取图1中symptom并去除掉存在在图3里的symptom,望大神指教
二维码

扫码加我 拉你入群

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

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

全部回复
2016-1-4 09:56:08
复制代码
二维码

扫码加我 拉你入群

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

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

2016-1-4 10:28:36
孤单的我们 发表于 2016-1-4 09:56
麻烦您解释一下您的基本思路吗。
二维码

扫码加我 拉你入群

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

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

2016-1-4 10:28:40
孤单的我们 发表于 2016-1-4 09:56
麻烦您解释一下您的基本思路吗。
二维码

扫码加我 拉你入群

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

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

2016-1-4 10:53:39
if sex=1 then set two(rename=(symptom=sym));
if sex=0 then set three(rename=(symptom=sym));
*根据sex=0或1把symptom重命名后,拼接进去;
do i=1 to (count(sym,",")+1);
*根据逗号的个数+1 判断sym中有几串字符,将这些字符串进入循环逐个判断替换;
if count(symptom,scan(sym,i,",")) then do;
*如果symptom中,出现了sym的第i个字符;
if i< count(sym,",")+1 then symptom=strip(tranwrd(symptom,scan(sym,i,",")||",",""));
else if i=count(sym,",")+1 then  symptom=strip(tranwrd(symptom,","||scan(sym,i,","),""));
*首尾的情况不同,分别处理。尾部替换的是",小狗",前面替换的是"小狗,"。注:此处有一点小bug,如果倒数第二个字符已经替换,最后一个字符应该替换"小狗"而非",小狗";
*tranwrd():字符替换函数;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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