全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2428 6
2011-09-22
悬赏 20 个论坛币 已解决
sas数据表如下:

              id          citing_1            citing_2           citing_3
              1             11                     12                     13
              2             21                     22                     23


想变成如下格式:

              id              citing
              1                 11
              1                 12
              1                 13
              2                 21
              2                 22
              2                 23

请教大侠给编个程呗!

最佳答案

yugao1986 查看完整内容

data test; input id $ citing_1 citing_2 citing_3; cards; 1 11 12 13 2 21 22 23 ; proc transpose data=test out=new(drop=_: rename=(col1=citing)); by id; var citing_:; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2011-9-22 18:48:41
data test;
input id $  citing_1  citing_2  citing_3;
cards;
1 11 12 13
2 21 22 23
;
proc transpose data=test out=new(drop=_: rename=(col1=citing));
   by id;
   var citing_:;
run;
二维码

扫码加我 拉你入群

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

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

2011-9-23 06:05:29
If the name of the variables are not in a consequential way, you can use the following syntax:
data test;
input id $  citing_1  citing2a  citing2b;
cards;
1 11 12 13
2 21 22 23
;
proc sql;
select id, citing_1 from work.test
union all
select id, citing2a from work.test
union all
select id, citing2b from work.test;
二维码

扫码加我 拉你入群

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

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

2011-9-23 08:17:22
抱歉,再问一句哦!
如果citing_1中没有数据
例如: id     citing_1       citing_2       citing_3
          1                           12               13
          2         21               22               23
该怎么写命令啊?
二维码

扫码加我 拉你入群

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

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

2011-9-23 08:23:20
data test;
input id $  citing_1  citing_2  citing_3;
cards;
1  . 12 13
2 21 22 23
;
proc transpose data=test out=new(drop=_: rename=(col1=citing) where=(^missing(citing)));
   by id;
   var citing_:;
run;
二维码

扫码加我 拉你入群

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

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

2012-5-25 16:33:25
data a ;
input id c_1-c_3;
cards;
1 11 12 13
2 21 22 23
;
run;
data a1;
set a;
retain id;
array c_[*] c_1-c_3;
array x[*] x1-x3;
do i=1 to dim(c_);
        x[i]=c_[i];
        citing=x[i];
output;
end;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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