全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13557 15
2013-04-11

每年观看几次演出                       

1        2        3        4
                        1
        1               
        1               
1                       
        1               
                1       
                        1
1                       
1                       
                        1
                        1
                        1
        1               
                        1
                        1
                        1
                1       
        1               
                1       
        1               
                        1
我想把上面的4列合并成一列要怎么做?
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-11 09:40:52
如果是excel格式的数据,可以用&符号,比如公式“=C3&D3&E3”,就把这三列合并为一列了
二维码

扫码加我 拉你入群

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

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

2013-4-11 09:41:13
如果是excel格式的数据,可以用&符号,比如公式“=C3&D3&E3”,就把这三列合并为一列了
二维码

扫码加我 拉你入群

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

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

2013-4-11 09:54:48
data test;
input v1 v2 v3 v4;
datalines;
1 2 3 4
5 6 7 8
9 10 11 12
;run;

data test2;
   array v{*} v1-v4;
   set test;
    do i = 1 to dim(v);
        a = v(i);
        output;
        end;
        drop v1-v4 i;
run;

data test3;
    set test(keep=v1 rename=(v1=v))
         test(keep=v2 rename=(v2=v))
         test(keep=v3 rename=(v3=v))
         test(keep=v4 rename=(v4=v));
run;
二维码

扫码加我 拉你入群

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

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

2013-4-11 10:19:58
yongyitian 发表于 2013-4-11 09:54
data test;
input v1 v2 v3 v4;
datalines;
可能是我刚才没有表述清楚.这是一个问卷单选题,有四个选项.每个选项一列.我想把四列合并为一列.如
Q1
1
2
4
3
2
4
且这只是其中的一道题,还有好几十道题.我想到的方法是用if语句(如下),但感觉太笨了.似乎可以用宏语句但又不会,所以急需帮助!!
if Q0101=1 then Q01=1;
if Q0102=1 then Q01=2;
if Q0201=1 then Q02=1;
if Q0202=1 then Q02=2;
if Q0203=1 then Q02=3;
if Q0204=1 then Q02=4;
if Q0205=1 then Q02=5;
if Q0206=1 then Q02=6;
if Q0301=1 then Q03=1;
if Q0302=1 then Q03=2;
if Q0303=1 then Q03=3;
if Q0304=1 then Q03=4;
if Q041=1 then Q04=1;
if Q042=1 then Q04=2;
if Q043=1 then Q04=3;
if Q044=1 then Q04=4;
if Q045=1 then Q04=5;
if Q046=1 then Q04=6;
if Q051=1 then Q05=1;
if Q052=1 then Q05=2;
二维码

扫码加我 拉你入群

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

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

2013-4-11 10:35:29
data test;
input v1 v2 v3 v4;
datalines;
1 . . .
. 1 . .
. . 1 .
. . . 1
;run;

data test2;
  length result $40;
   array v{*} v1-v4;
   set test;
     do i = 1 to dim(v);
            if v(i) ^=. then do;
            call catt(result, "Q", _n_, "=", i);
         output;
          end;
     end;
    drop i v1-v4;
run;

proc print data=test2; run;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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