全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1320 4
2012-11-06
求教大师和前辈如下现数据:
x y
1 23
1 76
1 67
1 68
2 14
2 47
2 77
2 56
3 15
3 97
3 96
3 67

想要变成
x y1 y2 y3 y4
1 23 76 67 68
2 14 47 77 56
3 15 97 96 67

求教大神帮助!谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-6 20:52:33
data test;
  input x $ y;
  cards;
1 23
1 76
1 67
1 68
2 14
2 47
2 77
2 56
3 15
3 97
3 96
3 67
;

proc transpose data=test out=test1(drop=_name_) prefix=y;
    by x;
        var y;
run;
二维码

扫码加我 拉你入群

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

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

2012-11-15 23:17:21
data test;
  input x $ y;
  cards;
1 23
1 76
1 67
1 68
2 14
2 47
2 77
2 56
3 15
3 97
3 96
3 67
;
run;
proc transpose data=test out=test1;
by x;
run;
proc print data=test1;
run;
二维码

扫码加我 拉你入群

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

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

2012-12-29 11:51:35
redbaby_jia 发表于 2012-11-15 23:17
data test;
  input x $ y;
  cards;
大谢~~太有用了!
二维码

扫码加我 拉你入群

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

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

2012-12-29 12:57:13
或者直接在data 步里用DO +ARRAY.

data test;
  input x $ y;
  cards;
1 23
1 76
1 67
1 68
2 14
2 47
2 77
2 56
3 15
3 97
3 96
3 67
;

data want(drop=i yy);
retain  x y1-y4;
   array y[4];
   do i=1 to 4;
     set test(rename =(y=yy));
         y[i]=yy;
        end;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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