楼主: dddyiersan
13527 15

求组:多列数据合并一列,怎么操作? [推广有奖]

  • 4关注
  • 2粉丝

高中生

15%

还不是VIP/贵宾

-

威望
0
论坛币
-5 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1391 点
帖子
17
精华
0
在线时间
31 小时
注册时间
2013-1-8
最后登录
2014-5-5

楼主
dddyiersan 发表于 2013-4-11 09:30:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

每年观看几次演出                       

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列合并成一列要怎么做?
二维码

扫码加我 拉你入群

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

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

关键词:数据合并 怎么操作 怎么做 演出

沙发
xueyinchina 发表于 2013-4-11 09:40:52
如果是excel格式的数据,可以用&符号,比如公式“=C3&D3&E3”,就把这三列合并为一列了
心有多大,舞台就有多大。

藤椅
xueyinchina 发表于 2013-4-11 09:41:13
如果是excel格式的数据,可以用&符号,比如公式“=C3&D3&E3”,就把这三列合并为一列了
已有 1 人评分热心指数 信用等级 收起 理由
mzyoung + 1 + 1 精彩帖子

总评分: 热心指数 + 1  信用等级 + 1   查看全部评分

心有多大,舞台就有多大。

板凳
yongyitian 发表于 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;

报纸
dddyiersan 发表于 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;

地板
yongyitian 发表于 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;

7
chaosxiao 发表于 2013-4-11 10:43:49
data test;
input v1 v2 v3 v4;
IF V1^=. THEN V=V1;ELSE IF V2^=. THEN V=V2;ELSE IF V3^=. THEN V=V3;ELSE V=V4;
DROP V1 V2 V3 V4;
datalines;
1 . . .
. 1 . .
. . 1 .
. . . 1
;run;

8
Eternal0601 发表于 2013-4-11 12:26:44
yongyitian 发表于 2013-4-11 10:35
data test;
input v1 v2 v3 v4;
datalines;
貌似 output语句应该放在 end语句 跟 drop语句 中间

9
Eternal0601 发表于 2013-4-11 12:33:34
Eternal0601 发表于 2013-4-11 12:26
貌似 output语句应该放在 end语句 跟 drop语句 中间
不好意思,没问题,是我数据集弄错了

10
suizh 发表于 2013-4-11 23:42:49
data a;
input x1 1-2  x2 3-10 x3 11-19  x4 20-28 ;
cards;
                       1
        1               
        1               
1                        
        1               
                1        
                        1
1                        
1                        
                        1
                        1
                        1
        1               
                        1
                        1
                        1
                1        
        1               
                1        
        1               
                        1

;
run;
data a;
set a;
if x1=1 then x1=1;
if x2=1 then x2=2;
if x3=1 then x3=3;
if x4=1 then x4=4;
x=sum(of x1-x4);
run;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-19 22:04