全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7060 3
2012-05-10
未命名.jpg

想在表中插入一列,如图“识别”,对家庭进行识别:
如果一个家庭的成员特征,只存在1、3两种类型,那么这个家庭的所有人的识别特征都为:A,比如家庭2;
如果一个家庭的成员特征,只存在1、3、5三种类型,那么这个家庭所有人的特征都识别为:B,比如家庭3
其他不论什么组合,都识别为C,比如家庭1。

请教高手,该怎么在SAS中实现,在下叩谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-5-11 00:07:47
我大致写了一个程序,你看看对不对,希望对你有帮助。
data work.a;
        input jia $ id $ tezheng;
        datalines;
1 1 0
1 2 1
1 3 -1
2 1 1
2 2 3
2 3 3
3 1 1
3 2 3
3 3 5
3 4 1
;
run;

proc sort data = work.a out = work.b;
        by jia tezheng;
run;

data work.c(keep = jia shibie);
        set work.b;
        if tezheng <= 0 then do;
                shibie = 'c';
        end;else if tezheng = 1 or tezheng = 3 then do;
                shibie = 'a';
        end;else if tezheng = 5 then do;
                shibie = 'b';
        end;else do;
                shibie = 'c';
        end;
run;

proc sort data = work.c;
        by jia shibie;
run;

data work.c;
        set work.c;
        by jia shibie;
        if last.jia;
run;

proc sql noprint;
        create table work.d as
                select a.jia,
                        a.id,
                        a.tezheng,
                        b.shibie
                from work.a as a ,work.c as b
                where a.jia = b.jia;
quit;
二维码

扫码加我 拉你入群

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

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

2012-6-5 23:03:45
chendonghui1987 发表于 2012-5-11 00:07
我大致写了一个程序,你看看对不对,希望对你有帮助。
data work.a;
        input jia $ id $ tezheng;
非常感谢!我试试看哈
二维码

扫码加我 拉你入群

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

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

2012-6-6 22:44:54
沙发的程序是错误的。可以多用几个ID测试一下。Try this code:
复制代码
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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