楼主: priss111
1302 0

[原创博文] 请问如何用数组将某变量拆分成N个二分类(0-1)变量?谢谢! [推广有奖]

  • 0关注
  • 5粉丝

已卖:9份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
47.5396
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
14935 点
帖子
472
精华
0
在线时间
808 小时
注册时间
2008-3-30
最后登录
2025-3-17

楼主
priss111 发表于 2012-6-19 15:38:26 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
说明:  变量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;
二维码

扫码加我 拉你入群

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

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

关键词:二分类 如何用 SUBSTR field 0-1变量 如何

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 10:08