全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1277 0
2012-06-19
说明:  变量field24是某问卷中一多选题结果(有8个选项),
现想将field24拆分成8个类似‘单选’的二分类变量(0-1变量),
已用substr函数提取并生成最终想要的 SerumTestPoup11-SerumTestPoup88 这8个变量,
请问能否用数组或者其他方式来实现?
谢谢!

变量field24中的部分数据:
FIELD24
1234678    13457    12467    12347    1    123457    12347    123457    68    12347    134    1345    12347    12348    1347    123457    1347    2347    12345    12347    7    12347    138    47    8    27    1345    12347    1234567    23478    12347    1234    123457    123457    123467    123478  





生成 SerumTestPoup11-SerumTestPoup88的code如下:
data  bb1;
    set bb;
        SerumTestPoup1 = substr(field24,1,1);         
        SerumTestPoup2 = substr(field24,2,1);
        SerumTestPoup3 = substr(field24,3,1);
        SerumTestPoup4 = substr(field24,4,1);
        SerumTestPoup5 = substr(field24,5,1);
        SerumTestPoup6 = substr(field24,6,1);
        SerumTestPoup7 = substr(field24,7,1);
        SerumTestPoup8 = substr(field24,8,1);
                if SerumTestPoup1 = '1' then SerumTestPoup11='1';
                else if SerumTestPoup1 = '2' then SerumTestPoup22='1';
                else if SerumTestPoup1 = '3' then SerumTestPoup33='1';
                else if SerumTestPoup1 = '4' then SerumTestPoup44='1';
                else if SerumTestPoup1 = '5' then SerumTestPoup55='1';        
                else if SerumTestPoup1 = '6' then SerumTestPoup66='1';
                else if SerumTestPoup1 = '7' then SerumTestPoup77='1';
                else if SerumTestPoup1 = '8' then SerumTestPoup88='1';

                if SerumTestPoup2 = '2' then SerumTestPoup22='1';
                else if SerumTestPoup2 = '3' then SerumTestPoup33='1';
                else if SerumTestPoup2 = '4' then SerumTestPoup44='1';
                else if SerumTestPoup2 = '5' then SerumTestPoup55='1';        
                else if SerumTestPoup2 = '6' then SerumTestPoup66='1';
                else if SerumTestPoup2 = '7' then SerumTestPoup77='1';
                else if SerumTestPoup2 = '8' then SerumTestPoup88='1';

                if SerumTestPoup3 = '3' then SerumTestPoup33='1';
                else if SerumTestPoup3 = '4' then SerumTestPoup44='1';
                else if SerumTestPoup3 = '5' then SerumTestPoup55='1';
                else if SerumTestPoup3 = '6' then SerumTestPoup66='1';        
                else if SerumTestPoup3 = '7' then SerumTestPoup77='1';
                else if SerumTestPoup3 = '8' then SerumTestPoup88='1';

                if SerumTestPoup4 = '4' then SerumTestPoup44='1';
                else if SerumTestPoup4 = '5' then SerumTestPoup55='1';
                else if SerumTestPoup4 = '6' then SerumTestPoup66='1';
                else if SerumTestPoup4 = '7' then SerumTestPoup77='1';        
                else if SerumTestPoup4 = '8' then SerumTestPoup88='1';

                if SerumTestPoup5 = '5' then SerumTestPoup55='1';
                else if SerumTestPoup5 = '6' then SerumTestPoup66='1';
                else if SerumTestPoup5 = '7' then SerumTestPoup77='1';        
                else if SerumTestPoup5 = '8' then SerumTestPoup88='1';

                if SerumTestPoup6 = '6' then SerumTestPoup66='1';
                else if SerumTestPoup6 = '7' then SerumTestPoup77='1';        
                else if SerumTestPoup6 = '8' then SerumTestPoup88='1';

                if SerumTestPoup7 = '7' then SerumTestPoup77='1';        
                else if SerumTestPoup7 = '8' then SerumTestPoup88='1';

            if SerumTestPoup8 = '8' then SerumTestPoup88='1';

        run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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