楼主: edragon1983
1011 3

[有偿编程] sas数据集转换(举例如下,实际数据集行数很多) [推广有奖]

  • 0关注
  • 0粉丝

讲师

15%

还不是VIP/贵宾

-

威望
0
论坛币
5143 个
通用积分
7.8889
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
7801 点
帖子
217
精华
0
在线时间
417 小时
注册时间
2007-8-29
最后登录
2024-4-11

100论坛币
idx
1a1
2
3
4b2
5
6
7b2
8
9yyy7
10
11
12
13ii100
14
15
变换成如下格式
ida1b2yyy7ii100
11000
20000
30000
40100
50000
60000
70100
80000
90010
100000
110000
120000
130001
140000
150000

最佳答案

lyfyb99 查看完整内容

data test; infile cards missover; input id x$; cards; 1 a1 2 3 4 b2 5 6 7 b2 8 9 yyy7 10 11 12 13 ii100 14 15 ; run; data test1; set test ; if x ne '' then aval=1; run; proc transpose data=test1 out=test2(drop=_name_); by id; id x; var aval; run; data test3; set test2; array a(*) _numeric_; do i=1 to dim(a); if a(i)=. then a(i)=0; ...
关键词:000060 000701 000401 300004 000070

本帖被以下文库推荐

沙发
lyfyb99 在职认证  发表于 2019-1-4 10:57:43 |只看作者 |坛友微信交流群

data test;
infile cards missover;
input id x$;
cards;
1 a1
2  
3  
4 b2
5  
6  
7 b2
8  
9 yyy7
10  
11  
12  
13 ii100
14  
15  
;
run;

data test1;
set test ;
if x ne '' then aval=1;
run;

proc transpose data=test1 out=test2(drop=_name_);
by id;
id x;
var aval;
run;

data test3;
set test2;
array a(*) _numeric_;
do i=1 to dim(a);
if a(i)=. then a(i)=0;
end;
drop  i;
run;

使用道具

data a;
infile cards missover;
input id x$;
if x="a1" then a1=1;else a1=0;
if x="b2" then b2=1;else b2=0;
if x="yyy7" then yyy7=1;else yyy7=0;
if x="ii100" then ii100=1;else ii100=0;
drop x;
cards;
1 a1
2  
3  
4 b2
5  
6  
7 b2
8  
9 yyy7
10  
11  
12  
13 ii100
14  
15  
;
run;
proc print data=a;
run;

结果:
--------------------------------------------------------------------------------
The SAS System


Obs id a1 b2 yyy7 ii100
1 1 1 0 0 0
2 2 0 0 0 0
3 3 0 0 0 0
4 4 0 1 0 0
5 5 0 0 0 0
6 6 0 0 0 0
7 7 0 1 0 0
8 8 0 0 0 0
9 9 0 0 1 0
10 10 0 0 0 0
11 11 0 0 0 0
12 12 0 0 0 0
13 13 0 0 0 1
14 14 0 0 0 0
15 15 0 0 0 0

使用道具

板凳
edragon1983 发表于 2019-1-10 15:04:40 |只看作者 |坛友微信交流群
谢谢各位的帮助!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 20:27