楼主: pinggu2688
1883 8

[原创博文] 求助高手如何使用transport旋转实现这样的数据 [推广有奖]

  • 2关注
  • 0粉丝

博士生

6%

还不是VIP/贵宾

-

威望
0
论坛币
40 个
通用积分
40.2335
学术水平
1 点
热心指数
3 点
信用等级
1 点
经验
3113 点
帖子
166
精华
0
在线时间
103 小时
注册时间
2009-11-12
最后登录
2024-8-28

楼主
pinggu2688 发表于 2012-1-23 03:47:13 |AI写论文
30论坛币
有一个数据是这样:

id 身高 体重
A  180  56
B  167  49
C  171  51
D  160  50
E  173  51
现在需要旋转成如下形式:

A身高  A体重  B身高  B体重  C身高  C体重 D身高 D体重  E身高 E体重
180       56     167       49       171      51     160      50      173      51

如何做到?

多谢

关键词:Transport Trans Sport 如何使用 求助高手 transport 如何

沙发
wh_wing 发表于 2012-1-25 11:21:45
楼主您好,我觉得可能你可以用一下tabulate过程!

data temp;
input id $ height weight;
cards;
A  180  56
B  167  49
C  171  51
D  160  50
E  173  51
;

proc tabulate data=temp ;
class id height weight;
table id*(height weight);
run;

捕获.JPG (44.77 KB)

捕获.JPG

已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
pinggu2688 + 1 + 1 + 1 热心帮助其他会员
crackman + 100 鼓励积极发帖讨论

总评分: 经验 + 100  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
maidenhan 发表于 2012-1-26 01:21:49
Here's one way in Proc Transpose.

data test01_w(drop = h)
          test01_h(drop = w);
        input id $ h w @@;
cards;
A  180  56
B  167  49
C  171  51
D  160  50
E  173  51
;run;
data test01_w(drop = id);
        set test01_w(rename=(w=val));
        _id = compress(id||'_w');
run;
data test01_h(drop = id);
        set test01_h(rename=(h=val));
        _id = compress(id||'_h');
run;
data test01;
        set test01_w
                test01_h;
run;
proc sort data = test01;
        by _id;
run;
proc transpose data = test01 out = test02(drop = _NAME_);
        id _id;
run;
已有 1 人评分经验 收起 理由
crackman + 80 鼓励积极发帖讨论

总评分: 经验 + 80   查看全部评分

板凳
iRoss2007 在职认证  学生认证  发表于 2012-1-26 22:48:38
做个总结吧,如果proc的结果只用来看,那么是2楼的方法简单;如果转置后的结果需要进一步加工,那么必须得用3楼的方法,因为tabulate过程用ods输出成数据集的话形式就和所要求的形式不符了。
文(伪)科(码)男(农), 弹幕爱好者,微软脑残粉,萧亚轩脑残

报纸
pinggu2688 发表于 2012-1-26 23:14:33
难道transpose不能转2列数据?(把2列数据,也就是、身高体重捆绑一起用id旋转)?

地板
zkymath 在职认证  发表于 2012-1-28 21:16:42
学习了

7
goldbaodi 发表于 2012-1-29 00:33:48
--GOOD--

8
fxf258 发表于 2012-1-29 12:02:26
学习了,谢谢!
海象

9
pinggu2688 发表于 2012-1-30 23:08:36
先要感谢maidenhan的方法和帮助,还要继续求助,有没有更好的方法使用transpose呢?

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

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