4123 3

[问答] sas 多行转一行多列 [推广有奖]

  • 0关注
  • 0粉丝

小学生

28%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
63 点
帖子
2
精华
0
在线时间
9 小时
注册时间
2016-5-21
最后登录
2023-9-5

楼主
丁小白喵喵喵 发表于 2019-7-10 14:23:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币




图一变成图二,当有行和列都有无数条的时候 有什么简单的办法

no

时间

a

b

c

d

1

m1

1

2

2

2

1

m2

2

3

3

4

1

m3

2

3

4

5

1

m4

1

2

1

2

2

m1

1

2

2

2

2

m2

2

3

3

4

2

m3

2

3

4

5

3

m1

1

2

2

2

3

m2

2

3

3

4

3

m3

2

3

4

5

3

m4

1

2

1

2



no

m1_a

m2_a

m3_a

m4_a

m1_b

m2_b

m3_b

m4_b

m1_c

m2_c

m3_c

m4_c

m1_d

m2_d

m3_d

m4_d

1

1

2

2

1

2

3

3

2

2

3

4

1

2

4

5

2

2

1

2

2

2

3

3

2

3

4

2

4

5

3

1

2

2

1

2

3

3

2

2

3

4

1

2

4

5

2


二维码

扫码加我 拉你入群

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

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

关键词:ABCD ABC

沙发
CTR1013 发表于 2019-7-11 21:40:37
这种一般有两种方法,比较简单的是transpose过程,这种代码量比较小,你自己在帮助里搜一下吧;另一种是data步里面用retain语句,这种复杂些,代码量比较大,但是可以同时做比较多的处理。

藤椅
glmswufe 发表于 2019-7-12 10:33:41
使用transpose和merge
data test;
input no time $  a b c d;
format time $ 2.;
cards;
1 m1 1 2 2 2
1 m2 2 3 3 4
1 m3 2 3 4 5
1 m4 1 2 1 2
2 m1 1 2 2 2
2 m2 2 3 3 4
2 m3 2 3 4 5
3 m1 1 2 2 2
3 m2 2 3 3 4
3 m3 2 3 4 5
3 m4 1 2 1 2
;
run;
proc transpose data=test out=testa(drop=_name_) prefix=a_;
by no;
id time;
var a;
run;
proc transpose data=test out=testb(drop=_name_) prefix=b_;
by no;
id time;
var b;
run;
proc transpose data=test out=testc(drop=_name_)  prefix=c_;
by no;
id time;
var c;
run;
proc transpose data=test out=testd(drop=_name_)  prefix=d_;
by no;
id time;
var d;
run;
data result;
merge testa testb testc testd;
by no;
run;


板凳
丁小白喵喵喵 发表于 2019-7-12 16:16:28
CTR1013 发表于 2019-7-11 21:40
这种一般有两种方法,比较简单的是transpose过程,这种代码量比较小,你自己在帮助里搜一下吧;另一种是dat ...
retain的方法 能说下思路嘛

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

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