楼主: 踩云飞
2391 3

proc transpose 怎么实现这个效果 [推广有奖]

  • 0关注
  • 0粉丝

博士生

98%

还不是VIP/贵宾

-

威望
0
论坛币
53 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
35189 点
帖子
85
精华
0
在线时间
635 小时
注册时间
2010-3-8
最后登录
2021-9-22

楼主
踩云飞 发表于 2016-9-5 14:24:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
想实现如下数据集转置,用proc transpose该怎么写?

mon        day        amount        rate
2月        1日        36451.7        0.32696
3月        1日        23118.3        0.27308
2月        2日        45178.4        0.35271
3月        2日        29442.6        0.29395


转置成—>


day        2月_amount      2月_rate     3月_amount     3月_rate
1日        36451.7             0.32696        23118.3         0.27308
2日        45178.4             0.35271        29442.6         0.29395


二维码

扫码加我 拉你入群

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

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

关键词:Transpose Trans pose ans POS amount

沙发
wwang111 发表于 2016-9-5 21:11:59
proc sort data=test;
by day mon;
run;

proc transpose data=test out=trans1(drop=_name_) prefix=amount_;
by day;
var amount;
id mon;
run;

proc transpose data=test out=trans2(drop=_name_) prefix=rate_;
by day;
var rate;
id mon;
run;

data wanted;
merge trans1 trans2;
  by day;
run;

藤椅
城管的惊叹 发表于 2016-9-6 14:35:15
楼上正解

板凳
踩云飞 发表于 2016-9-7 10:44:45
wwang111 发表于 2016-9-5 21:11
proc sort data=test;
by day mon;
run;
谢谢!看来如果变量较多的话也只能手动转置多次再merge咯?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 01:34